public void Remove(NewDocumentTemplate template)
 {
     ((IList) this).Remove (template);
 }
        private string ProcessNewDocument(FileManagerItemInfo destDir, NewDocumentTemplate template)
        {
            NewDocumentCancelEventArgs cancelArg = new NewDocumentCancelEventArgs();
            cancelArg.DestinationDirectory = destDir;
            cancelArg.Template = template;
            OnNewDocumentCreating(cancelArg);

            if (cancelArg.Cancel)
            {
                return ClientMessageEventReference(cancelArg.ClientMessage);
            }

            if (template.MasterFileUrl.Length == 0)
                return "";

            FileInfo masterFile = new FileInfo(Page.MapPath(template.MasterFileUrl));
            if (!masterFile.Exists)
                return "";

            string newFileName = template.NewFileName;
            if (newFileName.Length == 0)
                newFileName = template.Name;

            int i = 1;
            string originNewFileName = newFileName;
            while (File.Exists(Path.Combine(destDir.PhysicalPath, newFileName + masterFile.Extension)))
            {
                newFileName = originNewFileName + "(" + i + ")";
                i++;
            }
            newFileName = newFileName + masterFile.Extension;
            FileManagerItemInfo itemInfo = ResolveFileManagerItemInfo(VirtualPathUtility.AppendTrailingSlash(destDir.FileManagerPath) + newFileName);
            FileInfo newDocument = masterFile.CopyTo(itemInfo.PhysicalPath);

            NewDocumentEventArgs arg = new NewDocumentEventArgs();
            arg.Template = template;
            arg.NewDocument = itemInfo;
            OnNewDocumentCreated(arg);

            return ClientRefreshEventReference;
        }
 public int IndexOf(NewDocumentTemplate template)
 {
     return ((IList) this).IndexOf (template);
 }
 public void Insert(int index, NewDocumentTemplate template)
 {
     ((IList) this).Insert (index, template);
 }
 public bool Contains(NewDocumentTemplate template)
 {
     return ((IList) this).Contains (template);
 }
 public void CopyTo(NewDocumentTemplate [] templateArray, int index)
 {
     base.CopyTo (templateArray, index);
 }
