Browse Source

Disable Add button in Add MVC View dialog when the view name is an empty string.

pull/18/head
Matt Ward 14 years ago
parent
commit
6028fac41a
  1. 2
      src/AddIns/BackendBindings/AspNet.Mvc/Project/Src/AddMvcViewToProjectView.xaml
  2. 7
      src/AddIns/BackendBindings/AspNet.Mvc/Project/Src/AddMvcViewToProjectViewModel.cs
  3. 5
      src/AddIns/BackendBindings/AspNet.Mvc/Project/Src/MvcViewFileName.cs
  4. 22
      src/AddIns/BackendBindings/AspNet.Mvc/Test/Src/AddMvcViewToProjectViewModelTests.cs

2
src/AddIns/BackendBindings/AspNet.Mvc/Project/Src/AddMvcViewToProjectView.xaml

@ -36,7 +36,7 @@
<TextBox <TextBox
x:Name="ViewNameTextBox" x:Name="ViewNameTextBox"
Grid.Column="1" Grid.Column="1"
Text="{Binding Path=ViewName}"/> Text="{Binding Path=ViewName, UpdateSourceTrigger=PropertyChanged}"/>
</Grid> </Grid>
<StackPanel <StackPanel

7
src/AddIns/BackendBindings/AspNet.Mvc/Project/Src/AddMvcViewToProjectViewModel.cs

@ -38,7 +38,7 @@ namespace ICSharpCode.AspNet.Mvc
void CreateCommands() void CreateCommands()
{ {
AddMvcViewCommand = new DelegateCommand(param => AddMvcView()); AddMvcViewCommand = new DelegateCommand(param => AddMvcView(), param => CanAddMvcView());
} }
public ICommand AddMvcViewCommand { get; private set; } public ICommand AddMvcViewCommand { get; private set; }
@ -56,6 +56,11 @@ namespace ICSharpCode.AspNet.Mvc
} }
} }
public bool CanAddMvcView()
{
return viewFileName.HasValidViewName();
}
public void AddMvcView() public void AddMvcView()
{ {
GenerateMvcViewFile(); GenerateMvcViewFile();

5
src/AddIns/BackendBindings/AspNet.Mvc/Project/Src/MvcViewFileName.cs

@ -69,5 +69,10 @@ namespace ICSharpCode.AspNet.Mvc
} }
return "View1"; return "View1";
} }
public bool HasValidViewName()
{
return !String.IsNullOrEmpty(viewName);
}
} }
} }

22
src/AddIns/BackendBindings/AspNet.Mvc/Test/Src/AddMvcViewToProjectViewModelTests.cs

@ -167,5 +167,27 @@ namespace AspNet.Mvc.Tests
Assert.AreEqual(expectedFileNameOpened, fileNameOpened); Assert.AreEqual(expectedFileNameOpened, fileNameOpened);
} }
[Test]
public void AddMvcViewCommand_ViewNameIsEmptyString_CommandIsDisabled()
{
CreateViewModel();
viewModel.ViewName = String.Empty;
bool canExecute = viewModel.AddMvcViewCommand.CanExecute(null);
Assert.IsFalse(canExecute);
}
[Test]
public void AddMvcViewCommand_ViewNameIsNotEmptyString_CommandIsEnable()
{
CreateViewModel();
viewModel.ViewName = "MyView";
bool canExecute = viewModel.AddMvcViewCommand.CanExecute(null);
Assert.IsTrue(canExecute);
}
} }
} }

Loading…
Cancel
Save