Include Blizzard_APIDocumentation and Search API Button to Code Editor with Wrath Classic Data (#57)

This commit is contained in:
NoM0Re
2025-07-05 19:08:53 +02:00
committed by GitHub
parent ad68aa2f97
commit 0971189346
319 changed files with 47180 additions and 18 deletions
+71
View File
@@ -0,0 +1,71 @@
local addonName, Private = ...
TablesAPIMixin = Private.CreateFromMixins(BaseAPIMixin);
function TablesAPIMixin:GetParentName()
if self.System then
return self.System:GetName();
end
return "";
end
function TablesAPIMixin:GetType()
return "table";
end
function TablesAPIMixin:GetPrettyType()
return self.Type:lower();
end
function TablesAPIMixin:GetLinkHexColor()
return "55ffdd";
end
function TablesAPIMixin:GetFullName() -- override
if self.Type == "Enumeration" then
return ("Enum.%s"):format(self:GetName());
end
return BaseAPIMixin.GetFullName(self);
end
function TablesAPIMixin:MatchesSearchString(searchString)
if self:GetLoweredName():match(searchString) then
return true;
end
if self:MatchesAnyDocumentation(searchString) then
return true;
end
if self:MatchesAnyAPI(self.Fields, searchString) then
return true
end
return false;
end
function TablesAPIMixin:GetDetailedOutputLines()
local lines = {};
table.insert(lines, self:GetSingleOutputLine());
self:AddSystemTag(lines);
self:AddDocumentationTags(lines);
if self.Fields then
if self.Type == "Enumeration" then
table.insert(lines, APIDocumentation:GetIndentString() .. "Num Values: " .. self.NumValues);
table.insert(lines, APIDocumentation:GetIndentString() .. "Min Value: " .. self.MinValue);
table.insert(lines, APIDocumentation:GetIndentString() .. "Max Value: " .. self.MaxValue);
table.insert(lines, APIDocumentation:GetIndentString() .. "Values");
else
table.insert(lines, APIDocumentation:GetIndentString() .. "Fields");
end
for i, fieldInfo in ipairs(self.Fields) do
table.insert(lines, APIDocumentation:GetIndentString(2) .. fieldInfo:GetSingleOutputLine());
end
end
return lines;
end