示例#7
0
        void CreateContextMenu()
        {
            _contextMenu = new ContextMenu();
            _contextMenu.EnableViewState = false;
            _contextMenu.StaticEnableDefaultPopOutImage  = false;
            _contextMenu.DynamicEnableDefaultPopOutImage = false;
            _contextMenu.Orientation         = Orientation.Horizontal;
            _contextMenu.SkipLinkText        = String.Empty;
            _contextMenu.StaticItemTemplate  = new CompiledTemplateBuilder(new BuildTemplateMethod(CreateContextMenuRootItem));
            _contextMenu.DynamicItemTemplate = new CompiledTemplateBuilder(new BuildTemplateMethod(CreateContextMenuPopupItem));
            SetContextMenuStyle(_contextMenu);
            Controls.Add(_contextMenu);

            // Root
            MenuItem root = new MenuItem();

            root.Text        = "_contextMenu";
            root.NavigateUrl = "javascript: return;";
            _contextMenu.Items.Add(root);

            string clientClickFunction = "javascript:" + FileManagerController.ClientScriptObjectNamePrefix + Controller.ClientID + ".On{0}(" + FileManagerController.ClientScriptObjectNamePrefix + ClientID + ", '{1}');return false;";

            // View
            MenuItem itemView = new MenuItem();

            itemView.Text        = GetResourceString("View", "View");
            itemView.Value       = "View";
            itemView.NavigateUrl = "javascript: return;";
            root.ChildItems.Add(itemView);

            // Icons
            MenuItem itemViewIcons = new MenuItem();

            itemViewIcons.Text        = GetResourceString("Icons", "Icons");
            itemViewIcons.Value       = "Icons";
            itemViewIcons.NavigateUrl = String.Format(clientClickFunction, FileManagerCommands.FileViewChangeView, FileViewRenderMode.Icons);
            itemView.ChildItems.Add(itemViewIcons);

            // Details
            MenuItem itemViewDetails = new MenuItem();

            itemViewDetails.Text        = GetResourceString("Details", "Details");
            itemViewDetails.Value       = "Details";
            itemViewDetails.NavigateUrl = String.Format(clientClickFunction, FileManagerCommands.FileViewChangeView, FileViewRenderMode.Details);
            itemView.ChildItems.Add(itemViewDetails);

            if (Controller.SupportThumbnails)
            {
                // Thumbnails
                MenuItem itemViewThumbnails = new MenuItem();
                itemViewThumbnails.Text        = GetResourceString("Thumbnails", "Thumbnails");
                itemViewThumbnails.Value       = "Thumbnails";
                itemViewThumbnails.NavigateUrl = String.Format(clientClickFunction, FileManagerCommands.FileViewChangeView, FileViewRenderMode.Thumbnails);
                itemView.ChildItems.Add(itemViewThumbnails);
            }

            root.ChildItems.Add(new MenuItem("__separator__", "__separator__", null, "javascript: return;"));

            // Arrange Icons By
            MenuItem itemArrangeIconsBy = new MenuItem();

            itemArrangeIconsBy.Text        = GetResourceString("Arrange_Icons_By", "Arrange Icons By");
            itemArrangeIconsBy.Value       = "Arrange_Icons_By";
            itemArrangeIconsBy.NavigateUrl = "javascript: return;";
            root.ChildItems.Add(itemArrangeIconsBy);

            // Name
            MenuItem itemArrangeIconsByName = new MenuItem();

            itemArrangeIconsByName.Text        = GetResourceString("Name", "Name");
            itemArrangeIconsByName.Value       = "Name";
            itemArrangeIconsByName.NavigateUrl = String.Format(clientClickFunction, FileManagerCommands.FileViewSort, SortMode.Name);
            itemArrangeIconsBy.ChildItems.Add(itemArrangeIconsByName);

            // Size
            MenuItem itemArrangeIconsBySize = new MenuItem();

            itemArrangeIconsBySize.Text        = GetResourceString("Size", "Size");
            itemArrangeIconsBySize.Value       = "Size";
            itemArrangeIconsBySize.NavigateUrl = String.Format(clientClickFunction, FileManagerCommands.FileViewSort, SortMode.Size);
            itemArrangeIconsBy.ChildItems.Add(itemArrangeIconsBySize);

            // Type
            MenuItem itemArrangeIconsByType = new MenuItem();

            itemArrangeIconsByType.Text        = GetResourceString("Type", "Type");
            itemArrangeIconsByType.Value       = "Type";
            itemArrangeIconsByType.NavigateUrl = String.Format(clientClickFunction, FileManagerCommands.FileViewSort, SortMode.Type);
            itemArrangeIconsBy.ChildItems.Add(itemArrangeIconsByType);

            // Modified
            MenuItem itemArrangeIconsByModified = new MenuItem();

            itemArrangeIconsByModified.Text        = GetResourceString("Date_Modified", "Date Modified");
            itemArrangeIconsByModified.Value       = "Modified";
            itemArrangeIconsByModified.NavigateUrl = String.Format(clientClickFunction, FileManagerCommands.FileViewSort, SortMode.Modified);
            itemArrangeIconsBy.ChildItems.Add(itemArrangeIconsByModified);

            // Refresh
            MenuItem itemRefresh = new MenuItem();

            itemRefresh.Text        = Controller.GetResourceString("Refresh", "Refresh");
            itemRefresh.Value       = "Refresh";
            itemRefresh.ImageUrl    = Controller.GetToolbarImage(ToolbarImages.Refresh);
            itemRefresh.NavigateUrl = String.Format(clientClickFunction, FileManagerCommands.Refresh, "");
            root.ChildItems.Add(itemRefresh);

            root.ChildItems.Add(new MenuItem("__separator__", "__separator__", null, "javascript: return;"));

            // New
            MenuItem itemNew = new MenuItem();

            itemNew.Text        = GetResourceString("Create", "New");
            itemNew.Value       = "Create";
            itemNew.NavigateUrl = "javascript: return;";
            itemNew.Enabled     = !ReadOnly;
            root.ChildItems.Add(itemNew);

            if (!ReadOnly)
            {
                // New Folder
                MenuItem itemFolder = new MenuItem();
                itemFolder.Text        = GetResourceString("New_Folder", "Folder");
                itemFolder.Value       = "New_Folder";
                itemFolder.ImageUrl    = Controller.GetFolderSmallImage();
                itemFolder.NavigateUrl = String.Format(clientClickFunction, FileManagerCommands.NewFolder, "");
                itemNew.ChildItems.Add(itemFolder);

                itemNew.ChildItems.Add(new MenuItem("__separator__", "__separator__", null, "javascript: return;"));

                for (int i = 0; i < Templates.Count; i++)
                {
                    NewDocumentTemplate template = Templates [i];
                    MenuItem            item     = new MenuItem();
                    item.Text  = template.Name;
                    item.Value = "Template" + i;
                    if (template.SmallImageUrl.Length > 0)
                    {
                        item.ImageUrl = ResolveUrl(template.SmallImageUrl);
                    }
                    else if (template.MasterFileUrl.Length > 0)
                    {
                        item.ImageUrl = Controller.GetFileSmallImage(new FileInfo(Page.MapPath(template.MasterFileUrl)));
                    }
                    else
                    {
                        item.ImageUrl = Controller.GetFileSmallImage();
                    }
                    item.NavigateUrl = String.Format(clientClickFunction, FileManagerCommands.NewDocument, Templates.IndexOf(template));
                    itemNew.ChildItems.Add(item);
                }
            }

            // client script
            StringBuilder sb = new StringBuilder();

            sb.AppendLine("function " + ClientID + "_ShowContextMenu(x,y) {");

            sb.AppendLine("var bulletImgSrc = '" + Page.ClientScript.GetWebResourceUrl(typeof(FileManagerController), "IZ.WebFileManager.resources.Bullet.gif") + "';");
            sb.AppendLine("var emptyImgSrc = '" + Page.ClientScript.GetWebResourceUrl(typeof(FileManagerController), "IZ.WebFileManager.resources.Empty.gif") + "';");

            sb.AppendLine("var nameImg = WebForm_GetElementById('" + ClientID + "CMIMGName');");
            sb.AppendLine("var sizeImg = WebForm_GetElementById('" + ClientID + "CMIMGSize');");
            sb.AppendLine("var typeImg = WebForm_GetElementById('" + ClientID + "CMIMGType');");
            sb.AppendLine("var modifiedImg = WebForm_GetElementById('" + ClientID + "CMIMGModified');");
            sb.AppendLine("var iconsImg = WebForm_GetElementById('" + ClientID + "CMIMGIcons');");
            sb.AppendLine("var detailsImg = WebForm_GetElementById('" + ClientID + "CMIMGDetails');");
            if (Controller.SupportThumbnails)
            {
                sb.AppendLine("var thumbnailsImg = WebForm_GetElementById('" + ClientID + "CMIMGThumbnails');");
            }

            sb.AppendLine("nameImg.src = emptyImgSrc;");
            sb.AppendLine("sizeImg.src = emptyImgSrc;");
            sb.AppendLine("typeImg.src = emptyImgSrc;");
            sb.AppendLine("modifiedImg.src = emptyImgSrc;");
            sb.AppendLine("iconsImg.src = emptyImgSrc;");
            sb.AppendLine("detailsImg.src = emptyImgSrc;");
            if (Controller.SupportThumbnails)
            {
                sb.AppendLine("thumbnailsImg.src = emptyImgSrc;");
            }

            sb.AppendLine("var sort = " + FileManagerController.ClientScriptObjectNamePrefix + ClientID + ".GetSort();");
            sb.AppendLine("switch(sort) {");
            sb.AppendLine("case '" + SortMode.Name + "':");
            sb.AppendLine("nameImg.src = bulletImgSrc;");
            sb.AppendLine("break;");
            sb.AppendLine("case '" + SortMode.Type + "':");
            sb.AppendLine("typeImg.src = bulletImgSrc;");
            sb.AppendLine("break;");
            sb.AppendLine("case '" + SortMode.Size + "':");
            sb.AppendLine("sizeImg.src = bulletImgSrc;");
            sb.AppendLine("break;");
            sb.AppendLine("case '" + SortMode.Modified + "':");
            sb.AppendLine("modifiedImg.src = bulletImgSrc;");
            sb.AppendLine("break;");
            sb.AppendLine("}");

            sb.AppendLine("var view = " + FileManagerController.ClientScriptObjectNamePrefix + ClientID + ".GetView();");
            sb.AppendLine("switch(view) {");
            sb.AppendLine("case '" + FileViewRenderMode.Icons + "':");
            sb.AppendLine("iconsImg.src = bulletImgSrc;");
            sb.AppendLine("break;");
            sb.AppendLine("case '" + FileViewRenderMode.Details + "':");
            sb.AppendLine("detailsImg.src = bulletImgSrc;");
            sb.AppendLine("break;");
            if (Controller.SupportThumbnails)
            {
                sb.AppendLine("case '" + FileViewRenderMode.Thumbnails + "':");
                sb.AppendLine("thumbnailsImg.src = bulletImgSrc;");
                sb.AppendLine("break;");
            }
            sb.AppendLine("}");


            sb.AppendLine("var node = WebForm_GetElementById('" + ClientID + "_ContextMenu')");
            sb.AppendLine("WebForm_SetElementX(node, x)");
            sb.AppendLine("WebForm_SetElementY(node, y)");
            sb.AppendLine("Menu_HoverStatic(WebForm_GetElementById('" + _contextMenu.ClientID + "n0'));");
            sb.AppendLine("}");
            Page.ClientScript.RegisterClientScriptBlock(typeof(FileView), ClientID + "_ShowContextMenu", sb.ToString(), true);
        }
 public int Add(NewDocumentTemplate template)
 {
     return ((IList) this).Add (template);
 }
 public void Remove(NewDocumentTemplate template)
 {
     ((IList)this).Remove(template);
 }
 public void Insert(int index, NewDocumentTemplate template)
 {
     ((IList)this).Insert(index, template);
 }
 public int IndexOf(NewDocumentTemplate template)
 {
     return(((IList)this).IndexOf(template));
 }
 public bool Contains(NewDocumentTemplate template)
 {
     return(((IList)this).Contains(template));
 }
 public int Add(NewDocumentTemplate template)
 {
     return(((IList)this).Add(template));
 }