init method
void
init(
- List<T>? data
)
Implementation
void init(List<T>? data) {
if (data == null) {
return;
}
_sectionItems.clear();
_sectionPositions.clear();
activeSectionIndex.value = -1;
activeIndexBarIndex.value = -1;
int idx = 0;
for (var item in data) {
final section = item.section;
if (!_sectionPositions.containsKey(section)) {
if (_sectionItems.isNotEmpty) {
_sectionItems[_sectionItems.length - 1] =
_sectionItems.last.markAsLast();
}
_sectionItems.add(AntdIndexBarSectionItem(
data: item,
section: section,
isSectionHeader: true,
isLastInSection: false,
));
_sectionPositions[section] = idx;
idx += 1;
continue;
}
_sectionItems.add(AntdIndexBarSectionItem(
data: item,
section: section,
isSectionHeader: false,
isLastInSection: false,
));
idx += 1;
}
if (_sectionItems.isNotEmpty) {
_sectionItems[_sectionItems.length - 1] = _sectionItems.last.markAsLast();
}
}