71 lines
1.7 KiB
Lua
71 lines
1.7 KiB
Lua
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 |