public void ItemsSourceChangedNonGenericShouldBeInvokedWhenItemsSourceChanged() { ThreadManager.IsUiThread = true; bool isItemsSourceChanged = false; var model = new GridModel { Name = "test" }; var listItems = new List <GridModel> { model }; IGridViewModel gridViewModel = GetViewModel <GridViewModel <GridModel> >(); gridViewModel.ItemsSourceChanged += (sender, data) => { if (isItemsSourceChanged) { throw new InvalidOperationException(); } isItemsSourceChanged = true; gridViewModel.ItemsSource.ShouldEqual(data.Value); }; gridViewModel.UpdateItemsSource(listItems); isItemsSourceChanged.ShouldBeTrue(); }
public void SelectedItemChangedNonGenericShouldBeInvokedWhenSelectedItemChanged() { ThreadManager.IsUiThread = true; bool isFocusedRowChanged = false; var model = new GridModel { Name = "test" }; var listItems = new List <GridModel> { model }; IGridViewModel gridViewModel = GetViewModel <GridViewModel <GridModel> >(); gridViewModel.SelectedItemChanged += (sender, args) => { if (isFocusedRowChanged) { throw new InvalidOperationException(); } isFocusedRowChanged = true; args.OldValue.ShouldBeNull(); args.NewValue.ShouldEqual(model); }; gridViewModel.UpdateItemsSource(listItems); gridViewModel.SelectedItem = model; isFocusedRowChanged.ShouldBeTrue(); }
public void SelectedIndexShouldBeSynchronizedWithSelectedItem() { ThreadManager.IsUiThread = true; IGridViewModel gridViewModel = GetViewModel <GridViewModel <GridModel> >(); gridViewModel.SelectedItem.ShouldBeNull(); gridViewModel.SelectedIndex.ShouldBeLessThan(0); var model1 = new GridModel { Name = "test" }; var model2 = new GridModel { Name = "test" }; var listItems = new List <GridModel> { model1, model2 }; gridViewModel.UpdateItemsSource(listItems); gridViewModel.SelectedItem = model1; gridViewModel.SelectedItem.ShouldEqual(model1); gridViewModel.SelectedIndex.ShouldEqual(0); gridViewModel.SelectedIndex = 1; gridViewModel.SelectedIndex.ShouldEqual(1); gridViewModel.SelectedItem.ShouldEqual(model2); }
public static MvcHtmlString MzGrid <T>(this HtmlHelper helper, IGridViewModel <T> gridViewModel) where T : IGridRow { string head = "<thead><tr>" + string.Join("\n", getColumnNames(typeof(T)).Select(x => "<th>" + x + "</th>")) + "</tr></thead>"; string table = $"<table class='table-light table table-striped' id='{gridViewModel.Id}' width='100%'>{head}</table>"; string columns = Newtonsoft.Json.JsonConvert.SerializeObject(getColumns(typeof(T))); string script = $"<script>new MujZavod.Grid({{Id: '{gridViewModel.Id}', ajax: '{gridViewModel.Url}', columns: {columns}, name: '{gridViewModel.Name}', addUrl: '{gridViewModel.addUrl}'}});</script>"; return(new MvcHtmlString($"{table} {script}")); }
public static void MoveDownSelectedItem([NotNull] this IGridViewModel gridViewModel) { Should.NotBeNull(gridViewModel, nameof(gridViewModel)); object selectedItem = gridViewModel.SelectedItem; if (gridViewModel.OriginalItemsSource.MoveDownItem(selectedItem)) { gridViewModel.SelectedItem = selectedItem; } }
public WorkAreaViewModel(IGridViewModel gridViewModel, ILoggerFacade logger, IEventAggregator eventAggregator, ITaskFactory taskFactory) : base(logger, eventAggregator) { Requires.NotNull(gridViewModel, "gridViewModel"); Requires.NotNull(taskFactory, "taskFactory"); _gridViewModel = gridViewModel; _taskFactory = taskFactory; SubscribeOnEvents(eventAggregator); }
public static bool CanMoveDownSelectedItem([NotNull] this IGridViewModel gridViewModel) { Should.NotBeNull(gridViewModel, nameof(gridViewModel)); return(gridViewModel.OriginalItemsSource.CanMoveDownItem(gridViewModel.SelectedItem)); }
public GridView(IGridViewModel viewModel) { ViewModel = viewModel; InitializeComponent(); }