Example #1
0
        private void Files_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            FileDescriptor selectedItem = Files.SelectedItem as FileDescriptor;

            if (selectedItem == null)
            {
                return;
            }
            if (selectedItem.IsFolder)
            {
                btnOk.IsEnabled = false;
                CurrentFolderDepth++;
                Dispatcher.BeginInvoke(() =>
                {
                    getFiles(selectedItem.RelativePath);
                });
            }
            else
            {
                UpNavigationItem upNavigationItem = selectedItem as UpNavigationItem;
                if (upNavigationItem != null)
                {
                    CurrentFolderDepth--;
                    string path = RelativeUrl;
                    if (path != null)
                    {
                        int pos = path.LastIndexOf('/');
                        if (pos > -1)
                        {
                            path = path.Substring(0, pos);
                        }
                        else
                        {
                            path = null;
                        }
                    }
                    Dispatcher.BeginInvoke(() =>
                    {
                        getFiles(path);
                    });
                }
                else
                {
                    btnOk.IsEnabled = true;
                }
            }
            Url = selectedItem.RelativePath;
        }
        public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
        {
            FileDescriptor fileDescriptor = value as FileDescriptor;

            if (fileDescriptor != null)
            {
                UpNavigationItem upNavItem = value as UpNavigationItem;
                if (upNavItem != null)
                {
                    return(new Uri("/ESRI.ArcGIS.Mapping.Builder;component/images/folderUp.png", UriKind.Relative));
                }
                else
                {
                    if (fileDescriptor.IsFolder)
                    {
                        return(new Uri("/ESRI.ArcGIS.Mapping.Builder;component/images/folder.png", UriKind.Relative));
                    }
                    if (BuilderApplication.Instance.CurrentSite != null)
                    {
                        return(new Uri(string.Format("{0}/{1}", BuilderApplication.Instance.CurrentSite.Url.TrimEnd('/'), fileDescriptor.RelativePath), UriKind.Absolute));
                    }
                    else
                    {
                        Template currentTemplate = BuilderApplication.Instance.CurrentTemplate;
                        if (currentTemplate == null)
                        {
                            currentTemplate = BuilderApplication.Instance.Templates.FirstOrDefault();
                        }
                        if (currentTemplate != null)
                        {
                            string url = string.Format("{0}/{1}", currentTemplate.BaseUrl.TrimEnd('/'), fileDescriptor.RelativePath);
                            return(new Uri(url, UriKind.Absolute));
                        }
                    }
                }
            }
            return(null);
        }
        void client_GetFilesCompleted(object sender, GetFilesCompletedEventArgs e)
        {
            showHideProgressBar(true);

            if (e.Cancelled)
            {
                showHideProgressBar(true);
                return;
            }

            if (e.Error != null || e.Files == null)
            {
                showHideProgressBar(true);
                return;
            }

            ObservableCollection<FileDescriptor> items = e.Files;
            foreach (FileDescriptor item in items)
                item.DisplayName = makeFileNameUserFriendly(item.FileName);

            if (CurrentFolderDepth > 0)
            {
                UpNavigationItem upItem = new UpNavigationItem()
                    {
                        FileName = Strings.Up,
                        DisplayName = Strings.Up,
                        RelativePath = "..",
                    };
                if (items.Count > 0)
                    items.Insert(0, upItem);
                else
                    items.Add(upItem);                
            }
            else
            {
                RelativeUrl = null;
            }
            
            showHideProgressBar(true);
            if (items.Count > 0)
            {
                foreach (var item in items)
                    Files.Items.Add(item);
                NoFilesLabel.Visibility = Visibility.Collapsed;
                Files.Visibility = System.Windows.Visibility.Visible;
                Dispatcher.BeginInvoke(() =>
                {
                    FilesScrollViewer.ScrollToTop();
                });
            }
            else
            {
                NoFilesLabel.Visibility = Visibility.Visible;
                Files.Visibility = System.Windows.Visibility.Collapsed;
            }
        }
Example #4
0
        void client_GetFilesCompleted(object sender, GetFilesCompletedEventArgs e)
        {
            showHideProgressBar(true);

            if (e.Cancelled)
            {
                showHideProgressBar(true);
                return;
            }

            if (e.Error != null || e.Files == null)
            {
                showHideProgressBar(true);
                return;
            }

            ObservableCollection <FileDescriptor> items = e.Files;

            foreach (FileDescriptor item in items)
            {
                item.DisplayName = makeFileNameUserFriendly(item.FileName);
            }

            if (CurrentFolderDepth > 0)
            {
                UpNavigationItem upItem = new UpNavigationItem()
                {
                    FileName     = Strings.Up,
                    DisplayName  = Strings.Up,
                    RelativePath = "..",
                };
                if (items.Count > 0)
                {
                    items.Insert(0, upItem);
                }
                else
                {
                    items.Add(upItem);
                }
            }
            else
            {
                RelativeUrl = null;
            }

            showHideProgressBar(true);
            if (items.Count > 0)
            {
                foreach (var item in items)
                {
                    Files.Items.Add(item);
                }
                NoFilesLabel.Visibility = Visibility.Collapsed;
                Files.Visibility        = System.Windows.Visibility.Visible;
                Dispatcher.BeginInvoke(() =>
                {
                    FilesScrollViewer.ScrollToTop();
                });
            }
            else
            {
                NoFilesLabel.Visibility = Visibility.Visible;
                Files.Visibility        = System.Windows.Visibility.Collapsed;
            }
        }