コード例 #1
0
        private void InitScript()
        {
            var script = new StringBuilder();

            FolderType folderType;

            if (Enum.TryParse(Request[RootParam], true, out folderType))
            {
                object rootId = null;
                switch (folderType)
                {
                case FolderType.COMMON:
                    rootId = Classes.Global.FolderCommon;
                    break;

                case FolderType.USER:
                    rootId = Classes.Global.FolderMy;
                    break;

                case FolderType.Projects:
                    rootId = Classes.Global.FolderProjects;
                    break;
                }
                if (rootId != null)
                {
                    script.AppendFormat("jq(\"#fileSelectorTree > ul > li.tree-node:not([data-id=\\\"{0}\\\"])\").remove();", rootId);
                }
            }

            if (!string.IsNullOrEmpty(RequestExt))
            {
                script.AppendFormat(";ASC.Files.FileSelector.filesFilter = ASC.Files.Constants.FilterType.ByExtension;"
                                    + "ASC.Files.FileSelector.filesFilterText = \"{0}\";",
                                    RequestExt.Replace("\"", "\\\""));
            }

            if (RequestType != FilterType.None)
            {
                script.AppendFormat("ASC.Files.FileSelector.filesFilter = ASC.Files.Constants.FilterType[\"{0}\"] || ASC.Files.Constants.FilterType.None;", RequestType);
            }

            var originForPost = "*";

            if (FromEditor && !FilesLinkUtility.DocServiceApiUrl.StartsWith("/"))
            {
                var origin = new Uri(FilesLinkUtility.DocServiceApiUrl ?? "");
                originForPost = origin.Scheme + "://" + origin.Host + ":" + origin.Port;
            }

            script.AppendFormat("ASC.Files.FileChoice.init(\"{0}\", ({1} == true), \"{2}\", ({3} == true), \"{4}\", ({5} == true));",
                                (Request[FilesLinkUtility.FolderId] ?? "").Replace("\"", "\\\""),
                                OnlyFolder.ToString().ToLower(),
                                (Request[ThirdPartyParam] ?? "").ToLower().Replace("\"", "\\\""),
                                FromEditor.ToString().ToLower(),
                                originForPost,
                                DisplayPrivacy.ToString().ToLower());

            Page.RegisterInlineScript(script.ToString());
        }
コード例 #2
0
        private void InitScript()
        {
            Page.RegisterBodyScripts(PathProvider.GetFileStaticRelativePath("filechoice.js"));

            var script = new StringBuilder();

            FolderType folderType;

            if (Enum.TryParse(Request[RootParam], true, out folderType))
            {
                object rootId = null;
                switch (folderType)
                {
                case FolderType.COMMON:
                    rootId = Classes.Global.FolderCommon;
                    break;

                case FolderType.USER:
                    rootId = Classes.Global.FolderMy;
                    break;
                }
                if (rootId != null)
                {
                    script.AppendFormat("jq(\"#fileSelectorTree > ul > li.tree-node:not([data-id=\\\"{0}\\\"])\").remove();", rootId);
                }
            }

            if (!string.IsNullOrEmpty(RequestExt))
            {
                script.AppendFormat(";ASC.Files.FileSelector.filesFilter = ASC.Files.Constants.FilterType.ByExtension;"
                                    + "ASC.Files.FileSelector.filesFilterText = \"{0}\";",
                                    RequestExt.Replace("\"", "\\\""));
            }

            FilterType filter;

            if (Enum.TryParse(Request[DocumentTypeParam], out filter))
            {
                script.AppendFormat("ASC.Files.FileSelector.filesFilter = ASC.Files.Constants.FilterType[\"{0}\"] || ASC.Files.Constants.FilterType.None;", filter);
            }

            script.AppendFormat("ASC.Files.FileChoice.init(\"{0}\", ({1} == true), ({2} == true), ({3} == true));",
                                Request[FilesLinkUtility.FolderId],
                                OnlyFolder.ToString().ToLower(),
                                (!string.IsNullOrEmpty(Request[ThirdPartyParam])).ToString().ToLower(),
                                (!string.IsNullOrEmpty(Request[MailMergeParam])).ToString().ToLower());

            Page.RegisterInlineScript(script.ToString());
        }