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

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

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

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

@ -69,5 +69,10 @@ namespace ICSharpCode.AspNet.Mvc @@ -69,5 +69,10 @@ namespace ICSharpCode.AspNet.Mvc
}
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 @@ -167,5 +167,27 @@ namespace AspNet.Mvc.Tests
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