public void UpdateRevisions(IEnumerable <RevisionData> datas, string tip, int totalRevisions, int currentPage) { var elements = new List <VisualElement>(); var isFullDateObtained = false; // Has everything from this date been obtained? m_HistoryItems.Clear(); if (datas != null) { DateTime currentDate = DateTime.MinValue; foreach (var data in datas) { if (data.timeStamp.Date != currentDate.Date) { elements.Add(new CollabHistoryRevisionLine(data.timeStamp, isFullDateObtained)); currentDate = data.timeStamp; } var item = new CollabHistoryItem(data); m_HistoryItems.Add(item); var container = new VisualContainer(); container.style.flexDirection = FlexDirection.Row; if (data.current) { isFullDateObtained = true; container.AddToClassList("currentRevision"); container.AddToClassList("obtainedRevision"); } else if (data.obtained) { container.AddToClassList("obtainedRevision"); } else { container.AddToClassList("absentRevision"); } // If we use the index as-is, the latest commit will become #1, but we want it to be last container.Add(new CollabHistoryRevisionLine(data.index)); container.Add(item); elements.Add(container); } } m_HistoryView.scrollOffset = new Vector2(0, 0); m_Pager.totalItems = totalRevisions; m_Pager.curPage = currentPage; m_Pager.items = elements; }
public void UpdateRevisions(IEnumerable <RevisionData> datas, string tip, int totalRevisions) { List <VisualElement> list = new List <VisualElement>(); bool isFullDateObtained = false; this.m_HistoryItems.Clear(); DateTime dateTime = DateTime.MinValue; foreach (RevisionData current in datas) { if (current.timeStamp.Date != dateTime.Date) { list.Add(new CollabHistoryRevisionLine(current.timeStamp, isFullDateObtained)); dateTime = current.timeStamp; } CollabHistoryItem collabHistoryItem = new CollabHistoryItem(current); this.m_HistoryItems.Add(collabHistoryItem); VisualContainer visualContainer = new VisualContainer(); visualContainer.style.flexDirection = FlexDirection.Row; if (current.current) { isFullDateObtained = true; visualContainer.AddToClassList("currentRevision"); visualContainer.AddToClassList("obtainedRevision"); } else if (current.obtained) { visualContainer.AddToClassList("obtainedRevision"); } else { visualContainer.AddToClassList("absentRevision"); } visualContainer.Add(new CollabHistoryRevisionLine(current.index)); visualContainer.Add(collabHistoryItem); list.Add(visualContainer); } this.m_Pager.totalItems = totalRevisions; this.m_Pager.items = list; }