public static void ShowFileChooser(IEnvironmentModel environment, FileChooserMessage fileChooserMessage) { VerifyArgument.IsNotNull("environment", environment); const string PageName = "dialogs/filechooser"; const double Width = 704; const double Height = 517; const string LeftTitle = "Choose File(s)"; var environmentConnection = environment.Connection; if (environmentConnection != null) { string rightTitle = environment.Name + " (" + environmentConnection.AppServerUri + ")"; var pageHandler = new FileChooserCallbackHandler(fileChooserMessage); var envirDisplayName = FullyEncodeServerDetails(environmentConnection); var relativeUriString = string.Format("{0}?envir={1}", PageName, envirDisplayName); if (!IsTestMode) { environment.ShowWebPageDialog(SiteName, relativeUriString, pageHandler, Width, Height, LeftTitle, rightTitle); } else { CallBackHandler = pageHandler; TestModeRelativeUri = relativeUriString; } } }
public FileChooserMessage ChooseScriptSources(string includeFile) { const string Separator = @";"; var chooserMessage = new FileChooserMessage(); if (includeFile == null) { includeFile = ""; } chooserMessage.SelectedFiles = includeFile?.Split(Separator.ToCharArray()); chooserMessage.PropertyChanged += (sender, args) => { if (args.PropertyName == @"SelectedFiles") { if (chooserMessage.SelectedFiles == null || !chooserMessage.SelectedFiles.Any()) { includeFile = ""; } else { if (string.IsNullOrEmpty(includeFile)) { includeFile = string.Join(Separator, chooserMessage.SelectedFiles); } else { includeFile += Separator + string.Join(Separator, chooserMessage.SelectedFiles); } } } }; return(chooserMessage); }
void ChooseAttachments() { const string separator = @";"; var message = new FileChooserMessage { SelectedFiles = Attachments.Split(separator.ToCharArray()) }; message.PropertyChanged += (sender, args) => { if (args.PropertyName == @"SelectedFiles") { if (message.SelectedFiles == null || !message.SelectedFiles.Any()) { Attachments = ""; } else { if (message.SelectedFiles != null) { Attachments = string.Join(separator, message.SelectedFiles); } } } }; _eventPublisher.Publish(message); }
void ChooseAttachments() { // ReSharper disable once InconsistentNaming const string Separator = ";"; var message = new FileChooserMessage(); message.SelectedFiles = Attachments.Split(Separator.ToCharArray()); message.PropertyChanged += (sender, args) => { if (args.PropertyName == "SelectedFiles") { if (message.SelectedFiles != null) { if (string.IsNullOrEmpty(Attachments)) { Attachments = string.Join(Separator, message.SelectedFiles); } else { Attachments += Separator + string.Join(Separator, message.SelectedFiles); } } } }; _eventPublisher.Publish(message); }
public void ChooseScriptSources() { const string Separator = @";"; var chooserMessage = new FileChooserMessage(); if (IncludeFile == null) { IncludeFile = ""; } chooserMessage.SelectedFiles = IncludeFile?.Split(Separator.ToCharArray()); chooserMessage.PropertyChanged += (sender, args) => { if (args.PropertyName == @"SelectedFiles") { if (chooserMessage.SelectedFiles != null) { if (string.IsNullOrEmpty(IncludeFile)) { IncludeFile = string.Join(Separator, chooserMessage.SelectedFiles); } else { IncludeFile += Separator + string.Join(Separator, chooserMessage.SelectedFiles); } } } }; _eventPublisher.Publish(chooserMessage); }
public void FileChooserCallbackHandler_Save_JsonObjAndEnvironmentModel_ThrowsNotImplementedException() { //------------Setup for test-------------------------- var message = new FileChooserMessage(); var handler = new TestFileChooserCallbackHandler(message); //------------Execute Test--------------------------- handler.TestSave(new Mock <IEnvironmentModel>().Object, new object()); //------------Assert Results------------------------- }
public void FileChooserCallbackHandler_Save_ValueIsAnyStringAndCloseWindowIsTrue_DoesInvokeClose() { //------------Setup for test-------------------------- var message = new FileChooserMessage { SelectedFiles = new[] { "E:\\Data\\tasks1.txt", "E:\\Data\\tasks2.txt" } }; var handler = new TestFileChooserCallbackHandler(message); //------------Execute Test--------------------------- handler.Save(It.IsAny <string>()); //------------Assert Results------------------------- Assert.AreEqual(1, handler.CloseHitCount); }
public void FileChooserCallbackHandler_Save_ValueIsEmpty_ClearsMessageSelectedFiles() { //------------Setup for test-------------------------- var message = new FileChooserMessage { SelectedFiles = new[] { "E:\\Data\\tasks1.txt", "E:\\Data\\tasks2.txt" } }; var handler = new FileChooserCallbackHandler(message); //------------Execute Test--------------------------- handler.Save(string.Empty); //------------Assert Results------------------------- Assert.IsNull(message.SelectedFiles); }
void ChooseAttachments() { const string Separator = ";"; var message = new FileChooserMessage(); message.PropertyChanged += (sender, args) => { if (args.PropertyName == "SelectedFiles") { if (message.SelectedFiles != null) { Attachments = string.Join(Separator, Attachments, string.Join(Separator, message.SelectedFiles)); } } }; _eventPublisher.Publish(message); }
public void FileChooserCallbackHandler_Save_ValueIsNotNull_UpdatesMessageSelectedFiles() { //------------Setup for test-------------------------- var message = new FileChooserMessage(); var handler = new FileChooserCallbackHandler(message); //------------Execute Test--------------------------- handler.Save("\"{'filePaths':['E:\\\\\\\\Data\\\\\\\\tasks1.txt','E:\\\\\\\\Data\\\\\\\\tasks2.txt']}\""); //------------Assert Results------------------------- Assert.IsNotNull(message.SelectedFiles); var selectedFiles = message.SelectedFiles.ToList(); Assert.AreEqual(2, selectedFiles.Count); Assert.AreEqual("E:\\Data\\tasks1.txt", selectedFiles[0]); Assert.AreEqual("E:\\Data\\tasks2.txt", selectedFiles[1]); }
public FileChooserCallbackHandler(FileChooserMessage fileChooserMessage, IEventAggregator eventPublisher, IEnvironmentRepository currentEnvironmentRepository) : base(eventPublisher, currentEnvironmentRepository) { _fileChooserMessage = fileChooserMessage; VerifyArgument.IsNotNull("fileChooserMessage", fileChooserMessage); }
public FileChooserCallbackHandler(FileChooserMessage fileChooserMessage) : this(fileChooserMessage, EventPublishers.Aggregator, EnvironmentRepository.Instance) { }
public TestFileChooserCallbackHandler(FileChooserMessage message) : base(message) { }