Example #1
0
        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;
                }
            }
        }
Example #2
0
        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);
        }
Example #5
0
        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]);
        }
Example #11
0
 public FileChooserCallbackHandler(FileChooserMessage fileChooserMessage, IEventAggregator eventPublisher, IEnvironmentRepository currentEnvironmentRepository)
     : base(eventPublisher, currentEnvironmentRepository)
 {
     _fileChooserMessage = fileChooserMessage;
     VerifyArgument.IsNotNull("fileChooserMessage", fileChooserMessage);
 }
Example #12
0
 public FileChooserCallbackHandler(FileChooserMessage fileChooserMessage)
     : this(fileChooserMessage, EventPublishers.Aggregator, EnvironmentRepository.Instance)
 {
 }
 public TestFileChooserCallbackHandler(FileChooserMessage message)
     : base(message)
 {
 }