Beispiel #1
0
        public void When_Created_Then_SkillsShouldBeEmpty()
        {
            // Arrange
            var itemIdPrefix = "itemIdPrefix";
            var listItemType = SkillsListViewModel.ListItemType.Radio;

            // Act
            var vm = new SkillsListViewModel(itemIdPrefix, listItemType);

            // Assert
            vm.Skills.Should().NotBeNull();
            vm.Skills.Should().BeEmpty();
        }
Beispiel #2
0
        public void When_Created_Then_RequiredFieldsMustBePopulated()
        {
            // Arrange
            var itemIdPrefix = "itemIdPrefix";
            var listItemType = SkillsListViewModel.ListItemType.Radio;

            // Act
            var vm = new SkillsListViewModel(itemIdPrefix, listItemType);

            // Assert
            vm.ItemIdPrefix.Should().Be(itemIdPrefix);
            vm.ListType.Should().Be(listItemType);
        }
Beispiel #3
0
        void Start()
        {
            Prefabs       prefabs          = GameObject.Instantiate(prefabsPrefab);
            string        user             = staging ? "test" : "TheSammyDee";
            ILevelFormula minutesFormula   = new Quadratic500LevelFormula();
            ILevelFormula countableFormula = new CountableLevelFormula(20, minutesFormula);

            TimeInputManager timeInput       = new TimeInputManager(GameObject.Instantiate(prefabs.timeInputViewModel), canvas);
            SkillCollection  skillCollection = new SkillCollection(
                new JsonDatabase(user, minutesFormula, countableFormula),
                minutesFormula,
                countableFormula);
            SkillsListViewModel listViewModel = new SkillsListViewModel(skillCollection, timeInput, listViewAnchor);
        }
        public SkillsListView()
        {
            BindingContext = new SkillsListViewModel();

            var refresh = new ToolbarItem {
                Command  = ViewModel.LoadAllItemsCommand,
                Icon     = "refresh.png",
                Name     = "refresh",
                Priority = 0
            };

            ToolbarItems.Add(refresh);

            var stack = new StackLayout {
                Orientation = StackOrientation.Vertical,
                Padding     = new Thickness(0, 8, 0, 8)
            };

            var activity = new ActivityIndicator {
                Color     = Util.Color.DarkBlue.ToFormsColor(),
                IsEnabled = true
            };

            activity.SetBinding(ActivityIndicator.IsVisibleProperty, "IsBusy");
            activity.SetBinding(ActivityIndicator.IsRunningProperty, "IsBusy");

            stack.Children.Add(activity);

            var listView = new ListView();

            listView.ItemsSource = ViewModel.SkillItems;

            var cell = new DataTemplate(typeof(TextCell));

            cell.SetBinding(TextCell.TextProperty, "title");

//			listView.ItemTapped +=  (sender, args) => {
//				if(listView.SelectedItem == null)
//					return;
//				this.Navigation.PushAsync(new SkillView(listView.SelectedItem as SkillView));
//				listView.SelectedItem = null;
//			};

            listView.ItemTemplate = cell;

            stack.Children.Add(listView);

            Content = stack;
        }
Beispiel #5
0
        public void When_SettingHTML_Then_HTMLShouldBeSet()
        {
            // Arrange
            var itemIdPrefix = "itemIdPrefix";
            var listItemType = SkillsListViewModel.ListItemType.Radio;
            var vm           = new SkillsListViewModel(itemIdPrefix, listItemType);

            // Act
            vm.BeginSkillsListHTML = "<ul>";
            vm.EndSkillsListHTML   = "</ul>";
            vm.NoSkillsHTML        = "No skills";

            // Assert
            vm.BeginSkillsListHTML.Should().Be("<ul>");
            vm.EndSkillsListHTML.Should().Be("</ul>");
            vm.NoSkillsHTML.Should().Be("No skills");
        }
Beispiel #6
0
 public SkillsPage(SkillsListViewModel viewModel)
 {
     this.InitializeComponent();
     this.ViewModel           = viewModel;
     this.NavigationCacheMode = NavigationCacheMode.Enabled;
 }
Beispiel #7
0
        public HomeView()
        {
            Title          = "Skills";
            BindingContext = new SkillsListViewModel();

            var refresh = new ToolbarItem {
                Command  = ViewModel.LoadAllItemsCommand,
                Icon     = "refresh.png",
                Name     = "refresh",
                Priority = 0
            };

            ToolbarItems.Add(refresh);

            Label header = new Label
            {
                Text              = "Skills View",
                BackgroundColor   = Color.Blue,
                Font              = Font.BoldSystemFontOfSize(30),
                HorizontalOptions = LayoutOptions.Center
            };

            var listView = new ListView();

            listView.ItemsSource = ViewModel.SkillItems;

            var cell = new DataTemplate(typeof(TextCell));

            cell.SetBinding(TextCell.TextProperty, "title");

            listView.ItemTemplate = cell;

            listView.ItemTapped += (sender, args) =>
            {
                var skill = args.Item as Skill;

                if (skill == null)
                {
                    return;
                }

                Navigation.PushAsync(new SkillView(skill));

                // Reset the selected item
                listView.SelectedItem = null;
            };

            var stackPanel = new StackLayout();

            stackPanel.Padding = new Thickness(0, 0, 0, 0);
            stackPanel.Children.Insert(1, listView);

            var activity = new ActivityIndicator {
                Color     = Util.Color.DarkBlue.ToFormsColor(),
                IsEnabled = true
            };

            activity.SetBinding(ActivityIndicator.IsVisibleProperty, "IsBusy");
            activity.SetBinding(ActivityIndicator.IsRunningProperty, "IsBusy");

            stackPanel.Children.Add(activity);

            if (Device.OS == TargetPlatform.WinPhone)
            {
                stackPanel.Children.Insert(0, header);
            }

            Content = stackPanel;
        }