Good afternoon,
After some extended searching on the forums, Google and SO I have been unable to find any way to integrate mobile-support (long-touch) for FileExplorer.
What I want is to show the context-menu (rename, download etc...) when a user is on a handheld device (most usually an iPad using Safari).
I've found some threads showing how to add mobile-support for radschedulers and attempted to integrate it into my code, but to no avail.
To clarify: I want my FileExplorer to handle any longtouch on a handheld device as a right-click event by a mouse (desktop).
<%@ Control Language="vb" AutoEventWireup="false" CodeBehind="FileExplorer.ascx.vb" Inherits="WSC.DNN.WSCFileExplorer.FileExplorer" %><%@ Register assembly="Telerik.Web.UI" namespace="Telerik.Web.UI" tagprefix="telerik" %><script type="text/javascript"> (function (global, undefined) { function OnClientFileOpen(oExplorer, args) { var item = args.get_item(); var fileExtension = item.get_extension(); var fileDownloadMode = true; if ((fileDownloadMode == true) && (fileExtension == "jpg" || fileExtension == "gif" || fileExtension == "png")) {// Download the file // File is a image document, do not open a new window args.set_cancel(true); // Tell browser to open file directly var requestImage = window.location.origin + "/Desktopmodules/WSCFileExplorer/Controls/Handler.ashx?path=" + item.get_url(); if (requestImage.indexOf("localhost") != -1) { requestImage = window.location.origin + "/jaberodnn7/Desktopmodules/WSCFileExplorer/Controls/Handler.ashx?path=" + item.get_url(); } //var requestImage = "Handler.ashx?path=" + item.get_url(); //document.location = requestImage; window.open(requestImage); } } global.OnClientFileOpen = OnClientFileOpen; })(window); jQuery(function ($) { var setupModule = function () { $('#frmWSCRepository').dnnPanels(); $('#frmWSCRepository .dnnFormExpandContent a').dnnExpandAll({ targetArea: '#frmWSCRepository' }); }; setupModule(); Sys.WebForms.PageRequestManager.getInstance().add_endRequest(function () { // note that this will fire when _any_ UpdatePanel is triggered, // which may or may not cause an issue setupModule(); }); }); //function OnClientLoad(explorer, args) { // var chkBox = $get("fileexplorer1_chkOverwrite"); // chkBox.checked = true; // chkBox.parentNode.style.display = "none"; //}; //function OnClientFileOpen(sender, args) { // if (!args.get_item().isDirectory()) { // var href = args.get_item().get_path(); // window.location.href = href; // args.set_cancel(true); // } //};</script><div class="dnnForm dnnClear" id="frmWSCRepository"> <h2 id="WSCRepositoryExp" class="dnnFormSectionHead"> <a href="#">Documents Repository</a></h2> <fieldset class="dnnClear"> <telerik:RadFileExplorer runat="server" ID="WSCFileExplorer" Width="520px" Height="310px" Language="en-GB" PageSize="50" EnableOpenFile="true" onclientfileopen="OnClientFileOpen"> </telerik:RadFileExplorer> <asp:CustomValidator ID="CustomValidator1" runat="server" CssClass="dnnFormMessage dnnFormValidationSummary" ErrorMessage="CustomValidator" Display="Dynamic"></asp:CustomValidator> </fieldset> <!-- javacsript taking care of the download (rightclick) event --> <script> function extendedFileExplorer_onGridContextItemClicked(oGridMenu, args) { var menuItemText = args.get_item().get_text(); if (menuItemText == "Download") {// 'Download' command extendedFileExplorer_sendItemsPathsToServer(); } } function extendedFileExplorer_sendItemsPathsToServer() { var oExplorer = $find("<%= WSCFileExplorer.ClientID%>"); // Find the RadFileExplorer ; var selectedItems = oExplorer.get_selectedItems(); // Retrieve the selected items ; var selectedItemsPaths = extendedFileExplorer_combinePathsInAString(selectedItems); // Get the paths as a string in specific format ; var hiddenField = $get("<%= ctlHiddenField.ClientID %>"); // Find the hiddenField hiddenField.value = selectedItemsPaths; __doPostBack("<%= btnDownload.UniqueID %>", ""); // Call the 'btnDownload_Click' function on the server ; } function extendedFileExplorer_combinePathsInAString(arrayOfSelectedItems) { var itemPaths = new Array(); for (var i = 0; i < arrayOfSelectedItems.length; i++) { // Pass all the selected paths ; itemPaths.push(arrayOfSelectedItems[i].get_path()); } // Return a string that contains the paths ; return itemPaths.join("|"); }</script>Thanks!
