webdav.client
Version:
WebDAV ajax library for opening documents from a web page and managing WebDAV servers.
1,703 lines (540 loc) • 108 kB
HTML
<!DOCTYPE html>
<html lang="en" style="font-size: 16px">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!-- Adding favicon -->
<!-- Adding meta -->
<!-- Adding external script-->
<!-- Adding external style-->
<!-- Adding scripts-->
<!-- Adding style-->
<title>
Class: DocManager
</title>
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<script src="scripts/third-party/hljs.js" defer></script>
<script src="scripts/third-party/hljs-line-num.js" defer></script>
<script src="scripts/third-party/popper.js" defer></script>
<script src="scripts/third-party/tippy.js" defer></script>
<script src="scripts/third-party/tocbot.min.js"></script>
<script>
var baseURL = "/"
var locationPathname = ""
// Global variables
locationPathname = document.location.pathname
baseURL = locationPathname.substr(0, locationPathname.lastIndexOf("/") + 1)
</script>
<link rel="stylesheet" href="styles/clean-jsdoc-theme.min.css">
<svg aria-hidden="true" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
style="display:none">
<defs>
<symbol id="copy-icon" viewbox="0 0 488.3 488.3">
<g>
<path
d="M314.25,85.4h-227c-21.3,0-38.6,17.3-38.6,38.6v325.7c0,21.3,17.3,38.6,38.6,38.6h227c21.3,0,38.6-17.3,38.6-38.6V124 C352.75,102.7,335.45,85.4,314.25,85.4z M325.75,449.6c0,6.4-5.2,11.6-11.6,11.6h-227c-6.4,0-11.6-5.2-11.6-11.6V124 c0-6.4,5.2-11.6,11.6-11.6h227c6.4,0,11.6,5.2,11.6,11.6V449.6z" />
<path
d="M401.05,0h-227c-21.3,0-38.6,17.3-38.6,38.6c0,7.5,6,13.5,13.5,13.5s13.5-6,13.5-13.5c0-6.4,5.2-11.6,11.6-11.6h227 c6.4,0,11.6,5.2,11.6,11.6v325.7c0,6.4-5.2,11.6-11.6,11.6c-7.5,0-13.5,6-13.5,13.5s6,13.5,13.5,13.5c21.3,0,38.6-17.3,38.6-38.6 V38.6C439.65,17.3,422.35,0,401.05,0z" />
</g>
</symbol>
<symbol id='search-icon' viewBox="0 0 512 512">
<g>
<g>
<path
d="M225.474,0C101.151,0,0,101.151,0,225.474c0,124.33,101.151,225.474,225.474,225.474 c124.33,0,225.474-101.144,225.474-225.474C450.948,101.151,349.804,0,225.474,0z M225.474,409.323 c-101.373,0-183.848-82.475-183.848-183.848S124.101,41.626,225.474,41.626s183.848,82.475,183.848,183.848 S326.847,409.323,225.474,409.323z" />
</g>
</g>
<g>
<g>
<path
d="M505.902,476.472L386.574,357.144c-8.131-8.131-21.299-8.131-29.43,0c-8.131,8.124-8.131,21.306,0,29.43l119.328,119.328 c4.065,4.065,9.387,6.098,14.715,6.098c5.321,0,10.649-2.033,14.715-6.098C514.033,497.778,514.033,484.596,505.902,476.472z" />
</g>
</g>
</symbol>
<symbol id="font-size-icon" viewBox="0 0 24 24">
<path fill="none" d="M0 0h24v24H0z" />
<path
d="M11.246 15H4.754l-2 5H.6L7 4h2l6.4 16h-2.154l-2-5zm-.8-2L8 6.885 5.554 13h4.892zM21 12.535V12h2v8h-2v-.535a4 4 0 1 1 0-6.93zM19 18a2 2 0 1 0 0-4 2 2 0 0 0 0 4z" />
</symbol>
<symbol id="add-icon" viewBox="0 0 24 24">
<path fill="none" d="M0 0h24v24H0z" />
<path d="M11 11V5h2v6h6v2h-6v6h-2v-6H5v-2z" />
</symbol>
<symbol id="minus-icon" viewBox="0 0 24 24">
<path fill="none" d="M0 0h24v24H0z" />
<path d="M5 11h14v2H5z" />
</symbol>
<symbol id="dark-theme-icon" viewBox="0 0 24 24">
<path fill="none" d="M0 0h24v24H0z" />
<path
d="M10 7a7 7 0 0 0 12 4.9v.1c0 5.523-4.477 10-10 10S2 17.523 2 12 6.477 2 12 2h.1A6.979 6.979 0 0 0 10 7zm-6 5a8 8 0 0 0 15.062 3.762A9 9 0 0 1 8.238 4.938 7.999 7.999 0 0 0 4 12z" />
</symbol>
<symbol id="light-theme-icon" viewBox="0 0 24 24">
<path fill="none" d="M0 0h24v24H0z" />
<path
d="M12 18a6 6 0 1 1 0-12 6 6 0 0 1 0 12zm0-2a4 4 0 1 0 0-8 4 4 0 0 0 0 8zM11 1h2v3h-2V1zm0 19h2v3h-2v-3zM3.515 4.929l1.414-1.414L7.05 5.636 5.636 7.05 3.515 4.93zM16.95 18.364l1.414-1.414 2.121 2.121-1.414 1.414-2.121-2.121zm2.121-14.85l1.414 1.415-2.121 2.121-1.414-1.414 2.121-2.121zM5.636 16.95l1.414 1.414-2.121 2.121-1.414-1.414 2.121-2.121zM23 11v2h-3v-2h3zM4 11v2H1v-2h3z" />
</symbol>
<symbol id="reset-icon" viewBox="0 0 24 24">
<path fill="none" d="M0 0h24v24H0z"/>
<path d="M18.537 19.567A9.961 9.961 0 0 1 12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10c0 2.136-.67 4.116-1.81 5.74L17 12h3a8 8 0 1 0-2.46 5.772l.997 1.795z"/>
</symbol>
<symbol id="down-icon" viewBox="0 0 16 16">
<path fill-rule="evenodd" clip-rule="evenodd"
d="M12.7803 6.21967C13.0732 6.51256 13.0732 6.98744 12.7803 7.28033L8.53033 11.5303C8.23744 11.8232 7.76256 11.8232 7.46967 11.5303L3.21967 7.28033C2.92678 6.98744 2.92678 6.51256 3.21967 6.21967C3.51256 5.92678 3.98744 5.92678 4.28033 6.21967L8 9.93934L11.7197 6.21967C12.0126 5.92678 12.4874 5.92678 12.7803 6.21967Z">
</path>
</symbol>
<symbol id="codepen-icon" viewBox="0 0 24 24">
<path fill="none" d="M0 0h24v24H0z"/>
<path d="M16.5 13.202L13 15.535v3.596L19.197 15 16.5 13.202zM14.697 12L12 10.202 9.303 12 12 13.798 14.697 12zM20 10.869L18.303 12 20 13.131V10.87zM19.197 9L13 4.869v3.596l3.5 2.333L19.197 9zM7.5 10.798L11 8.465V4.869L4.803 9 7.5 10.798zM4.803 15L11 19.131v-3.596l-3.5-2.333L4.803 15zM4 13.131L5.697 12 4 10.869v2.262zM2 9a1 1 0 0 1 .445-.832l9-6a1 1 0 0 1 1.11 0l9 6A1 1 0 0 1 22 9v6a1 1 0 0 1-.445.832l-9 6a1 1 0 0 1-1.11 0l-9-6A1 1 0 0 1 2 15V9z"/>
</symbol>
<symbol id="close-icon" viewBox="0 0 24 24">
<path fill="none" d="M0 0h24v24H0z"/>
<path d="M12 10.586l4.95-4.95 1.414 1.414-4.95 4.95 4.95 4.95-1.414 1.414-4.95-4.95-4.95 4.95-1.414-1.414 4.95-4.95-4.95-4.95L7.05 5.636z"/>
</symbol>
<symbol id="menu-icon" viewBox="0 0 24 24">
<path fill="none" d="M0 0h24v24H0z"/>
<path d="M3 4h18v2H3V4zm0 7h18v2H3v-2zm0 7h18v2H3v-2z"/>
</symbol>
</defs>
</svg>
</head>
<body class="light" data-theme="light">
<div class="sidebar-container">
<div class="sidebar" id="sidebar">
<a href="/" class="sidebar-title sidebar-title-anchor">Index</a>
<div class="sidebar-items-container">
<div class="sidebar-section-title with-arrow" data-isopen="true" id="nav_ITHit">
<div>ITHit</div>
<svg><use xlink:href="#down-icon"></use></svg>
</div>
<div class="sidebar-section-children-container">
<div style="padding-left: 8px;">
<div class="sidebar-section-title with-arrow" data-isopen="false" id="nav_ITHitWebDAV">
<div>WebDAV</div>
<svg><use xlink:href="#down-icon"></use></svg>
</div>
<div class="sidebar-section-children-container">
<div style="padding-left: 8px;">
<div class="sidebar-section-title with-arrow" data-isopen="false" id="nav_ITHitWebDAVClient">
<div>Client</div>
<svg><use xlink:href="#down-icon"></use></svg>
</div>
<div class="sidebar-section-children-container">
<div style="padding-left: 8px;">
<div class="sidebar-section-title with-arrow" data-isopen="false" id="nav_ITHitWebDAVClientExceptions">
<div>Exceptions</div>
<svg><use xlink:href="#down-icon"></use></svg>
</div>
<div class="sidebar-section-children-container">
<div style="padding-left: 8px;">
<div class="sidebar-section-children"><a href="ITHit.WebDAV.Client.Exceptions.BadRequestException.html">BadRequestException</a></div>
<div class="sidebar-section-children"><a href="ITHit.WebDAV.Client.Exceptions.ConflictException.html">ConflictException</a></div>
<div class="sidebar-section-children"><a href="ITHit.WebDAV.Client.Exceptions.DependencyFailedException.html">DependencyFailedException</a></div>
<div class="sidebar-section-children"><a href="ITHit.WebDAV.Client.Exceptions.ForbiddenException.html">ForbiddenException</a></div>
<div class="sidebar-section-children"><a href="ITHit.WebDAV.Client.Exceptions.InsufficientStorageException.html">InsufficientStorageException</a></div>
<div class="sidebar-section-children"><a href="ITHit.WebDAV.Client.Exceptions.IntegrationException.html">IntegrationException</a></div>
<div class="sidebar-section-children"><a href="ITHit.WebDAV.Client.Exceptions.LockedException.html">LockedException</a></div>
<div class="sidebar-section-children"><a href="ITHit.WebDAV.Client.Exceptions.MethodNotAllowedException.html">MethodNotAllowedException</a></div>
<div class="sidebar-section-children"><a href="ITHit.WebDAV.Client.Exceptions.NotFoundEventNameException.html">NotFoundEventNameException</a></div>
<div class="sidebar-section-children"><a href="ITHit.WebDAV.Client.Exceptions.NotFoundException.html">NotFoundException</a></div>
<div class="sidebar-section-children"><a href="ITHit.WebDAV.Client.Exceptions.NotImplementedException.html">NotImplementedException</a></div>
<div class="sidebar-section-children"><a href="ITHit.WebDAV.Client.Exceptions.PreconditionFailedException.html">PreconditionFailedException</a></div>
<div class="sidebar-section-children"><a href="ITHit.WebDAV.Client.Exceptions.PropertyConflictException.html">PropertyConflictException</a></div>
<div class="sidebar-section-children"><a href="ITHit.WebDAV.Client.Exceptions.PropertyException.html">PropertyException</a></div>
<div class="sidebar-section-children"><a href="ITHit.WebDAV.Client.Exceptions.PropertyForbiddenException.html">PropertyForbiddenException</a></div>
<div class="sidebar-section-children"><a href="ITHit.WebDAV.Client.Exceptions.PropertyNotFoundException.html">PropertyNotFoundException</a></div>
<div class="sidebar-section-children"><a href="ITHit.WebDAV.Client.Exceptions.QuotaNotExceededException.html">QuotaNotExceededException</a></div>
<div class="sidebar-section-children"><a href="ITHit.WebDAV.Client.Exceptions.SufficientDiskSpaceException.html">SufficientDiskSpaceException</a></div>
<div class="sidebar-section-children"><a href="ITHit.WebDAV.Client.Exceptions.UnauthorizedException.html">UnauthorizedException</a></div>
<div class="sidebar-section-children"><a href="ITHit.WebDAV.Client.Exceptions.WebDavException.html">WebDavException</a></div>
<div class="sidebar-section-children"><a href="ITHit.WebDAV.Client.Exceptions.WebDavHttpException.html">WebDavHttpException</a></div>
</div>
</div>
<div class="sidebar-section-title with-arrow" data-isopen="false" id="nav_ITHitWebDAVClientUpload">
<div>Upload</div>
<svg><use xlink:href="#down-icon"></use></svg>
</div>
<div class="sidebar-section-children-container">
<div style="padding-left: 8px;">
<div class="sidebar-section-title with-arrow" data-isopen="false" id="nav_ITHitWebDAVClientUploadControls">
<div>Controls</div>
<svg><use xlink:href="#down-icon"></use></svg>
</div>
<div class="sidebar-section-children-container">
<div style="padding-left: 8px;">
<div class="sidebar-section-children"><a href="ITHit.WebDAV.Client.Upload.Controls.DropZone.html">DropZone</a></div>
<div class="sidebar-section-children"><a href="ITHit.WebDAV.Client.Upload.Controls.HtmlControl.html">HtmlControl</a></div>
<div class="sidebar-section-children"><a href="ITHit.WebDAV.Client.Upload.Controls.Input.html">Input</a></div>
</div>
</div>
<div class="sidebar-section-title with-arrow" data-isopen="false" id="nav_ITHitWebDAVClientUploadEvents">
<div>Events</div>
<svg><use xlink:href="#down-icon"></use></svg>
</div>
<div class="sidebar-section-children-container">
<div style="padding-left: 8px;">
<div class="sidebar-section-children"><a href="ITHit.WebDAV.Client.Upload.Events.AsyncEvent.html">AsyncEvent</a></div>
<div class="sidebar-section-children"><a href="ITHit.WebDAV.Client.Upload.Events.BeforeUploadStarted.html">BeforeUploadStarted</a></div>
<div class="sidebar-section-children"><a href="ITHit.WebDAV.Client.Upload.Events.ProgressChanged.html">ProgressChanged</a></div>
<div class="sidebar-section-children"><a href="ITHit.WebDAV.Client.Upload.Events.QueueChanged.html">QueueChanged</a></div>
<div class="sidebar-section-children"><a href="ITHit.WebDAV.Client.Upload.Events.StateChanged.html">StateChanged</a></div>
<div class="sidebar-section-children"><a href="ITHit.WebDAV.Client.Upload.Events.UploadError.html">UploadError</a></div>
<div class="sidebar-section-children"><a href="ITHit.WebDAV.Client.Upload.Events.UploadItemsCreated.html">UploadItemsCreated</a></div>
</div>
</div>
<div class="sidebar-section-children"><a href="ITHit.WebDAV.Client.Upload.DropZoneCollection.html">DropZoneCollection</a></div>
<div class="sidebar-section-children"><a href="ITHit.WebDAV.Client.Upload.InputCollection.html">InputCollection</a></div>
<div class="sidebar-section-children"><a href="ITHit.WebDAV.Client.Upload.Progress.html">Progress</a></div>
<div class="sidebar-section-children"><a href="ITHit.WebDAV.Client.Upload.Queue.html">Queue</a></div>
<div class="sidebar-section-children"><a href="ITHit.WebDAV.Client.Upload.Settings.html">Settings</a></div>
<div class="sidebar-section-children"><a href="ITHit.WebDAV.Client.Upload.State.html">State</a></div>
<div class="sidebar-section-children"><a href="ITHit.WebDAV.Client.Upload.UploadItem.html">UploadItem</a></div>
<div class="sidebar-section-children"><a href="ITHit.WebDAV.Client.Upload.Uploader.html">Uploader</a></div>
</div>
</div>
<div class="sidebar-section-children"><a href="ITHit.WebDAV.Client.AsyncResult.html">AsyncResult</a></div>
<div class="sidebar-section-children"><a href="ITHit.WebDAV.Client.DocManager.html">DocManager</a></div>
<div class="sidebar-section-children"><a href="ITHit.WebDAV.Client.Error.html">Error</a></div>
<div class="sidebar-section-children"><a href="ITHit.WebDAV.Client.Features.html">Features</a></div>
<div class="sidebar-section-children"><a href="ITHit.WebDAV.Client.File.html">File</a></div>
<div class="sidebar-section-children"><a href="ITHit.WebDAV.Client.Folder.html">Folder</a></div>
<div class="sidebar-section-children"><a href="ITHit.WebDAV.Client.GEditInfo.html">GEditInfo</a></div>
<div class="sidebar-section-children"><a href="ITHit.WebDAV.Client.HierarchyItem.html">HierarchyItem</a></div>
<div class="sidebar-section-children"><a href="ITHit.WebDAV.Client.HttpStatus.html">HttpStatus</a></div>
<div class="sidebar-section-children"><a href="ITHit.WebDAV.Client.LockInfo.html">LockInfo</a></div>
<div class="sidebar-section-children"><a href="ITHit.WebDAV.Client.LockScope.html">LockScope</a></div>
<div class="sidebar-section-children"><a href="ITHit.WebDAV.Client.LockUriTokenPair.html">LockUriTokenPair</a></div>
<div class="sidebar-section-children"><a href="ITHit.WebDAV.Client.MsOfficeEditExtensions.html">MsOfficeEditExtensions</a></div>
<div class="sidebar-section-children"><a href="ITHit.WebDAV.Client.Multistatus.html">Multistatus</a></div>
<div class="sidebar-section-children"><a href="ITHit.WebDAV.Client.MultistatusResponse.html">MultistatusResponse</a></div>
<div class="sidebar-section-children"><a href="ITHit.WebDAV.Client.OptionsInfo.html">OptionsInfo</a></div>
<div class="sidebar-section-children"><a href="ITHit.WebDAV.Client.OrderProperty.html">OrderProperty</a></div>
<div class="sidebar-section-children"><a href="ITHit.WebDAV.Client.PageResults.html">PageResults</a></div>
<div class="sidebar-section-children"><a href="ITHit.WebDAV.Client.Property.html">Property</a></div>
<div class="sidebar-section-children"><a href="ITHit.WebDAV.Client.PropertyList.html">PropertyList</a></div>
<div class="sidebar-section-children"><a href="ITHit.WebDAV.Client.PropertyMultistatusResponse.html">PropertyMultistatusResponse</a></div>
<div class="sidebar-section-children"><a href="ITHit.WebDAV.Client.PropertyName.html">PropertyName</a></div>
<div class="sidebar-section-children"><a href="ITHit.WebDAV.Client.Request.html">Request</a></div>
<div class="sidebar-section-children"><a href="ITHit.WebDAV.Client.RequestProgress.html">RequestProgress</a></div>
<div class="sidebar-section-children"><a href="ITHit.WebDAV.Client.ResourceType.html">ResourceType</a></div>
<div class="sidebar-section-children"><a href="ITHit.WebDAV.Client.ResumableUpload.html">ResumableUpload</a></div>
<div class="sidebar-section-children"><a href="ITHit.WebDAV.Client.SPSManager.html">SPSManager</a></div>
<div class="sidebar-section-children"><a href="ITHit.WebDAV.Client.SearchQuery.html">SearchQuery</a></div>
<div class="sidebar-section-children"><a href="ITHit.WebDAV.Client.Source.html">Source</a></div>
<div class="sidebar-section-children"><a href="ITHit.WebDAV.Client.Version.html">Version</a></div>
<div class="sidebar-section-children"><a href="ITHit.WebDAV.Client.WebDavRequest.html">WebDavRequest</a></div>
<div class="sidebar-section-children"><a href="ITHit.WebDAV.Client.WebDavSession.html">WebDavSession</a></div>
</div>
</div>
</div>
</div>
<div class="sidebar-section-children"><a href="ITHit.Environment.html">Environment</a></div>
<div class="sidebar-section-children"><a href="ITHit.LogLevel.html">LogLevel</a></div>
<div class="sidebar-section-children"><a href="ITHit.Logger.html">Logger</a></div>
</div>
</div>
</div>
</div>
</div>
<div class="navbar-container " id="VuAckcnZhf">
<nav class="navbar">
<div class="navbar-left-items">
</div>
<div class="navbar-right-items">
<div class="navbar-right-item">
<button class="icon-button search-button" aria-label='open-search'>
<svg><use xlink:href="#search-icon"></use></svg>
</button>
</div>
<div class="navbar-right-item">
<button class="icon-button theme-toggle" aria-label='toggle-theme'>
<svg><use class="theme-svg-use" xlink:href="#dark-theme-icon"></use></svg>
</button>
</div>
<div class="navbar-right-item">
<button class="icon-button font-size" aria-label='change-font-size'>
<svg><use xlink:href="#font-size-icon"></use></svg>
</button>
</div>
</div>
<nav>
</div>
<div class="toc-container ">
<div class="toc-content">
<div id="eed4d2a0bfd64539bb9df78095dec881"></div>
</div>
</div>
<div class="body-wrapper">
<div class="main-content ">
<div class="main-wrapper">
<h1 class="page-title js-toc-ignore" data-filename="ITHit.WebDAV.Client.DocManager.html">Class: DocManager</h1>
<section>
<header>
<h2 id="DocManager-title">
DocManager
Class
</h2>
<h3 id="namespace" class="subsection-title">Namespace</h3>
<div class="description">ITHit.WebDAV.Client</div>
</header>
<article>
<div class="container-overview">
<dt>
<div class="nameContainer">
</div>
</dt>
<dd>
<div class="description">
This class provides methods for opening documents for editing directly from server and saving back to server
without download and upload steps. This includes editing Microsoft Office documents as well as any other file
types and works on Windows, Mac OS X and Linux.
</div>
<dl class="details">
</dl>
</dd>
</div>
<h3 id="members" class="subsection-title">Members</h3>
<dl>
<dt>
<div class="nameContainer">
<h4 class="name" id=".MsOfficeEditExtensions"><span class="type-signature static">static</span> ITHit.WebDAV.Client.DocManager.MsOfficeEditExtensions<span class="type-signature type ithit.webdav.client.msofficeeditextensions"> :<a href="ITHit.WebDAV.Client.MsOfficeEditExtensions.html">ITHit.WebDAV.Client.MsOfficeEditExtensions</a></span> </h4>
<span class="toc-nav-name">MsOfficeEditExtensions</span>
</div>
</dt>
<dd>
<div class="description">
Collection of extensions of files which are opened with Microsoft Office.
</div>
<dl class="details">
</dl>
<h5>Examples</h5>
<div class="nav nav-tabs">
<a class="nav-tab active" data-toggle="tab" href="#menuJavaScript_bybmtofc58">JavaScript</a>
<a class="nav-tab " data-toggle="tab" href="#menuTypeScript_bybmtofc58">TypeScript</a>
</div>
<div class="tab-content">
<div id="menuJavaScript_bybmtofc58" class="tab-pane active">
<pre class="prettyprint" data-lang="javascript"><code>var sDocumentUrl = 'http://localhost:87654/myfile.rtf';
var sMountPoint = 'http://localhost:87654/';
ITHit.WebDAV.Client.DocManager.MsOfficeEditExtensions.Word.push("rtf");
// Now .rtf files are opened with Microsoft Word.
ITHit.WebDAV.Client.DocManager.EditDocument(sDocumentUrl, sMountPoint, fProtocolInstallCallback);
// or call
// ITHit.WebDAV.Client.DocManager.MicrosoftOfficeEditDocument(sDocumentUrl, fProtocolInstallCallback);</code></pre>
</div>
<div id="menuTypeScript_bybmtofc58" class="tab-pane ">
<pre class="prettyprint" data-lang="typescript"><code>import { ITHit } from "webdav.client";
const sDocumentUrl = "http://localhost:87654/myfile.rtf";
const sMountPoint = "http://localhost:87654/";
const fProtocolInstallCallback = function () {};
ITHit.WebDAV.Client.DocManager.MsOfficeEditExtensions.Word.push("rtf");
// Now .rtf files are opened with Microsoft Word.
ITHit.WebDAV.Client.DocManager.EditDocument(sDocumentUrl, sMountPoint, fProtocolInstallCallback);
// or call
// ITHit.WebDAV.Client.DocManager.MicrosoftOfficeEditDocument(sDocumentUrl, fProtocolInstallCallback);</code></pre>
</div>
</div>
</dd>
<dt>
<div class="nameContainer">
<h4 class="name" id=".ProtocolName"><span class="type-signature static">static</span> ITHit.WebDAV.Client.DocManager.ProtocolName<span class="type-signature type string"> :string</span> </h4>
<span class="toc-nav-name">ProtocolName</span>
</div>
</dt>
<dd>
<div class="description">
WebDAV protocol name.
</div>
<dl class="details">
</dl>
</dd>
<dt>
<div class="nameContainer">
<h4 class="name" id=".ProtocolTimeoutMs"><span class="type-signature static">static</span> ITHit.WebDAV.Client.DocManager.ProtocolTimeoutMs<span class="type-signature type number"> :number</span> </h4>
<span class="toc-nav-name">ProtocolTimeoutMs</span>
</div>
</dt>
<dd>
<div class="description">
Timeout in milliseconds to call error callback if application associated with the extension did not start.
Default is 3000ms.
Used in Chrome / Internet Explorer / Safari if protocol application is not installed AND web browser protocol warning dialog is disabled AND EditDocument() / MicrosoftOfficeEditDocument() function is called (in case of Basic/Digest/Anonymous authentication).
NOT used in Firefox / Edge OR if DavProtocolEditDocument() is called OR if web browser protocol warning dialog is enabled.
</div>
<dl class="details">
</dl>
</dd>
</dl>
<h3 id="methods" class="subsection-title">Methods</h3>
<dl>
<dt>
<div class="nameContainer">
<h4 class="name" id=".DavProtocolEditDocument">
<span class="type-signature static">static</span> ITHit.WebDAV.Client.DocManager.DavProtocolEditDocument<span class="signature">(sDocumentUrls, <span class="optional">sMountUrl</span>, <span class="optional">errorCallback</span>, <span class="optional">reserved</span>, <span class="optional">sSearchIn</span>, <span class="optional">sCookieNames</span>, <span class="optional">sLoginUrl</span>, <span class="optional">sCommand</span>, <span class="optional">bDriveVisible</span>, <span class="optional">fAfterMapPathFunc</span>, <span class="optional">fAfterReverseMapPathFunc</span>)</span>
</h4>
<span class="toc-nav-name">DavProtocolEditDocument</span>
</div>
</dt>
<dd>
<div class="description">
<p>Opens document for editing or printing using davX: protocol and prompts to install the protocol it if not found.</p>
<i class="optional">The following functionality is supported in v3 Beta and later only:</i>
<p>
This function supports both challenge-response authentication (Basic, Digest, NTLM, Kerberos) and cookies authentication.
If <code>'None'</code> is specified in the <code>sSearchIn</code> parameter the challenge-response authentication is used, otherwise cookies authentication is used.
</p>
</div>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>sDocumentUrls</code></td>
<td class="type">
<span class="param-type">string</span>
|
<span class="param-type">Array.<string></span>
</td>
<td class="description last">
Array of document URLs to be opened for editing from server. All documents must be located under the same mount URL (specified in <code>sMountUrl</code> parameter). Must be a full URL(s) including the domain name.</td>
</tr>
<tr>
<td class="name"><code>sMountUrl</code></td>
<td class="type">
<span class="param-type">string</span>
</td>
<td class="description last">
<span class="optional">optional</span>
URL to mount file system to before opening the folder. Usually this is your WebDAV server root folder. If this perameter is not specified file system will be mounted to the folder in which document is located.</td>
</tr>
<tr>
<td class="name"><code>errorCallback</code></td>
<td class="type">
<span class="param-type">function</span>
</td>
<td class="description last">
<span class="optional">optional</span>
Function to call if document opening failed. Typically you will request the protocol installation in this callback.
If not specified a default message offering protocol installation will be displayed.</td>
</tr>
<tr>
<td class="name"><code>reserved</code></td>
<td class="type">
<span class="param-type">string</span>
</td>
<td class="description last">
<span class="optional">optional</span>
Reserved for future use.</td>
</tr>
<tr>
<td class="name"><code>sSearchIn</code></td>
<td class="type">
<span class="param-type">string</span>
</td>
<td class="description last">
<span class="optional">optional</span>
<span class="optional">v3 Beta and later only.</span> Indicates cookies authentication. Supported options are:
<ul>
<li><code>'Current'</code> - Copies cookies from web browser in which this script is running.</li>
<li><code>'None'</code> - do not search or copy any cookies.</li>
</ul>
Default is <code>'None'</code>.</td>
</tr>
<tr>
<td class="name"><code>sCookieNames</code></td>
<td class="type">
<span class="param-type">string</span>
</td>
<td class="description last">
<span class="optional">optional</span>
<span class="optional">v3 Beta and later only.</span> Coma separated list of cookie names to search for. Microsoft Office requires persistent cookie (with expiration date), it does not support session cookies.</td>
</tr>
<tr>
<td class="name"><code>sLoginUrl</code></td>
<td class="type">
<span class="param-type">string</span>
</td>
<td class="description last">
<span class="optional">optional</span>
<span class="optional">v3 Beta and later only.</span> Login URL to redirect to in case any cookies specified in <code>sCookieNames</code> parameter are not found.</td>
</tr>
<tr>
<td class="name"><code>sCommand</code></td>
<td class="type">
<span class="param-type">string</span>
</td>
<td class="description last">
<span class="optional">optional</span>
<span class="optional">v3 Beta and later only.</span> Command to use when opening the document. Supported options are:
<ul>
<li> <code>null</code> - Chooses an appropriate verb to open a document in the associated application.
<li> <code>'Edit'</code> - Opens a document for editing.
<li> <code>'Open'</code> - Opens a document in the associated application. Not applicable for some applications.
<li> <code>'OpenWith'</code> - Show system 'Open With' dialog to select application to be used to open a document. This option is supported on Windows only.
<li> <code>'Print'</code> - Prints a document. The application that prints a document is running in a minimized state and automatically closes if printing is successful. If printing fails, the application remains open. To print multiple documents, pass a list of documents as a first parameter. This option is supported on Windows only.
</ul>
Default is <code>null</code>.</td>
</tr>
<tr>
<td class="name"><code>bDriveVisible</code></td>
<td class="type">
<span class="param-type">boolean</span>
</td>
<td class="description last">
<span class="optional">optional</span>
<span class="optional">v6.1 and later only.</span> Specifies whether the mounted drive is visible in Windows Explorer. Set to <code>false</code> to hide the drive. Default is <code>false</code>.</td>
</tr>
<tr>
<td class="name"><code>fAfterMapPathFunc</code></td>
<td class="type">
<span class="param-type">function</span>
</td>
<td class="description last">
<span class="optional">optional</span>
<span class="optional">v6.2 and later only.</span> JavaScript function called after local path is mapped into remote storage URI. In this function you can modify the remote storage URI. For example you can add your session key to the URI, to support URL-authentication. Default is <code>null</code>.</td>
</tr>
<tr>
<td class="name"><code>fAfterReverseMapPathFunc</code></td>
<td class="type">
<span class="param-type">function</span>
</td>
<td class="description last">
<span class="optional">optional</span>
<span class="optional">v6.2 and later only.</span> JavaScript function called after remote storage URI is mapped into local path. In this function you can modify the local path. For example, remove your session key, so it does not being present in your file system as a folder. Default is <code>null</code>.</td>
</tr>
</tbody>
</table>
<dl class="details">
</dl>
<h5>Example</h5>
<pre class="prettyprint"><code><!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<script type="text/javascript" src="ITHitWebDAVClient.js" ></script>
</head>
<body>
<script type="text/javascript">
// Adds session key to remote storage URI.
var afterMapPathFunc = function(remoteUri) {
// Extract origin (protocol + host)
var match = remoteUri.match(/^(https?:\/\/[^\/]+)(\/.*)?$/i);
if (!match) return remoteUri;
var origin = match[1];
var path = match[2] || "/";
// If your real-life application you will generate session key with your server-side rendering:
// var sessionKey = '/session/<%= Session.SessionID %>';
var sessionKey = '/session/1234567'; // replace with your dynamic logic
// Return new URL with session inserted
return origin + sessionKey + path;
};
// Removes session key from local path.
var afterReverseMapPathFunc = function(path) {
return path.replace(/[\\/]session[\\/][^\\/]+/i, '');
};
function edit() {
ITHit.WebDAV.Client.DocManager.DavProtocolEditDocument(
'http://localhost:87654/folder/file.ext', // Document URL(s)
'http://localhost:87654/', // Mount URL
errorCallback, // Function to call if protocol app is not installed
null, // Reserved
'Current', // Which browser to copy cookies from: 'Current', 'None'
'.AspNet.ApplicationCookie', // Cookie(s) to copy.
'/Account/Login', // URL to navigate to if any cookie from the list is not found.
'Edit', // Command to execute: 'Edit', 'OpenWith', 'Print'
false, // Hide drive in OS file manager.
afterMapPathFunc, // Function to modify remote URI after mapping
afterReverseMapPathFunc // Function to modify path after reverse mapping
);
}
function errorCallback() {
var installerFilePath = "/Plugins/" + ITHit.WebDAV.Client.DocManager.GetProtocolInstallFileNames()[0];
if (confirm("Opening this type of file requires a protocol installation. Select OK to download the protocol installer.")){
window.open(installerFilePath);
}
}
</script>
<input type="button" value="Edit Document" onclick="edit()" />
</body>
</html></code></pre>
</dd>
<dt>
<div class="nameContainer">
<h4 class="name" id=".DavProtocolOpenFolderInOsFileManager">
<span class="type-signature static">static</span> ITHit.WebDAV.Client.DocManager.DavProtocolOpenFolderInOsFileManager<span class="signature">(sFolderUrl, <span class="optional">sMountUrl</span>, <span class="optional">errorCallback</span>, <span class="optional">reserved</span>, <span class="optional">sSearchIn</span>, <span class="optional">sCookieNames</span>, <span class="optional">sLoginUrl</span>, <span class="optional">sCommand</span>, <span class="optional">bDriveVisible</span>, <span class="optional">fAfterMapPathFunc</span>, <span class="optional">fAfterReverseMapPathFunc</span>)</span>
</h4>
<span class="toc-nav-name">DavProtocolOpenFolderInOsFileManager</span>
</div>
</dt>
<dd>
<div class="description">
<p>Opens folder in OS file manager using davX: protocol and prompts to install the protocol it if not found.</p>
<i class="optional">The following functionality is supported in v3 Beta and later only:</i>
<p>
This function supports both challenge-response authentication (Basic, Digest, NTLM, Kerberos) and cookies authentication.
If <code>'None'</code> is specified in the <code>sSearchIn</code> parameter the challenge-response authentication is used, otherwise cookies authentication is used.
</p>
</div>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>sFolderUrl</code></td>
<td class="type">
<span class="param-type">string</span>
</td>
<td class="description last">
URL of the folder to be opened in OS file manager. Must be a full URL including the domain name.</td>
</tr>
<tr>
<td class="name"><code>sMountUrl</code></td>
<td class="type">
<span class="param-type">string</span>
</td>
<td class="description last">
<span class="optional">optional</span>
URL to mount file system to before opening the folder. Usually this is your WebDAV server root folder. If this perameter is not specified file system will be mounted to the folder in which document is located.</td>
</tr>
<tr>
<td class="name"><code>errorCallback</code></td>
<td class="type">
<span class="param-type">function</span>
</td>
<td class="description last">
<span class="optional">optional</span>
Function to call if folder opening failed. Typically you will request the protocol installation in this callback.
If not specified a defau