Thread: ZO_Helpers
View Single Post
10/12/14, 11:00 AM   #9
Garkin
 
Garkin's Avatar
AddOn Author - Click to view addons
Join Date: Mar 2014
Posts: 832
Originally Posted by skobyjay View Post
is there a "descending" version of that by chance?
sort order is the last argument passed to the:
ZO_TableOrderingFunction(entry1, entry2, sortKey, sortKeys, sortOrder)

sortOrder can be either ZO_SORT_ORDER_UP (true) or ZO_SORT_ORDER_DOWN (false)

In the ScrollListExample sort order could be set directly:
lua Code:
  1. self.sortOrder = ZO_SORT_ORDER_DOWN
or using the OnSortHeaderClicked(key, order) method inherited from the main class ZO_SortFilterList:
lua Code:
  1. self:OnSortHeaderClicked("name", ZO_SORT_ORDER_DOWN)


Changed code to use direct access to sort order:
lua Code:
  1. function UnitList:Initialize()
  2.     self.masterList = {}
  3.     ZO_ScrollList_AddDataType(self.list, 1, "UnitRow", 30, function(control, data) self:SetupUnitRow(control, data) end)
  4.     ZO_ScrollList_EnableHighlight(self.list, "ZO_ThinListHighlight")
  5.     self.currentSortKey = "name"
  6.     self.currentSortOrder = ZO_SORT_ORDER_DOWN
  7.     self.sortFunction = function(listEntry1, listEntry2) return ZO_TableOrderingFunction(listEntry1.data, listEntry2.data, self.currentSortKey, UnitList.SORT_KEYS, self.currentSortOrder) end
  8.     self:RefreshData()
  9. end

Changed code to use OnSortHeaderClicked:
lua Code:
  1. function UnitList:Initialize()
  2.     self.masterList = {}
  3.     ZO_ScrollList_AddDataType(self.list, 1, "UnitRow", 30, function(control, data) self:SetupUnitRow(control, data) end)
  4.     ZO_ScrollList_EnableHighlight(self.list, "ZO_ThinListHighlight")
  5.     self.sortFunction = function(listEntry1, listEntry2) return ZO_TableOrderingFunction(listEntry1.data, listEntry2.data, self.currentSortKey, UnitList.SORT_KEYS, self.currentSortOrder) end
  6.     self:SetLockedForUpdates(true) --lock for updates, so list will be refreshed only once
  7.     self:OnSortHeaderClicked("name", ZO_SORT_ORDER_DOWN)
  8.     self:RefreshData()
  9.     self:SetLockedForUpdates(false) --when unlocked, all pending refresh functions will be called
  10. end

Last edited by Garkin : 10/12/14 at 11:52 AM.
  Reply With Quote