diff --git a/esoui/libraries/zo_parametricscrolllist/zo_parametricscrolllist.lua b/esoui/libraries/zo_parametricscrolllist/zo_parametricscrolllist.lua
index f15b054..0b5b4af 100755
--- a/esoui/libraries/zo_parametricscrolllist/zo_parametricscrolllist.lua
+++ b/esoui/libraries/zo_parametricscrolllist/zo_parametricscrolllist.lua
@@ -96,15 +96,19 @@ function ZO_ParametricScrollList:HasDataTemplate(templateName)
return self.dataTypes[templateName] ~= nil
end
-function ZO_ParametricScrollList:AddDataTemplate(templateName, setupFunction, parametricFunction, equalityFunction, controlPoolPrefix)
+function ZO_ParametricScrollList:AddDataTemplate(templateName, setupFunction, parametricFunction, equalityFunction, controlPoolPrefix, controlPoolResetFunction)
if not self.dataTypes[templateName] then
+ local controlPool = ZO_ControlPool:New(templateName, self.scrollControl, controlPoolPrefix)
local dataTypeInfo = {
- pool = ZO_ControlPool:New(templateName, self.scrollControl, controlPoolPrefix),
+ pool = controlPool,
setupFunction = setupFunction,
parametricFunction = parametricFunction,
equalityFunction = equalityFunction or DefaultEqualityFunction,
hasHeader = false,
}
+ if controlPoolResetFunction then
+ controlPool:SetCustomResetBehavior(controlPoolResetFunction)
+ end
self.dataTypes[templateName] = dataTypeInfo
end
end
@@ -468,6 +472,15 @@ function ZO_ParametricScrollList:SetFirstIndexSelected(jumpType)
self:SetSelectedIndex(self:CalculateFirstSelectableIndex(), nil, nil, jumpType)
end
+function ZO_ParametricScrollList:SetDefaultIndexSelected(animate, allowEvenIfDisabled, forceAnimation, jumpType)
+ local index = self.defaultSelectedIndex or self:CalculateFirstSelectableIndex()
+ if animate then
+ self:SetSelectedIndex(index, allowEvenIfDisabled, forceAnimation, jumpType)
+ else
+ self:SetSelectedIndexWithoutAnimation(index, allowEvenIfDisabled, forceAnimation)
+ end
+end
+
function ZO_ParametricScrollList:CalculateFirstSelectableIndex()
for i = 1, #self.dataList do
if self:CanSelect(i) then