Пример #1
0
        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();
        }
Пример #2
0
        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);
        }
Пример #4
0
        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}"));
        }
Пример #5
0
        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;
            }
        }
Пример #6
0
        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);
        }
Пример #7
0
 public static bool CanMoveDownSelectedItem([NotNull] this IGridViewModel gridViewModel)
 {
     Should.NotBeNull(gridViewModel, nameof(gridViewModel));
     return(gridViewModel.OriginalItemsSource.CanMoveDownItem(gridViewModel.SelectedItem));
 }
Пример #8
0
 public GridView(IGridViewModel viewModel)
 {
     ViewModel = viewModel;
     InitializeComponent();
 }