void Refresh() { ClearList(); DateTime?previous = null; foreach (var item in manager.intervals) { CreateDay(previous, item.start); var elem = new TableIntervalPresenter(item, previous, elementPrefab, elementPrefab.height); elem.OnEdit += () => HandleIntervalEdit(elem); presenters.Add(elem); previous = item.finish; if (item.start.Date != item.finish.Date) { CreateDay(item.finish); } } var currentIntervalStart = manager.currentIntervalStart; if (currentIntervalStart != null) { CreateDay(previous, currentIntervalStart.Value); var elem = new TableCurrentIntervalPresenter(currentIntervalStart.Value, previous, elementPrefab, elementPrefab.height); elem.OnEdit += () => HandleCurrentEdit(elem); presenters.Add(elem); } listBuilder.SetDirty(); }
private void HandleCurrentEdit(TableCurrentIntervalPresenter elem) { Singleton <EditDateUI> .Instance.Open(elem.start, (newdata) => { manager.EditCurrentInterval(newdata); Refresh(); }, null); }