webdav.client 5.21.5821 → 5.21.5822

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.d.ts ADDED
@@ -0,0 +1,1861 @@
1
+ // -----------------------------------------------------------------------
2
+ // IT Hit WebDAV Ajax Library v5.21.5822.0
3
+ // Copyright © 2020 IT Hit LTD. All rights reserved.
4
+ // License: https://www.webdavsystem.com/ajax/
5
+ // -----------------------------------------------------------------------
6
+
7
+ export namespace ITHit{
8
+ namespace WebDAV{
9
+ namespace Client{
10
+ /**
11
+ * The ITHit.WebDav.Client.Exceptions namespace provides classes that represent various WebDAV client library exceptions, erroneous server responses and HTTP errors.
12
+ * @namespace ITHit.WebDAV.Client.Exceptions
13
+ */
14
+ namespace Exceptions{
15
+ /**
16
+ * Base exception for all exceptions thrown by WebDAV client library.
17
+ * Initializes a new instance of the WebDavException class with a specified error message.
18
+ * @api
19
+ * @class ITHit.WebDAV.Client.Exceptions.WebDavException
20
+ */
21
+ class WebDavException{
22
+ }/**
23
+ * Is thrown whenever and erroneous http response is received. Initializes a new instance of the WebDavHttpException
24
+ * class with a specified error message, a reference to the inner exception that is the cause of this exception,
25
+ * href of the item, multistatus response and status of the response caused the error.
26
+ * @api
27
+ * @class ITHit.WebDAV.Client.Exceptions.WebDavHttpException
28
+ * @extends ITHit.WebDAV.Client.Exceptions.WebDavException
29
+ */
30
+ class WebDavHttpException{
31
+ }/**
32
+ * Is raised whenever property processing was unsuccessfull. Initializes a new instance of the PropertyException
33
+ * class with a specified error message, a reference to the inner exception that is the cause of this exception,
34
+ * href of the item and multistatus response caused the error.
35
+ * @api
36
+ * @class ITHit.WebDAV.Client.Exceptions.PropertyException
37
+ * @extends ITHit.WebDAV.Client.Exceptions.WebDavHttpException
38
+ */
39
+ class PropertyException{
40
+ /**
41
+ * Name of the property processing of which caused the exception.
42
+ * @api
43
+ * @type {ITHit.WebDAV.Client.PropertyName}
44
+ */
45
+ PropertyName: ITHit.WebDAV.Client.PropertyName
46
+ }/**
47
+ * Thrown when server responded with Property Not Found http response. Initializes a new instance of the
48
+ * PropertyNotFoundException class with a specified error message, a reference to the inner exception that
49
+ * is the cause of this exception, href of the item and multistatus response caused the error.
50
+ * @api
51
+ * @class ITHit.WebDAV.Client.Exceptions.PropertyNotFoundException
52
+ * @extends ITHit.WebDAV.Client.Exceptions.PropertyException
53
+ */
54
+ class PropertyNotFoundException{
55
+ }/**
56
+ * Thrown when server responded with Property forbidden http response. Initializes a new instance of the
57
+ * PropertyForbiddenException class with a specified error message, a reference to the inner exception
58
+ * that is the cause of this exception, href of the item and multistatus response caused the error.
59
+ * @api
60
+ * @class ITHit.WebDAV.Client.Exceptions.PropertyForbiddenException
61
+ * @extends ITHit.WebDAV.Client.Exceptions.PropertyException
62
+ */
63
+ class PropertyForbiddenException{
64
+ }/**
65
+ * Base exception for all exceptions thrown by browser extension integration.
66
+ * Initializes a new instance of the IntegrationException class with a specified error message.
67
+ * @api
68
+ * @class ITHit.WebDAV.Client.Exceptions.IntegrationException
69
+ */
70
+ class IntegrationException{
71
+ }/**
72
+ * Incorrect credentials provided or insufficient permissions to access the requested item. Initializes a new instance
73
+ * of the UnauthorizedException class with a specified error message, a reference to the inner exception that is the
74
+ * cause of this exception, href of the item and multistatus response caused the error.
75
+ * @api
76
+ * @class ITHit.WebDAV.Client.Exceptions.UnauthorizedException
77
+ * @extends ITHit.WebDAV.Client.Exceptions.WebDavHttpException
78
+ */
79
+ class UnauthorizedException{
80
+ }/**
81
+ * The request could not be understood by the server due to malformed syntax.
82
+ * Initializes a new instance of the BadRequestException class with a specified error message, a reference to the
83
+ * inner exception that is the cause of this exception, href of the item and multistatus response caused the error.
84
+ * @api
85
+ * @class ITHit.WebDAV.Client.Exceptions.BadRequestException
86
+ * @extends ITHit.WebDAV.Client.Exceptions.WebDavHttpException
87
+ */
88
+ class BadRequestException{
89
+ }/**
90
+ * The request could not be carried because of conflict on server.
91
+ * Initializes a new instance of the ConflictException class with a specified error message, a reference
92
+ * to the inner exception that is the cause of this exception, href of the item and multistatus response
93
+ * caused the error.
94
+ * @api
95
+ * @class ITHit.WebDAV.Client.Exceptions.ConflictException
96
+ * @extends ITHit.WebDAV.Client.Exceptions.WebDavHttpException
97
+ */
98
+ class ConflictException{
99
+ }/**
100
+ * The item is locked. Initializes a new instance of the LockedException class with a specified error message,
101
+ * a reference to the inner exception that is the cause of this exception, href of the item and multistatus
102
+ * response caused the error.
103
+ * @api
104
+ * @class ITHit.WebDAV.Client.Exceptions.LockedException
105
+ * @extends ITHit.WebDAV.Client.Exceptions.WebDavHttpException
106
+ */
107
+ class LockedException{
108
+ /**
109
+ * Multistatus Contains {@link ITHit.WebDAV.Client.Multistatus} with elements that had errors, if multistatus information was available in response.
110
+ * @api
111
+ * @type {ITHit.WebDAV.Client.Multistatus}
112
+ */
113
+ Multistatus: ITHit.WebDAV.Client.Multistatus
114
+ /**
115
+ * Http status with wich request failed.
116
+ * @api
117
+ * @type {ITHit.WebDAV.Client.HttpStatus}
118
+ */
119
+ Status: ITHit.WebDAV.Client.HttpStatus
120
+ /**
121
+ * Uri for which request failed.
122
+ * @api
123
+ * @type {string}
124
+ */
125
+ Uri: string
126
+ /**
127
+ * Error contains IError with additional info, if error information was available in response.
128
+ * @api
129
+ * @type {ITHit.WebDAV.Client.Error}
130
+ */
131
+ Error: ITHit.WebDAV.Client.Error
132
+ }/**
133
+ * The server refused to fulfill the request. Initializes a new instance of the ForbiddenException class with
134
+ * a specified error message, a reference to the inner exception that is the cause of this exception, href of
135
+ * the item and multistatus response caused the error.
136
+ * @api
137
+ * @class ITHit.WebDAV.Client.Exceptions.ForbiddenException
138
+ * @extends ITHit.WebDAV.Client.Exceptions.WebDavHttpException
139
+ */
140
+ class ForbiddenException{
141
+ }/**
142
+ * The method is not allowed. Initializes a new instance of the MethodNotAllowedException class with a specified
143
+ * error message, a reference to the inner exception that is the cause of this exception, href of the item and
144
+ * multistatus response caused the error.
145
+ * @api
146
+ * @class ITHit.WebDAV.Client.Exceptions.MethodNotAllowedException
147
+ * @extends ITHit.WebDAV.Client.Exceptions.WebDavHttpException
148
+ */
149
+ class MethodNotAllowedException{
150
+ }/**
151
+ * The method is not implemented. Initializes a new instance of the NotImplementedException class with a specified
152
+ * error message, a reference to the inner exception that is the cause of this exception, href of the item and
153
+ * multistatus response caused the error.
154
+ * @api
155
+ * @class ITHit.WebDAV.Client.Exceptions.NotImplementedException
156
+ * @extends ITHit.WebDAV.Client.Exceptions.WebDavHttpException
157
+ */
158
+ class NotImplementedException{
159
+ }/**
160
+ * The item doesn't exist on the server. Initializes a new instance of the NotFoundException class with a specified
161
+ * error message, a reference to the inner exception that is the cause of this exception, href of the item and
162
+ * multistatus response caused the error.
163
+ * @api
164
+ * @class ITHit.WebDAV.Client.Exceptions.NotFoundException
165
+ * @extends ITHit.WebDAV.Client.Exceptions.WebDavHttpException
166
+ */
167
+ class NotFoundException{
168
+ }/**
169
+ * Precondition failed. Initializes a new instance of the PreconditionFailedException class with a specified error
170
+ * message, a reference to the inner exception that is the cause of this exception, href of the item and multistatus
171
+ * response with error details.
172
+ * @api
173
+ * @class ITHit.WebDAV.Client.Exceptions.PreconditionFailedException
174
+ * @extends ITHit.WebDAV.Client.Exceptions.WebDavHttpException
175
+ */
176
+ class PreconditionFailedException{
177
+ }/**
178
+ * The method could not be performed on the resource because the requested action depended on another action
179
+ * and that action failed. Initializes a new instance of the DependencyFailedException class with a specified
180
+ * error message, a reference to the inner exception that is the cause of this exception, href of the item
181
+ * and multistatus response caused the error.
182
+ * @api
183
+ * @class ITHit.WebDAV.Client.Exceptions.DependencyFailedException
184
+ * @extends ITHit.WebDAV.Client.Exceptions.WebDavHttpException
185
+ */
186
+ class DependencyFailedException{
187
+ }/**
188
+ * Insufficient storage exception. Initializes a new instance of the InsufficientStorageException class with
189
+ * a specified error message, a reference to the inner exception that is the cause of this exception, href of
190
+ * the item and error response caused the error.
191
+ * @api
192
+ * @class ITHit.WebDAV.Client.Exceptions.InsufficientStorageException
193
+ * @extends ITHit.WebDAV.Client.Exceptions.WebDavHttpException
194
+ */
195
+ class InsufficientStorageException{
196
+ }/**
197
+ * Quota not exceeded exception. Initializes a new instance of the QuotaNotExceededException class with a
198
+ * specified error message, a reference to the inner exception that is the cause of this exception, href of
199
+ * the item and error response caused the error.
200
+ * @api
201
+ * @class ITHit.WebDAV.Client.Exceptions.QuotaNotExceededException
202
+ * @extends ITHit.WebDAV.Client.Exceptions.InsufficientStorageException
203
+ */
204
+ class QuotaNotExceededException{
205
+ }/**
206
+ * Sufficient disk space exception. Initializes a new instance of the SufficientDiskSpaceException class with
207
+ * a specified error message, a reference to the inner exception that is the cause of this exception, href of
208
+ * the item and error response caused the error.
209
+ * @api
210
+ * @class ITHit.WebDAV.Client.Exceptions.SufficientDiskSpaceException
211
+ * @extends ITHit.WebDAV.Client.Exceptions.InsufficientStorageException
212
+ */
213
+ class SufficientDiskSpaceException{
214
+ }}/**
215
+ * Represents name of property
216
+ * @api
217
+ * @class ITHit.WebDAV.Client.PropertyName
218
+ */
219
+ class PropertyName{
220
+ /**
221
+ * Name of the property.
222
+ * @api
223
+ * @type {string}
224
+ */
225
+ Name: string
226
+ /**
227
+ * Namespace of the property.
228
+ * @api
229
+ * @type {string}
230
+ */
231
+ NamespaceUri: string
232
+ /**
233
+ * Returns string representation of current property name.
234
+ * @api
235
+ * @returns {string} String representation of current property name.
236
+ */
237
+ toString(): string;
238
+ }/**
239
+ * Structure that describes HTTP response's status.
240
+ * @api
241
+ * @class ITHit.WebDAV.Client.HttpStatus
242
+ */
243
+ namespace HttpStatus{
244
+ /**
245
+ * No status defined.
246
+ * @api
247
+ * @type {ITHit.WebDAV.Client.HttpStatus}
248
+ */
249
+ None: ITHit.WebDAV.Client.HttpStatus
250
+ /**
251
+ * The request requires user authentication.
252
+ * @api
253
+ * @type {ITHit.WebDAV.Client.HttpStatus}
254
+ */
255
+ Unauthorized: ITHit.WebDAV.Client.HttpStatus
256
+ /**
257
+ * The request has succeeded.
258
+ * @api
259
+ * @type {ITHit.WebDAV.Client.HttpStatus}
260
+ */
261
+ OK: ITHit.WebDAV.Client.HttpStatus
262
+ /**
263
+ * The request has been fulfilled and resulted in a new resource being created.
264
+ * @api
265
+ * @type {ITHit.WebDAV.Client.HttpStatus}
266
+ */
267
+ Created: ITHit.WebDAV.Client.HttpStatus
268
+ /**
269
+ * The server has fulfilled the request but does not need to return an entity-body, and might want to
270
+ * return updated meta information.
271
+ * @api
272
+ * @type {ITHit.WebDAV.Client.HttpStatus}
273
+ */
274
+ NoContent: ITHit.WebDAV.Client.HttpStatus
275
+ /**
276
+ * The server has fulfilled the partial GET request for the resource.
277
+ * @api
278
+ * @type {ITHit.WebDAV.Client.HttpStatus}
279
+ */
280
+ PartialContent: ITHit.WebDAV.Client.HttpStatus
281
+ /**
282
+ * This status code provides status for multiple independent operations.
283
+ * @api
284
+ * @type {ITHit.WebDAV.Client.HttpStatus}
285
+ */
286
+ MultiStatus: ITHit.WebDAV.Client.HttpStatus
287
+ /**
288
+ * This status code is used instead if 302 redirect. This is because 302 code is processed automatically
289
+ * and there is no way to process redirect to login page.
290
+ * @api
291
+ * @type {ITHit.WebDAV.Client.HttpStatus}
292
+ */
293
+ Redirect: ITHit.WebDAV.Client.HttpStatus
294
+ /**
295
+ * The request could not be understood by the server due to malformed syntax. The client SHOULD NOT repeat
296
+ * the request without modifications.
297
+ * @api
298
+ * @type {ITHit.WebDAV.Client.HttpStatus}
299
+ */
300
+ BadRequest: ITHit.WebDAV.Client.HttpStatus
301
+ /**
302
+ * The server has not found anything matching the Request-URI.
303
+ * @api
304
+ * @type {ITHit.WebDAV.Client.HttpStatus}
305
+ */
306
+ NotFound: ITHit.WebDAV.Client.HttpStatus
307
+ /**
308
+ * The method specified in the Request-Line is not allowed for the resource identified by the Request-URI.
309
+ * @api
310
+ * @type {ITHit.WebDAV.Client.HttpStatus}
311
+ */
312
+ MethodNotAllowed: ITHit.WebDAV.Client.HttpStatus
313
+ /**
314
+ * The precondition given in one or more of the request-header fields evaluated to false when it was tested
315
+ * on the server.
316
+ * @api
317
+ * @type {ITHit.WebDAV.Client.HttpStatus}
318
+ */
319
+ PreconditionFailed: ITHit.WebDAV.Client.HttpStatus
320
+ /**
321
+ * The source or destination resource of a method is locked.
322
+ * @api
323
+ * @type {ITHit.WebDAV.Client.HttpStatus}
324
+ */
325
+ Locked: ITHit.WebDAV.Client.HttpStatus
326
+ /**
327
+ * The method could not be performed on the resource because the requested action depended on another
328
+ * action and that action failed.
329
+ * @api
330
+ * @type {ITHit.WebDAV.Client.HttpStatus}
331
+ */
332
+ DependencyFailed: ITHit.WebDAV.Client.HttpStatus
333
+ /**
334
+ * The server understood the request, but is refusing to fulfill it.
335
+ * @api
336
+ * @type {ITHit.WebDAV.Client.HttpStatus}
337
+ */
338
+ Forbidden: ITHit.WebDAV.Client.HttpStatus
339
+ /**
340
+ * The request could not be completed due to a conflict with the current state of the resource.
341
+ * @api
342
+ * @type {ITHit.WebDAV.Client.HttpStatus}
343
+ */
344
+ Conflict: ITHit.WebDAV.Client.HttpStatus
345
+ /**
346
+ * The server does not support the functionality required to fulfill the request.
347
+ * @api
348
+ * @type {ITHit.WebDAV.Client.HttpStatus}
349
+ */
350
+ NotImplemented: ITHit.WebDAV.Client.HttpStatus
351
+ /**
352
+ * The server, while acting as a gateway or proxy, received an invalid response from the upstream
353
+ * server it accessed in attempting to fulfill the request.
354
+ * @api
355
+ * @type {ITHit.WebDAV.Client.HttpStatus}
356
+ */
357
+ BadGateway: ITHit.WebDAV.Client.HttpStatus
358
+ /**
359
+ * The method could not be performed on the resource because the server is unable to store the
360
+ * representation needed to successfully complete the request.
361
+ * @api
362
+ * @type {ITHit.WebDAV.Client.HttpStatus}
363
+ */
364
+ InsufficientStorage: ITHit.WebDAV.Client.HttpStatus
365
+ /**
366
+ * Parses HttpStatus structure from string containing status information.
367
+ * @api
368
+ * @param {string} sStatus String containing status information.
369
+ * @returns {ITHit.WebDAV.Client.HttpStatus} HttpStatus structure that describes current status.
370
+ */
371
+ function Parse(sStatus: string): ITHit.WebDAV.Client.HttpStatus;
372
+ }class HttpStatus{
373
+ /**
374
+ * Indicates whether the current HttpStatus structure is equal to another HttpStatus structure.
375
+ * @api
376
+ * @param {ITHit.WebDAV.Client.HttpStatus} oHttpStatus HttpStatus object to compare.
377
+ * @returns {boolean} True if the current object is equal to the other parameter; otherwise, false.
378
+ */
379
+ Equals(oHttpStatus: ITHit.WebDAV.Client.HttpStatus): boolean;
380
+ /**
381
+ * Returns true if status is successful for Create operation.
382
+ * @api
383
+ * @returns {boolean} Returns true if status is successful for Create operation.
384
+ */
385
+ IsCreateOk(): boolean;
386
+ /**
387
+ * Returns true if status is successful for Delete operation.
388
+ * @api
389
+ * @returns {boolean} Returns true if status is successful for Delete operation.
390
+ */
391
+ IsDeleteOk(): boolean;
392
+ /**
393
+ * Returns true if status is successful.
394
+ * @api
395
+ * @returns {boolean} Returns true if status is successful.
396
+ */
397
+ IsOk(): boolean;
398
+ /**
399
+ * Returns true if status is successful for Copy or Move operation.
400
+ * @api
401
+ * @returns {boolean} Returns true if status is successful for Copy or Move operation.
402
+ */
403
+ IsCopyMoveOk(): boolean;
404
+ /**
405
+ * Returns true if status is successful for Get operation.
406
+ * @api
407
+ * @returns {boolean} Returns true if status is successful for Get operation.
408
+ */
409
+ IsGetOk(): boolean;
410
+ /**
411
+ * Returns true if status is successful for Put operation.
412
+ * @api
413
+ * @returns {boolean} Returns true if status is successful for Put operation.
414
+ */
415
+ IsPutOk(): boolean;
416
+ /**
417
+ * Returns true if status is successful for Unlock operation.
418
+ * @api
419
+ * @returns {boolean} Returns true if status is successful for Unlock operation.
420
+ */
421
+ IsUnlockOk(): boolean;
422
+ /**
423
+ * Returns true if status is successful for Head operation.
424
+ * @api
425
+ * @returns {boolean} Returns true if status is successful for Head operation.
426
+ */
427
+ IsHeadOk(): boolean;
428
+ /**
429
+ * Returns true if status is successful for Proppatch operation.
430
+ * @api
431
+ * @returns {boolean} Returns true if status is successful for Proppatch operation.
432
+ */
433
+ IsUpdateOk(): boolean;
434
+ /**
435
+ * Returns true if status is successful.
436
+ * @api
437
+ * @returns {boolean} Returns true if status is successful.
438
+ */
439
+ IsSuccess(): boolean;
440
+ }/**
441
+ * Initializes new string valued property.
442
+ * @api
443
+ * @classdesc Represents custom property exposed by WebDAV hierarchy items.
444
+ * @constructs
445
+ * @param {string|ITHit.WebDAV.Client.PropertyName} sName Name of the property.
446
+ * @param {string} [sValue] Property value.
447
+ * @param {string} [sNamespace] Namespace of the property.
448
+ * @throws ITHit.Exception
449
+ */
450
+ class Property{
451
+ constructor(sName: string | ITHit.WebDAV.Client.PropertyName, sValue?: string, sNamespace?: string);
452
+ /**
453
+ * Property Name.
454
+ * @api
455
+ * @type {string|ITHit.WebDAV.Client.PropertyName}
456
+ */
457
+ Name: string | ITHit.WebDAV.Client.PropertyName
458
+ /**
459
+ * Property value.
460
+ * @api
461
+ * @type {*}
462
+ */
463
+ Value: any
464
+ /**
465
+ * String value of the custom property.
466
+ * @api
467
+ * @returns {string} String value of the custom property.
468
+ */
469
+ StringValue(): string;
470
+ }/**
471
+ * Instance of this class is passed to callback function. It provides information about success or failure of
472
+ * the operation as well as you will use it to get the results of the asynchronous call.
473
+ * @api
474
+ * @class ITHit.WebDAV.Client.AsyncResult
475
+ */
476
+ class AsyncResult{
477
+ /**
478
+ * Result value. Can be any type, each method may put there appropriate object which before was returned directly.
479
+ * Null if request was unsuccessful.
480
+ * @api
481
+ * @type {*}
482
+ */
483
+ Result: any
484
+ /**
485
+ * Flag of either async request result was successful or not.
486
+ * @api
487
+ * @type {boolean}
488
+ */
489
+ IsSuccess: boolean
490
+ /**
491
+ * Error (Exception) object. Describes the type of error that occurred. Null if request was successful.
492
+ * @api
493
+ * @type {ITHit.WebDAV.Client.Exceptions.WebDavException|Error|null}
494
+ */
495
+ Error: ITHit.WebDAV.Client.Exceptions.WebDavException | Error | null
496
+ /**
497
+ * Status of HTTP response retrieved either from Result or Error objects
498
+ * @api
499
+ * @type {ITHit.WebDAV.Client.HttpStatus}
500
+ */
501
+ Status: ITHit.WebDAV.Client.HttpStatus
502
+ }/**
503
+ * Initializes new instance of OrderProperty.
504
+ * @api
505
+ * @classdesc WebDAV order Property.
506
+ * @constructs
507
+ * @param {ITHit.WebDAV.Client.PropertyName} sProperty Property name.
508
+ * @param {boolean} sAscending Order direction.
509
+ */
510
+ class OrderProperty{
511
+ constructor(sProperty: ITHit.WebDAV.Client.PropertyName, sAscending: boolean);
512
+ /**
513
+ * Property name.
514
+ * @api
515
+ * @type {ITHit.WebDAV.Client.PropertyName}
516
+ */
517
+ Property: ITHit.WebDAV.Client.PropertyName
518
+ /**
519
+ * Order direction.
520
+ * @api
521
+ * @type {boolean}
522
+ */
523
+ Ascending: boolean
524
+ /**
525
+ * Returns string representation of current property name.
526
+ * @api
527
+ * @returns {string} String representation of current property name.
528
+ */
529
+ toString(): string;
530
+ }/**
531
+ * Enumeration of the item (Resource or Folder).
532
+ * @api
533
+ * @enum {string}
534
+ * @class ITHit.WebDAV.Client.ResourceType
535
+ */
536
+ namespace ResourceType{
537
+ /**
538
+ * Item is folder.
539
+ * @api
540
+ * @readonly
541
+ * @type {string}
542
+ */
543
+ const Folder: string
544
+ /**
545
+ * Item is file.
546
+ * @api
547
+ * @readonly
548
+ * @type {string}
549
+ */
550
+ const File: string
551
+ }class ResourceType{
552
+ }/**
553
+ * List of WebDAV properties.
554
+ * @api
555
+ * @class ITHit.WebDAV.Client.PropertyList
556
+ * @extends Array
557
+ */
558
+ class PropertyList{
559
+ /**
560
+ * Returns true if the with the specified property name and namespace exists in property list.
561
+ * Returns false if does not exist.
562
+ * @api
563
+ * @param {ITHit.WebDAV.Client.PropertyName} oPropName Property name to search for.
564
+ * @param {boolean} [bIgnoreCase] Specifies if the search is case sensitive or case insensitive.
565
+ * @returns {boolean}
566
+ */
567
+ Has(oPropName: ITHit.WebDAV.Client.PropertyName, bIgnoreCase?: boolean): boolean;
568
+ /**
569
+ * Gets property value found by property name and namespace. Returns null if property with such name does not exist.
570
+ * @api
571
+ * @param {ITHit.WebDAV.Client.PropertyName} oPropName Property name to search for.
572
+ * @param {boolean} [bIgnoreCase] Specifies if the search is case sensitive or case insensitive.
573
+ * @returns {(string|null)} String representing property value or null if property with such name does not exist.
574
+ */
575
+ Find(oPropName: ITHit.WebDAV.Client.PropertyName, bIgnoreCase?: boolean): string | null;
576
+ }/**
577
+ * Represents information about errors occurred in different elements.
578
+ * @api
579
+ * @class ITHit.WebDAV.Client.Multistatus
580
+ */
581
+ class Multistatus{
582
+ /**
583
+ * Gets the generic description, if available.
584
+ * @api
585
+ * @type {string}
586
+ */
587
+ Description: string
588
+ /**
589
+ * Array of the errors returned by server.
590
+ * @api
591
+ * @type {ITHit.WebDAV.Client.MultistatusResponse[]}
592
+ */
593
+ Responses: ITHit.WebDAV.Client.MultistatusResponse[]
594
+ }/**
595
+ * Represents error occurred in one element.
596
+ * @api
597
+ * @class ITHit.WebDAV.Client.MultistatusResponse
598
+ */
599
+ class MultistatusResponse{
600
+ /**
601
+ * Request href
602
+ * @api
603
+ * @type {string}
604
+ */
605
+ Href: string
606
+ /**
607
+ * Array of the errors returned by server.
608
+ * @api
609
+ * @type {string}
610
+ */
611
+ Description: string
612
+ /**
613
+ * HTTP Status of the operation.
614
+ * @api
615
+ * @type {ITHit.WebDAV.Client.HttpStatus}
616
+ */
617
+ Status: ITHit.WebDAV.Client.HttpStatus
618
+ }/**
619
+ * Provides means for finding which properties failed to update.
620
+ * @api
621
+ * @class ITHit.WebDAV.Client.PropertyMultistatusResponse
622
+ * @extends ITHit.WebDAV.Client.MultistatusResponse
623
+ */
624
+ class PropertyMultistatusResponse{
625
+ /**
626
+ * Name of the property, if element is property. Otherwise null.
627
+ * @api
628
+ * @type {ITHit.WebDAV.Client.PropertyName}
629
+ */
630
+ PropertyName: ITHit.WebDAV.Client.PropertyName
631
+ }/**
632
+ * Scope of the lock.
633
+ * Represents exclusive or shared lock.
634
+ * @api
635
+ * @enum {string}
636
+ * @class ITHit.WebDAV.Client.LockScope
637
+ */
638
+ namespace LockScope{
639
+ /**
640
+ * Exclusive lock. No one else can obtain the lock.
641
+ * @api
642
+ * @type {string}
643
+ */
644
+ Exclusive: string
645
+ /**
646
+ * Shared lock. It will be possible for another clients to get the shared locks.
647
+ * @api
648
+ * @property {string}
649
+ */
650
+ function Shared(): void;
651
+ }class LockScope{
652
+ }/**
653
+ * Represents pair of resource uri - lock token. Is used to access locked resources.
654
+ * @api
655
+ * @class ITHit.WebDAV.Client.LockUriTokenPair
656
+ */
657
+ class LockUriTokenPair{
658
+ /**
659
+ * Path to the locked resource.
660
+ * @api
661
+ * @type {string}
662
+ */
663
+ Href: string
664
+ /**
665
+ * Lock token.
666
+ * @api
667
+ * @type {string}
668
+ */
669
+ LockToken: string
670
+ }/**
671
+ * Information about lock set on an item.
672
+ * @api
673
+ * @class ITHit.WebDAV.Client.LockInfo
674
+ */
675
+ class LockInfo{
676
+ /**
677
+ * Scope of the lock.
678
+ * @api
679
+ * @type {ITHit.WebDAV.Client.LockScope}
680
+ */
681
+ LockScope: ITHit.WebDAV.Client.LockScope
682
+ /**
683
+ * Whether lock is set on item's children.
684
+ * @api
685
+ * @type {boolean}
686
+ */
687
+ Deep: boolean
688
+ /**
689
+ * Timeout until lock expires.
690
+ * @api
691
+ * @type {number}
692
+ */
693
+ TimeOut: number
694
+ /**
695
+ * Owner's name.
696
+ * @api
697
+ * @type {string}
698
+ */
699
+ Owner: string
700
+ /**
701
+ * Lock token.
702
+ * @api
703
+ * @type {ITHit.WebDAV.Client.LockUriTokenPair}
704
+ */
705
+ LockToken: ITHit.WebDAV.Client.LockUriTokenPair
706
+ }/**
707
+ * Options of an item, described by supported HTTP extensions.
708
+ * @api
709
+ * @class ITHit.WebDAV.Client.OptionsInfo
710
+ */
711
+ class OptionsInfo{
712
+ /**
713
+ * Features supported by WebDAV server. See Features Enumeration {@link ITHit.WebDAV.Client.Features}.
714
+ * @api
715
+ * @type {number}
716
+ */
717
+ Features: number
718
+ }/**
719
+ * Represents features supported by WebDAV server.
720
+ * @api
721
+ * @enum {number}
722
+ * @class ITHit.WebDAV.Client.Features
723
+ */
724
+ namespace Features{
725
+ /**
726
+ * WebDAV Class 1 compliant item.
727
+ * Class 1 items does not support locking.
728
+ * @api
729
+ * @readonly
730
+ * @type {number}
731
+ */
732
+ const Class1: number
733
+ /**
734
+ * WebDAV Class 2 compliant item.
735
+ * Class 2 items support locking.
736
+ * @api
737
+ * @readonly
738
+ * @type {number}
739
+ */
740
+ const Class2: number
741
+ /**
742
+ * WebDAV Class 3 compliant item.
743
+ * @api
744
+ * @readonly
745
+ * @type {number}
746
+ */
747
+ const Class3: number
748
+ /**
749
+ * WevDAV paging compliant item.
750
+ * @api
751
+ * @readonly
752
+ * @type {number}
753
+ */
754
+ const VersionControl: number
755
+ /**
756
+ * DeltaV version-control compliant item.
757
+ * @api
758
+ * @readonly
759
+ * @type {number}
760
+ */
761
+ const Paging: number
762
+ /**
763
+ * Checkout-in-place item support check out, check in and uncheckout operations.
764
+ * @api
765
+ * @readonly
766
+ * @type {number}
767
+ */
768
+ const CheckoutInPlace: number
769
+ /**
770
+ * DeltaV Version History compliant item.
771
+ * @api
772
+ * @readonly
773
+ * @type {number}
774
+ */
775
+ const VersionHistory: number
776
+ /**
777
+ * DeltaV Update compliant item.
778
+ * @api
779
+ * @readonly
780
+ * @type {number}
781
+ */
782
+ const Update: number
783
+ /**
784
+ * The item supports resumable upload.
785
+ * @api
786
+ * @readonly
787
+ * @type {number}
788
+ */
789
+ const ResumableUpload: number
790
+ /**
791
+ * The item supports resumable download.
792
+ * @api
793
+ * @readonly
794
+ * @type {number}
795
+ */
796
+ const ResumableDownload: number
797
+ /**
798
+ * The item supports search.
799
+ * @api
800
+ * @readonly
801
+ * @type {number}
802
+ */
803
+ const Dasl: number
804
+ /**
805
+ * The item supports GSuite editing.
806
+ * @api
807
+ * @readonly
808
+ * @type {number}
809
+ */
810
+ const GSuite: number
811
+ }class Features{
812
+ }/**
813
+ * Represents one WebDAV item (file, folder or lock-null).
814
+ * @api
815
+ * @class ITHit.WebDAV.Client.HierarchyItem
816
+ */
817
+ class HierarchyItem{
818
+ }/**
819
+ * The class represents set of extensions to be edited with Microsoft Office.
820
+ * @api
821
+ * @class ITHit.WebDAV.Client.MsOfficeEditExtensions
822
+ * @examplecode ITHit.WebDAV.Client.Tests.DocManager.MsOfficeEditExtensions.EditRtfDocumentWithWord
823
+ */
824
+ namespace MsOfficeEditExtensions{
825
+ /**
826
+ * Array of file extensions which are opened with Microsoft Access.
827
+ * @api
828
+ * @type {array}
829
+ */
830
+ Access: array
831
+ /**
832
+ * Array of file extensions which are opened with Microsoft Infopath.
833
+ * @api
834
+ * @type {array}
835
+ */
836
+ Infopath: array
837
+ /**
838
+ * Array of file extensions which are opened with Microsoft Excel.
839
+ * @api
840
+ * @type {array}
841
+ */
842
+ Excel: array
843
+ /**
844
+ * Array of file extensions which are opened with Microsoft Powerpoint.
845
+ * @api
846
+ * @type {array}
847
+ */
848
+ Powerpoint: array
849
+ /**
850
+ * Array of file extensions which are opened with Microsoft Project.
851
+ * @api
852
+ * @type {array}
853
+ */
854
+ Project: array
855
+ /**
856
+ * Array of file extensions which are opened with Microsoft Publisher.
857
+ * @api
858
+ * @type {array}
859
+ */
860
+ Publisher: array
861
+ /**
862
+ * Array of file extensions which are opened with Microsoft Visio.
863
+ * @api
864
+ * @type {array}
865
+ */
866
+ Visio: array
867
+ /**
868
+ * Array of file extensions which are opened with Microsoft Word.
869
+ * @api
870
+ * @type {array}
871
+ */
872
+ Word: array
873
+ }class MsOfficeEditExtensions{
874
+ }/**
875
+ * This class provides methods for opening documents for editing directly from server and saving back to server
876
+ * without download and upload steps. This includes editing Microsoft Office documents as well as any other file
877
+ * types and works on Windows, Mac OS X and Linux.
878
+ * @api
879
+ * @class ITHit.WebDAV.Client.DocManager
880
+ */
881
+ namespace DocManager{
882
+ /**
883
+ * Collection of extensions of files which are opened with Microsoft Office.
884
+ * @api
885
+ * @type {ITHit.WebDAV.Client.MsOfficeEditExtensions}
886
+ * @examplecode ITHit.WebDAV.Client.Tests.DocManager.MsOfficeEditExtensions.EditDocumentTest
887
+ */
888
+ MsOfficeEditExtensions: ITHit.WebDAV.Client.MsOfficeEditExtensions
889
+ /**
890
+ * Timeout in milliseconds to call error callback if application associated with the extension did not start.
891
+ * Default is 3000ms.
892
+ * 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).
893
+ * NOT used in Firefox / Edge OR if DavProtocolEditDocument() is called OR if web browser protocol warning dialog is enabled.
894
+ * @api
895
+ * @type {ITHit.WebDAV.Client.ProtocolTimeoutMs}
896
+ */
897
+ ProtocolTimeoutMs: ITHit.WebDAV.Client.ProtocolTimeoutMs
898
+ /**
899
+ * Gets file names of the protocol installer depending on OS.
900
+ * @api
901
+ * @return {Array} An array with file names of the protocol installer.
902
+ */
903
+ function GetProtocolInstallFileNames(): Array;
904
+ /**
905
+ * Returns true if protocol application installer is supported for the OS on which this function is called, false - otherwise.
906
+ * @api
907
+ * @return {boolean} True if protocol application installer is supported for the OS on which this function is called.
908
+ */
909
+ function IsDavProtocolSupported(): boolean;
910
+ /**
911
+ * <p>Mounts folder in file system and opens it in default OS file manger. Requests protocol installation if folder opening protocol is not installed.</p>
912
+ * <i class="optional">The following functionality is supported in v3 Beta and later only:</i>
913
+ * <p>
914
+ * This function supports both challenge-response authentication (Basic, Digest, NTLM, Kerberos) and cookies authentication.
915
+ * If <code>'None'</code> is specified in the <code>sSearchIn</code> parameter the challenge-response authentication is used, otherwise cookies authentication is used.
916
+ * </p>
917
+ * @api
918
+ * @param {string} sFolderUrl URL of the folder to open in OS file manager. Must be a full URL including the domain name.
919
+ * @param {string} [sMountUrl] URL to mount file system to before opening the folder. Usually this is your WebDAV server root folder. If this parameter is not specified file system will be mounted to the folder in which document is located.
920
+ * @param {function} [errorCallback] Function to call if file manager opening has failed. Typically you will request the protocol installation in this callback.
921
+ * If not specified a default message offering protocol installation will be displayed.
922
+ * @param {string} [reserved] Reserved for future use.
923
+ * @param {string} [sSearchIn] <span class="optional">v3 Beta and later only.</span> Indicates cookies authentication. Allowed values are:
924
+ * <ul>
925
+ * <li><code>'Current'</code> - Copies cookies from web browser in which this script is running.</li>
926
+ * <li><code>'None'</code> - do not search or copy any cookies.</li>
927
+ * </ul>
928
+ * Default is <code>'None'</code>.
929
+ * @param {string} [sCookieNames] <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.
930
+ * @param {string} [sLoginUrl] <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.
931
+ */
932
+ function OpenFolderInOsFileManager(sFolderUrl: string, sMountUrl?: string, errorCallback?: function, reserved?: string, sSearchIn?: string, sCookieNames?: string, sLoginUrl?: string): void;
933
+ /**
934
+ * Extracts extension and returns true if URL points to Microsoft Office Document.
935
+ * @api
936
+ * @param {string} sDocumentUrl URL of the document.
937
+ * @return {boolean} True if URL points to Microsoft Office Document.
938
+ */
939
+ function IsMicrosoftOfficeDocument(sDocumentUrl: string): boolean;
940
+ /**
941
+ * Opens Microsoft Office document using protocol. This method does not offer protocol installation if protocol is not found. Microsoft Office must be installed on a client machine.
942
+ * @api
943
+ * @param {string} sDocumentUrl URL of the document to edit. This must be a Microsoft Office document. Must be a full URL including the domain name.
944
+ */
945
+ function MicrosoftOfficeEditDocument(sDocumentUrl: string): void;
946
+ /**
947
+ * <p>Opens document for editing. In case of Microsoft Office documents, it will try to use Microsoft Office protocols first.
948
+ * If Microsoft Office protocols are not found it will use davX: protocol and prompt to install it if not found.</p>
949
+ * <p>This function supports only challenge-response authentication (Basic, Digest, NTLM, Kerberos).
950
+ * You can also use it to open MS Office documents from servers with MS-OFBA authentication.</p>
951
+ * <p>This function does <b>NOT</b> support cookies authentication. If your server is using cookies authentication use the <code>DavProtocolEditDocument()</code> function instead.</p>
952
+ * @example
953
+ * &lt;!DOCTYPE html&gt;
954
+ * &lt;html&gt;
955
+ * &lt;head&gt;
956
+ * &lt;meta charset="utf-8" /&gt;
957
+ * &lt;script type="text/javascript" src="ITHitWebDAVClient.js" &gt;&lt;/script&gt;
958
+ * &lt;/head&gt;
959
+
960
+ * &lt;body&gt;
961
+ * &lt;script type="text/javascript"&gt;
962
+ * function edit() {
963
+ * ITHit.WebDAV.Client.DocManager.EditDocument("http://localhost:87654/folder/file.ext", "http://localhost:87654/", errorCallback);
964
+ * }
965
+ *
966
+ * function errorCallback() {
967
+ * var installerFilePath = "/Plugins/" + ITHit.WebDAV.Client.DocManager.GetProtocolInstallFileNames()[0];
968
+ *
969
+ * if (confirm("Opening this type of file requires a protocol installation. Select OK to download the protocol installer.")){
970
+ * window.open(installerFilePath);
971
+ * }
972
+ * }
973
+ * &lt;/script&gt;
974
+ * &lt;input type="button" value="Edit Document" onclick="edit()" /&gt;
975
+ * &lt;/body&gt;
976
+ * &lt;/html&gt;
977
+ * @api
978
+ * @param {string} sDocumentUrl URL of the document to open for editing from server. Must be a full URL including the domain name. Unlike <code>DavProtocolEditDocument()</code> function, this function supports only one document URL in this parameter.
979
+ * @param {string} [sMountUrl] 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.
980
+ * @param {function} [errorCallback] Function to call if document opening failed. Typically you will request the protocol installation in this callback. This callback is executed for non-Microsoft Office documents only.
981
+ * If not specified a default message offering protocol installation will be displayed.
982
+ */
983
+ function EditDocument(sDocumentUrl: string, sMountUrl?: string, errorCallback?: function): void;
984
+ /**
985
+ * Extracts extension and returns true if the document can be edited in G Suite editor or document preview generated via G Suite.
986
+ * @api
987
+ * @param {string} sDocumentUrl URL of the document.
988
+ * @return {boolean} True if URL points to GSuite Editor.
989
+ */
990
+ function IsGSuiteDocument(sDocumentUrl: string): boolean;
991
+ /**
992
+ * <p>Edit MS Office document with G Suite Online Editor.</p>
993
+ * @api
994
+ * @param {string} sDocumentUrl URL of the document to open for editing from server. Must be a full URL including the domain name.
995
+ * @param {DOM} oContainerDomElement HTML DOM element where the G Suite online editor will be loaded. If this parameter is omitted or null is passed the editor will be created in a new tab/window.
996
+ * @param {function} [errorCallback] Function to call if document opening failed.
997
+ */
998
+ function GSuiteEditDocument(sDocumentUrl: string, oContainerDomElement: DOM, errorCallback?: function): void;
999
+ /**
1000
+ * <p>Preview MS Office document with G Suite Online Tool.</p>
1001
+ * @api
1002
+ * @param {string} sDocumentUrl URL of the document to open for preview. Must be a full URL including the domain name.
1003
+ * @param {DOM} oContainerDomElement HTML DOM element where the G Suite preview will be loaded. If this parameter is omitted or null is passed the preview will be created in a new tab/window.
1004
+ * @param {function} [errorCallback] Function to call if document opening failed.
1005
+ */
1006
+ function GSuitePreviewDocument(sDocumentUrl: string, oContainerDomElement: DOM, errorCallback?: function): void;
1007
+ /**
1008
+ * <p>Opens document for editing or printing using davX: protocol and prompts to install the protocol it if not found.</p>
1009
+ * <i class="optional">The following functionality is supported in v3 Beta and later only:</i>
1010
+ * <p>
1011
+ * This function supports both challenge-response authentication (Basic, Digest, NTLM, Kerberos) and cookies authentication.
1012
+ * If <code>'None'</code> is specified in the <code>sSearchIn</code> parameter the challenge-response authentication is used, otherwise cookies authentication is used.
1013
+ * </p>
1014
+ * @example
1015
+ * &lt;!DOCTYPE html&gt;
1016
+ * &lt;html&gt;
1017
+ * &lt;head&gt;
1018
+ * &lt;meta charset="utf-8" /&gt;
1019
+ * &lt;script type="text/javascript" src="ITHitWebDAVClient.js" &gt;&lt;/script&gt;
1020
+ * &lt;/head&gt;
1021
+ * &lt;body&gt;
1022
+ * &lt;script type="text/javascript"&gt;
1023
+ * function edit() {
1024
+ * ITHit.WebDAV.Client.DocManager.DavProtocolEditDocument(
1025
+ * 'http://localhost:87654/folder/file.ext', // Document URL(s)
1026
+ * 'http://localhost:87654/', // Mount URL
1027
+ * errorCallback, // Function to call if protocol app is not installed
1028
+ * null, // Reserved
1029
+ * 'Current', // Which browser to copy cookies from: 'Current', 'None'
1030
+ * '.AspNet.ApplicationCookie', // Cookie(s) to copy.
1031
+ * '/Account/Login', // URL to navigate to if any cookie from the list is not found.
1032
+ * 'Edit' // Command to execute: 'Edit', 'OpenWith', 'Print'
1033
+ * );
1034
+ * }
1035
+ *
1036
+ * function errorCallback() {
1037
+ * var installerFilePath = "/Plugins/" + ITHit.WebDAV.Client.DocManager.GetProtocolInstallFileNames()[0];
1038
+ *
1039
+ * if (confirm("Opening this type of file requires a protocol installation. Select OK to download the protocol installer.")){
1040
+ * window.open(installerFilePath);
1041
+ * }
1042
+ * }
1043
+ * &lt;/script&gt;
1044
+ * &lt;input type="button" value="Edit Document" onclick="edit()" /&gt;
1045
+ * &lt;/body&gt;
1046
+ * &lt;/html&gt;
1047
+ * @api
1048
+ * @param {string} sDocumentUrls 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.
1049
+ * @param {string} [sMountUrl] 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.
1050
+ * @param {function} [errorCallback] Function to call if document opening failed. Typically you will request the protocol installation in this callback.
1051
+ * If not specified a default message offering protocol installation will be displayed.
1052
+ * @param {string} [reserved] Reserved for future use.
1053
+ * @param {string} [sSearchIn] <span class="optional">v3 Beta and later only.</span> Indicates cookies authentication. Supported options are:
1054
+ * <ul>
1055
+ * <li><code>'Current'</code> - Copies cookies from web browser in which this script is running.</li>
1056
+ * <li><code>'None'</code> - do not search or copy any cookies.</li>
1057
+ * </ul>
1058
+ * Default is <code>'None'</code>.
1059
+ * @param {string} [sCookieNames] <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.
1060
+ * @param {string} [sLoginUrl] <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.
1061
+ * @param {string} [sCommand] <span class="optional">v3 Beta and later only.</span> Command to use when opening the document. Supported options are:
1062
+ * <ul>
1063
+ * <li> <code>null</code> - Chooses an appropriate verb to open a document in the associated application.
1064
+ * <li> <code>'Edit'</code> - Opens a document for editing.
1065
+ * <li> <code>'Open'</code> - Opens a document in the associated application. Not applicable for some applications.
1066
+ * <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.
1067
+ * <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.
1068
+ * </ul>
1069
+ * Default is <code>null</code>.
1070
+ */
1071
+ function DavProtocolEditDocument(sDocumentUrls: string, sMountUrl?: string, errorCallback?: function, reserved?: string, sSearchIn?: string, sCookieNames?: string, sLoginUrl?: string, sCommand?: string): void;
1072
+ }class DocManager{
1073
+ }/**
1074
+ * Provides support partial uploads and resuming broken uploads.
1075
+ * @api
1076
+ * @class ITHit.WebDAV.Client.ResumableUpload
1077
+ */
1078
+ class ResumableUpload{
1079
+ /**
1080
+ * Get amount of bytes successfully uploaded to server.
1081
+ * @api
1082
+ * @param {ITHit.WebDAV.Client.ResumableUpload~GetBytesUploadedAsyncCallback} fCallback Function to call when operation is completed.
1083
+ * @returns {ITHit.WebDAV.Client.Request} Request object.
1084
+ */
1085
+ GetBytesUploadedAsync(fCallback?: (oResult: ITHit.WebDAV.Client.AsyncResult) => void): ITHit.WebDAV.Client.Request;
1086
+ /**
1087
+ * Cancels upload of the file.
1088
+ * @api
1089
+ * @param {string} mLockTokens Lock token for this file.
1090
+ * @param {ITHit.WebDAV.Client.ResumableUpload~CancelUploadAsyncCallback} fCallback Function to call when operation is completed.
1091
+ * @returns {ITHit.WebDAV.Client.Request} Request object.
1092
+ */
1093
+ CancelUploadAsync(mLockTokens: string, fCallback?: (oResult: ITHit.WebDAV.Client.AsyncResult) => void): ITHit.WebDAV.Client.Request;
1094
+ }/**
1095
+ * Represents a file on a WebDAV server.
1096
+ * @api
1097
+ * @class ITHit.WebDAV.Client.File
1098
+ * @extends ITHit.WebDAV.Client.HierarchyItem
1099
+ */
1100
+ namespace File{
1101
+ /**
1102
+ * Locks the item and upload to google drive.
1103
+ * @api
1104
+ * @param {ITHit.WebDAV.Client.Request} oRequest Current WebDAV session.
1105
+ * @param {string} sHref This item path on the server.
1106
+ * @returns {ITHit.WebDAV.Client.GEditInfo} Instance of GEditInfo.
1107
+ */
1108
+ function GEdit(oRequest: ITHit.WebDAV.Client.Request, sHref: string): ITHit.WebDAV.Client.GEditInfo;
1109
+ /**
1110
+ * Locks the item and upload to google drive.
1111
+ * @api
1112
+ * @param {ITHit.WebDAV.Client.Request} oRequest Current WebDAV session.
1113
+ * @param {string} sHref This item path on the server.
1114
+ * @param {ITHit.WebDAV.Client.File~GEditAsync} fCallback Function to call when operation is completed.
1115
+ * @returns {ITHit.WebDAV.Client.Request} Request object.
1116
+ */
1117
+ function GEditAsync(oRequest: ITHit.WebDAV.Client.Request, sHref: string, fCallback?: any): ITHit.WebDAV.Client.Request;
1118
+ /**
1119
+ * Removes the lock and update file.
1120
+ * @api
1121
+ * @param {ITHit.WebDAV.Client.Request} oRequest Current WebDAV session.
1122
+ * @param {string} sHref This item path on the server.
1123
+ * @param {string} [sLockToken] Identifies lock to be prolonged.
1124
+ * @throws ITHit.WebDAV.Client.Exceptions.PreconditionFailedException The item is not locked.
1125
+ * @throws ITHit.WebDAV.Client.Exceptions.NotFoundException The item doesn't exist on the server.
1126
+ * @throws ITHit.WebDAV.Client.Exceptions.WebDavException Unexpected error occurred.
1127
+ */
1128
+ function GUnlock(oRequest: ITHit.WebDAV.Client.Request, sHref: string, sLockToken?: string): void;
1129
+ /**
1130
+ * Removes the lock and update file.
1131
+ * @api
1132
+ * @param {ITHit.WebDAV.Client.Request} oRequest Current WebDAV session.
1133
+ * @param {string} sHref This item path on the server.
1134
+ * @param {string} sLockToken Identifies lock to be prolonged.
1135
+ * @param {string} sRevisionID Revision ID of google file.
1136
+ * @param {ITHit.WebDAV.Client.File~GUnlockAsyncCallback} fCallback Function to call when operation is completed.
1137
+ * @returns {ITHit.WebDAV.Client.Request} Request object.
1138
+ */
1139
+ function GUnlockAsync(oRequest: ITHit.WebDAV.Client.Request, sHref: string, sLockToken: string, sRevisionID: string, fCallback?: (oResult: ITHit.WebDAV.Client.AsyncResult) => void): ITHit.WebDAV.Client.Request;
1140
+ }class File{
1141
+ /**
1142
+ * Length of the file.
1143
+ * @api
1144
+ * @type {number}
1145
+ */
1146
+ ContentLength: number
1147
+ /**
1148
+ * Content type of the file.
1149
+ * @api
1150
+ * @type {string}
1151
+ */
1152
+ ContentType: string
1153
+ /**
1154
+ * ResumableUpload instance to manage partially failed uploads.
1155
+ * @api
1156
+ * @type {ITHit.WebDAV.Client.ResumableUpload}
1157
+ */
1158
+ ResumableUpload: ITHit.WebDAV.Client.ResumableUpload
1159
+ /**
1160
+ * Reads file content. To download only a part of a file you can specify 2 parameters in ReadContent call.
1161
+ * First parameter is the starting byte (zero-based) at witch to start content download, the second – amount
1162
+ * of bytes to be downloaded. The library will add Range header to the request in this case.
1163
+ * @api
1164
+ * @examplecode ITHit.WebDAV.Client.Tests.HierarchyItems.CreateFile.ReadContent
1165
+ * @examplecode ITHit.WebDAV.Client.Tests.HierarchyItems.CreateFile.ReadContentRange
1166
+ * @param {number} iBytesFrom Start position to retrieve lBytesCount number of bytes from.
1167
+ * @param {number} iBytesCount Number of bytes to retrieve.
1168
+ * @param {ITHit.WebDAV.Client.File~ReadContentAsyncCallback} fCallback Function to call when operation is completed.
1169
+ * @returns {ITHit.WebDAV.Client.Request} Request object.
1170
+ */
1171
+ ReadContentAsync(iBytesFrom: number, iBytesCount: number, fCallback?: (oResult: ITHit.WebDAV.Client.AsyncResult) => void): ITHit.WebDAV.Client.Request;
1172
+ /**
1173
+ * Writes file content.
1174
+ * @api
1175
+ * @examplecode ITHit.WebDAV.Client.Tests.HierarchyItems.CreateFile.OnlyWriteContent
1176
+ * @param {string} sContent File content.
1177
+ * @param {string} sLockToken Lock token.
1178
+ * @param {string} sMimeType File mime-type.
1179
+ * @param {ITHit.WebDAV.Client.File~WriteContentAsyncCallback} fCallback Function to call when operation is completed.
1180
+ * @returns {ITHit.WebDAV.Client.Request} Request object.
1181
+ */
1182
+ WriteContentAsync(sContent: string, sLockToken: string, sMimeType: string, fCallback?: (oResult: ITHit.WebDAV.Client.AsyncResult) => void): ITHit.WebDAV.Client.Request;
1183
+ /**
1184
+ * Retrieves item versions.
1185
+ * @examplecode ITHit.WebDAV.Client.Tests.Versions.GetVersions.GetVersions
1186
+ * @api
1187
+ * @param {ITHit.WebDAV.Client.File~GetVersionsAsyncCallback} fCallback Function to call when operation is completed.
1188
+ * @returns {ITHit.WebDAV.Client.Request} Request object.
1189
+ */
1190
+ GetVersionsAsync(fCallback?: (oResult: ITHit.WebDAV.Client.AsyncResult) => void): ITHit.WebDAV.Client.Request;
1191
+ /**
1192
+ * Update to version.
1193
+ * @examplecode ITHit.WebDAV.Client.Tests.Versions.ManageVersions.UpdateToVersion
1194
+ * @api
1195
+ * @param {string|ITHit.WebDAV.Client.Version} mVersion Href to file with version attribute or {@link ITHit.WebDAV.Client.Version} instance.
1196
+ * @param {ITHit.WebDAV.Client.File~UpdateToVersionAsyncCallback} fCallback Function to call when operation is completed.
1197
+ * @returns {ITHit.WebDAV.Client.Request} Request object.
1198
+ */
1199
+ UpdateToVersionAsync(mVersion: string | ITHit.WebDAV.Client.Version, fCallback?: (oResult: ITHit.WebDAV.Client.AsyncResult) => void): ITHit.WebDAV.Client.Request;
1200
+ /**
1201
+ * Enables / disables version control for this file.
1202
+ * @api
1203
+ * @examplecode ITHit.WebDAV.Client.Tests.Versions.PutUnderVersion.EnableVersion
1204
+ * @param {boolean} bEnable True to enable version-control, false - to disable.
1205
+ * @param {string} mLockToken Lock token for this item.
1206
+ * @param {ITHit.WebDAV.Client.File~PutUnderVersionControlAsyncCallback} fCallback Function to call when operation is completed.
1207
+ * @returns {ITHit.WebDAV.Client.Request} Request object.
1208
+ */
1209
+ PutUnderVersionControlAsync(bEnable: boolean, mLockToken: string, fCallback?: (oResult: ITHit.WebDAV.Client.AsyncResult) => void): ITHit.WebDAV.Client.Request;
1210
+ /**
1211
+ * Current WebDAV session.
1212
+ * @api
1213
+ * @type {ITHit.WebDAV.Client.WebDavSession}
1214
+ */
1215
+ Session: ITHit.WebDAV.Client.WebDavSession
1216
+ /**
1217
+ * This item path on the server.
1218
+ * @api
1219
+ * @type {string}
1220
+ */
1221
+ Href: string
1222
+ /**
1223
+ * Most recent modification date.
1224
+ * @api
1225
+ * @type {Date}
1226
+ */
1227
+ LastModified: Date
1228
+ /**
1229
+ * User friendly item name.
1230
+ * @api
1231
+ * @type {string}
1232
+ */
1233
+ DisplayName: string
1234
+ /**
1235
+ * The date item was created.
1236
+ * @api
1237
+ * @type {Date}
1238
+ */
1239
+ CreationDate: Date
1240
+ /**
1241
+ * Type of the item (File or Folder).
1242
+ * @api
1243
+ * @type {string}
1244
+ * @see ITHit.WebDAV.Client.ResourceType
1245
+ */
1246
+ ResourceType: string
1247
+ /**
1248
+ * Retrieves information about supported locks. Item can support exclusive, shared locks or do not support
1249
+ * any locks. If you set exclusive lock other users will not be able to set any locks. If you set shared
1250
+ * lock other users will be able to set shared lock on the item.
1251
+ * @api
1252
+ * @examplecode ITHit.WebDAV.Client.Tests.Locks.CheckSupport.CheckLockSupport
1253
+ * @type {Array}
1254
+ * @see ITHit.WebDAV.Client.LockScope
1255
+ */
1256
+ SupportedLocks: Array
1257
+ /**
1258
+ * List of locks applied to this item.
1259
+ * @examplecode ITHit.WebDAV.Client.Tests.Locks.GetLocks.GetList
1260
+ * @api
1261
+ * @type {Array}
1262
+ */
1263
+ ActiveLocks: Array
1264
+ /**
1265
+ * List of item properties.
1266
+ * @api
1267
+ * @type {ITHit.WebDAV.Client.PropertyList}
1268
+ */
1269
+ Properties: ITHit.WebDAV.Client.PropertyList
1270
+ /**
1271
+ * Returns true if file is under version control. Otherwise false. To detect if version control could
1272
+ * be enabled for this item call GetSupportedFeaturesAsync and check for VersionControl token.
1273
+ * To enable version control call PutUnderVersionControlAsync.
1274
+ * @api
1275
+ * @returns {boolean} Boolean, if true - versions supported
1276
+ */
1277
+ /**
1278
+ * Number of bytes available for this user on server. -1 if server does not support Quota.
1279
+ * @api
1280
+ * @type {number}
1281
+ */
1282
+ AvailableBytes: number
1283
+ /**
1284
+ * Number of bytes used by this user on server. -1 if server does not support Quota.
1285
+ * @api
1286
+ * @type {number}
1287
+ */
1288
+ UsedBytes: number
1289
+ /**
1290
+ * Refreshes item loading data from server.
1291
+ * @api
1292
+ * @examplecode ITHit.WebDAV.Client.Tests.HierarchyItems.Refresh.Refresh
1293
+ * @param {ITHit.WebDAV.Client.HierarchyItem~RefreshAsyncCallback} fCallback Function to call when operation is completed.
1294
+ * @returns {ITHit.WebDAV.Client.Request} Request object.
1295
+ */
1296
+ RefreshAsync(fCallback?: (oResult: ITHit.WebDAV.Client.AsyncResult) => void): ITHit.WebDAV.Client.Request;
1297
+ /**
1298
+ * Copies this item to destination folder.
1299
+ * @api
1300
+ * @examplecode ITHit.WebDAV.Client.Tests.HierarchyItems.CopyMove.Copy
1301
+ * @param {ITHit.WebDAV.Client.Folder} oDestinationFolder Folder to move to.
1302
+ * @param {string} sDestinationName Name to assign to copied item.
1303
+ * @param {boolean} bDeep Indicates whether children of this item should be copied.
1304
+ * @param {boolean} bOverwrite Whether existing destination item shall be overwritten.
1305
+ * @param {ITHit.WebDAV.Client.LockUriTokenPair[]} [oLockTokens] Lock tokens for destination folder.
1306
+ * @param {ITHit.WebDAV.Client.HierarchyItem~CopyToAsyncCallback} fCallback Function to call when operation is completed.
1307
+ */
1308
+ CopyToAsync(oDestinationFolder: ITHit.WebDAV.Client.Folder, sDestinationName: string, bDeep: boolean, bOverwrite: boolean, oLockTokens?: ITHit.WebDAV.Client.LockUriTokenPair[], fCallback?: (oResult: ITHit.WebDAV.Client.AsyncResult) => void): void;
1309
+ /**
1310
+ * Deletes this item.
1311
+ * @api
1312
+ * @examplecode ITHit.WebDAV.Client.Tests.HierarchyItems.Delete.Delete
1313
+ * @param {ITHit.WebDAV.Client.LockUriTokenPair} oLockTokens Lock tokens for this item or any locked child item.
1314
+ * @param {ITHit.WebDAV.Client.HierarchyItem~DeleteAsyncCallback} fCallback Function to call when operation is completed.
1315
+ * @returns {ITHit.WebDAV.Client.Request} Request object.
1316
+ */
1317
+ DeleteAsync(oLockTokens: ITHit.WebDAV.Client.LockUriTokenPair, fCallback?: (oResult: ITHit.WebDAV.Client.AsyncResult) => void): ITHit.WebDAV.Client.Request;
1318
+ /**
1319
+ * Returns names of all custom properties exposed by this item.
1320
+ * @api
1321
+ * @examplecode ITHit.WebDAV.Client.Tests.HierarchyProperties.GetProperties.GetPropertyNames
1322
+ * @param {ITHit.WebDAV.Client.HierarchyItem~GetPropertyNamesAsyncCallback} fCallback Function to call when operation is completed.
1323
+ * @returns {ITHit.WebDAV.Client.Request} Request object.
1324
+ */
1325
+ GetPropertyNamesAsync(fCallback?: (oResult: ITHit.WebDAV.Client.AsyncResult) => void): ITHit.WebDAV.Client.Request;
1326
+ /**
1327
+ * Retrieves values of specific properties.
1328
+ * @api
1329
+ * @examplecode ITHit.WebDAV.Client.Tests.HierarchyProperties.GetProperties.GetPropertyValues
1330
+ * @param {ITHit.WebDAV.Client.PropertyName[]} aNames
1331
+ * @param {ITHit.WebDAV.Client.HierarchyItem~GetPropertyValuesAsyncCallback} fCallback Function to call when operation is completed.
1332
+ * @returns {ITHit.WebDAV.Client.Request} Request object.
1333
+ */
1334
+ GetPropertyValuesAsync(aNames: ITHit.WebDAV.Client.PropertyName[], fCallback?: (oResult: ITHit.WebDAV.Client.AsyncResult) => void): ITHit.WebDAV.Client.Request;
1335
+ /**
1336
+ * Retrieves all custom properties exposed by the item.
1337
+ * @api
1338
+ * @examplecode ITHit.WebDAV.Client.Tests.HierarchyProperties.GetProperties.GetAllProperties
1339
+ * @param {ITHit.WebDAV.Client.HierarchyItem~GetAllPropertiesAsyncCallback} fCallback Function to call when operation is completed.
1340
+ * @returns {ITHit.WebDAV.Client.Request} Request object.
1341
+ */
1342
+ GetAllPropertiesAsync(fCallback?: (oResult: ITHit.WebDAV.Client.AsyncResult) => void): ITHit.WebDAV.Client.Request;
1343
+ /**
1344
+ * Retrieves parent hierarchy item of this item.
1345
+ * @api
1346
+ * @examplecode ITHit.WebDAV.Client.Tests.HierarchyItems.GetParent.GetParent
1347
+ * @param {ITHit.WebDAV.Client.PropertyName[]} aProperties Additional properties requested from server. Default is empty array.
1348
+ * @param {ITHit.WebDAV.Client.HierarchyItem~GetParentAsyncCallback} fCallback Function to call when operation is completed.
1349
+ * @returns {ITHit.WebDAV.Client.Request} Request object.
1350
+ */
1351
+ GetParentAsync(aProperties: ITHit.WebDAV.Client.PropertyName[], fCallback?: (oResult: ITHit.WebDAV.Client.AsyncResult) => void): ITHit.WebDAV.Client.Request;
1352
+ /**
1353
+ * Retrieves media type independent links.
1354
+ * @api
1355
+ * @param {ITHit.WebDAV.Client.HierarchyItem~GetSourceAsyncCallback} fCallback Function to call when operation is completed.
1356
+ * @returns {ITHit.WebDAV.Client.Request} Request object.
1357
+ */
1358
+ GetSourceAsync(fCallback?: (oResult: ITHit.WebDAV.Client.AsyncResult) => void): ITHit.WebDAV.Client.Request;
1359
+ /**
1360
+ * Locks the item. If the lock was successfully applied, the server will return a lock token. You will pass this
1361
+ * lock token back to the server when updating and unlocking the item. The actual lock time applied by the server
1362
+ * may be different from the one requested by the client.
1363
+ * @api
1364
+ * @examplecode ITHit.WebDAV.Client.Tests.Locks.Lock.SetLock
1365
+ * @param {string} sLockScope Scope of the lock. See LockScope Enumeration {@link ITHit.WebDAV.Client.LockScope}
1366
+ * @param {boolean} bDeep Whether to lock entire subtree.
1367
+ * @param {string} sOwner Owner of the lock.
1368
+ * @param {number} iTimeout Timeout after which lock expires. Pass -1 to request an infinite timeout.
1369
+ * @param {ITHit.WebDAV.Client.HierarchyItem~LockAsyncCallback} fCallback Function to call when operation is completed.
1370
+ * @returns {ITHit.WebDAV.Client.Request} Request object.
1371
+ */
1372
+ LockAsync(sLockScope: string, bDeep: boolean, sOwner: string, iTimeout: number, fCallback?: (oResult: ITHit.WebDAV.Client.AsyncResult) => void): ITHit.WebDAV.Client.Request;
1373
+ /**
1374
+ * Moves this item to another location.
1375
+ * @api
1376
+ * @examplecode ITHit.WebDAV.Client.Tests.HierarchyItems.CopyMove.Move
1377
+ * @param {ITHit.WebDAV.Client.Folder} oDestinationFolder Folder to move to.
1378
+ * @param {string} sDestinationName Name to assign to moved item.
1379
+ * @param {boolean} bOverwrite Whether existing destination item shall be overwritten.
1380
+ * @param {(string|ITHit.WebDAV.Client.LockUriTokenPair[])} oLockTokens Lock tokens for item to be moved, for destination folder or file to be overwritten that are locked.
1381
+ * @param {ITHit.WebDAV.Client.HierarchyItem~MoveToAsyncCallback} fCallback Function to call when operation is completed.
1382
+ * @return {ITHit.WebDAV.Client.Request} Request object.
1383
+ */
1384
+ MoveToAsync(oDestinationFolder: ITHit.WebDAV.Client.Folder, sDestinationName: string, bOverwrite: boolean, oLockTokens: string | ITHit.WebDAV.Client.LockUriTokenPair[], fCallback?: (oResult: ITHit.WebDAV.Client.AsyncResult) => void): ITHit.WebDAV.Client.Request;
1385
+ /**
1386
+ * Prolongs the lock.
1387
+ * @api
1388
+ * @examplecode ITHit.WebDAV.Client.Tests.Locks.RefreshLock.RefreshLock
1389
+ * @param {string} sLockToken Identifies lock to be prolonged.
1390
+ * @param {number} iTimeout New timeout to set.
1391
+ * @param {ITHit.WebDAV.Client.HierarchyItem~RefreshLockAsyncCallback} fCallback Function to call when operation is completed.
1392
+ * @return {ITHit.WebDAV.Client.Request} Request object.
1393
+ */
1394
+ RefreshLockAsync(sLockToken: string, iTimeout: number, fCallback?: (oResult: ITHit.WebDAV.Client.AsyncResult) => void): ITHit.WebDAV.Client.Request;
1395
+ /**
1396
+ * Gets features supported by this item, such as WebDAV class support.
1397
+ * @api
1398
+ * @examplecode ITHit.WebDAV.Client.Tests.HierarchyItems.SupportedFeatures.SupportedFeatures
1399
+ * @param {ITHit.WebDAV.Client.HierarchyItem~GetSupportedFeaturesAsyncCallback} fCallback Function to call when operation is completed.
1400
+ * @returns {ITHit.WebDAV.Client.Request} Request object.
1401
+ */
1402
+ GetSupportedFeaturesAsync(fCallback?: (oResult: ITHit.WebDAV.Client.AsyncResult) => void): ITHit.WebDAV.Client.Request;
1403
+ /**
1404
+ * Removes the lock.
1405
+ * @api
1406
+ * @examplecode ITHit.WebDAV.Client.Tests.Locks.Lock.SetUnLock
1407
+ * @param {string} sLockToken Identifies lock to be prolonged.
1408
+ * @param {ITHit.WebDAV.Client.HierarchyItem~UnlockAsyncCallback} fCallback Function to call when operation is completed.
1409
+ * @returns {ITHit.WebDAV.Client.Request} Request object.
1410
+ */
1411
+ UnlockAsync(sLockToken: string, fCallback?: (oResult: ITHit.WebDAV.Client.AsyncResult) => void): ITHit.WebDAV.Client.Request;
1412
+ /**
1413
+ * Updates values of properties exposed by this item.
1414
+ * @api
1415
+ * @examplecode ITHit.WebDAV.Client.Tests.HierarchyProperties.UpdateProperties.Update
1416
+ * @examplecode ITHit.WebDAV.Client.Tests.HierarchyProperties.UpdateProperties.Delete
1417
+ * @param {ITHit.WebDAV.Client.Property[]} oPropertiesToAddOrUpdate Properties to be updated.
1418
+ * @param {ITHit.WebDAV.Client.PropertyName[]} oPropertiesToDelete Names of properties to be removed from this item.
1419
+ * @param {string} [sLockToken] Lock token.
1420
+ * @param {ITHit.WebDAV.Client.HierarchyItem~UpdatePropertiesAsyncCallback} fCallback Function to call when operation is completed.
1421
+ * @returns {ITHit.WebDAV.Client.WebDavRequest|null} WebDAV request
1422
+ */
1423
+ UpdatePropertiesAsync(oPropertiesToAddOrUpdate: ITHit.WebDAV.Client.Property[], oPropertiesToDelete: ITHit.WebDAV.Client.PropertyName[], sLockToken?: string, fCallback?: (oResult: ITHit.WebDAV.Client.AsyncResult) => void): ITHit.WebDAV.Client.WebDavRequest | null;
1424
+ }/**
1425
+ * @classdesc Represents a search request.
1426
+ * @constructs
1427
+ * @api
1428
+ * @param {string} sSearchPhrase Search phrase.
1429
+ */
1430
+ class SearchQuery{
1431
+ constructor(sSearchPhrase: string);
1432
+ /**
1433
+ * Search phrase.
1434
+ * @api
1435
+ * @type {string}
1436
+ */
1437
+ Phrase: string
1438
+ /**
1439
+ * <p>Properties to be returned from server with each item returned in search results.</p>
1440
+ * <p>This property can be used to request any additional data required in search results, such as snippet of
1441
+ * text around the search phrase, document title, author name, etc.</p>
1442
+ * @api
1443
+ * @type {ITHit.WebDAV.Client.PropertyName[]}
1444
+ */
1445
+ SelectProperties: ITHit.WebDAV.Client.PropertyName[]
1446
+ /**
1447
+ * Enables or disables search by properties specified in <code>LikeProperties</code> list. Default is <code>true</code>.
1448
+ * @api
1449
+ * @type {boolean}
1450
+ */
1451
+ EnableLike: boolean
1452
+ /**
1453
+ * List of properties to be used in like conditions. The search phrase will be searched in the properties specilied in this list.
1454
+ * @api
1455
+ * @type {ITHit.WebDAV.Client.PropertyName[]}
1456
+ */
1457
+ LikeProperties: ITHit.WebDAV.Client.PropertyName[]
1458
+ /**
1459
+ * Enables or disables search inside file content. Default is <code>true</code>.
1460
+ * @api
1461
+ * @type {boolean}
1462
+ */
1463
+ EnableContains: boolean
1464
+ }/**
1465
+ * Array of file and folder items that correspond to the offset, number of items and sorting conditions requested from server.
1466
+ * Also contains a total number of items in this folder or in search results.
1467
+ * @api
1468
+ * @class ITHit.WebDAV.Client.PageResults
1469
+ */
1470
+ class PageResults{
1471
+ /**
1472
+ * Total number of items in the folder or in search results.
1473
+ * @api
1474
+ * @type {number}
1475
+ */
1476
+ TotalItems: number
1477
+ /**
1478
+ * Items that correspond to the requested page and sorting.
1479
+ * @api
1480
+ * @type {ITHit.WebDAV.Client.HierarchyItem[]}
1481
+ */
1482
+ Page: ITHit.WebDAV.Client.HierarchyItem[]
1483
+ }/**
1484
+ * Represents a folder in a WebDAV repository.
1485
+ * @api
1486
+ * @class ITHit.WebDAV.Client.Folder
1487
+ * @extends ITHit.WebDAV.Client.HierarchyItem
1488
+ */
1489
+ class Folder{
1490
+ /**
1491
+ * Creates a new folder with a specified name as child of this folder.
1492
+ * @api
1493
+ * @examplecode ITHit.WebDAV.Client.Tests.HierarchyItems.CreateFolder.CreateFolder
1494
+ * @param {string} sName Name of the new folder.
1495
+ * @param {string} [sLockTokens] Lock token for ITHit.WebDAV.Client.Folder folder.
1496
+ * @param {ITHit.WebDAV.Client.PropertyName[]} aProperties Additional properties requested from server. Default is empty array.
1497
+ * @param {ITHit.WebDAV.Client.Folder~CreateFolderAsyncCallback} fCallback Function to call when operation is completed.
1498
+ * @returns {ITHit.WebDAV.Client.Request} Request object.
1499
+ */
1500
+ CreateFolderAsync(sName: string, sLockTokens?: string, aProperties: ITHit.WebDAV.Client.PropertyName[], fCallback?: (oResult: ITHit.WebDAV.Client.AsyncResult) => void): ITHit.WebDAV.Client.Request;
1501
+ /**
1502
+ * Creates a new file with a specified name as a child of this folder.
1503
+ * @api
1504
+ * @examplecode ITHit.WebDAV.Client.Tests.HierarchyItems.CreateFile.CreateAndWriteContent
1505
+ * @param {string} sName Name of the new file.
1506
+ * @param {string} sLockTokens Lock token for current folder.
1507
+ * @param {string} sContent File content.
1508
+ * @param {ITHit.WebDAV.Client.PropertyName[]} aProperties Additional properties requested from server. Default is empty array.
1509
+ * @param {ITHit.WebDAV.Client.Folder~CreateFileAsyncCallback} fCallback Function to call when operation is completed.
1510
+ * @returns {ITHit.WebDAV.Client.Request} Request object.
1511
+ */
1512
+ CreateFileAsync(sName: string, sLockTokens: string, sContent: string, aProperties: ITHit.WebDAV.Client.PropertyName[], fCallback?: (oResult: ITHit.WebDAV.Client.AsyncResult) => void): ITHit.WebDAV.Client.Request;
1513
+ /**
1514
+ * Gets specified number of children of this folder that correspond to requested offset and sorting. Use GetSupportedFeaturesAsync() function to detect if paging is supported.
1515
+ * @api
1516
+ * @examplecode ITHit.WebDAV.Client.Tests.HierarchyItems.GetFolderItems.GetPage
1517
+ * @param {ITHit.WebDAV.Client.PropertyName[]} [aProperties] Additional properties requested from server. If null is specified, only default properties are returned.
1518
+ * @param {number} [nOffset] The number of items to skip before returning the remaining items.
1519
+ * @param {number} [nResults] The number of items to return.
1520
+ * @param {ITHit.WebDAV.Client.OrderProperty[]} [aOrderProperties] List of order properties.
1521
+ * @param {ITHit.WebDAV.Client.Folder~GetPageAsyncCallback} fCallback Function to call when operation is completed.
1522
+ * @returns {ITHit.WebDAV.Client.Request} Request object.
1523
+ */
1524
+ GetPageAsync(aProperties?: ITHit.WebDAV.Client.PropertyName[], nOffset?: number, nResults?: number, aOrderProperties?: ITHit.WebDAV.Client.OrderProperty[], fCallback?: (oResult: ITHit.WebDAV.Client.AsyncResult) => void): ITHit.WebDAV.Client.Request;
1525
+ /**
1526
+ * This method returns all items contained in the folder, which may be very large. To limit amount of items returned and get only a single results page use [GetPageAsync]{@link ITHit.WebDAV.Client.Folder#GetPageAsync} function instead.
1527
+ * @api
1528
+ * @examplecode ITHit.WebDAV.Client.Tests.HierarchyItems.GetFolderItems.GetChildrenAsync
1529
+ * @param {boolean} bRecursively Indicates if all subtree of children should be return. Default is false.
1530
+ * @param {ITHit.WebDAV.Client.PropertyName[]} aProperties Additional properties requested from server. If null is specified, only default properties are returned.
1531
+ * @param {ITHit.WebDAV.Client.Folder~GetChildrenAsyncCallback} fCallback Function to call when operation is completed.
1532
+ * @returns {ITHit.WebDAV.Client.Request} Request object.
1533
+ */
1534
+ GetChildrenAsync(bRecursively: boolean, aProperties: ITHit.WebDAV.Client.PropertyName[], fCallback?: (oResult: ITHit.WebDAV.Client.AsyncResult) => void): ITHit.WebDAV.Client.Request;
1535
+ /**
1536
+ * Gets the specified folder from server.
1537
+ * @api
1538
+ * @param {string} sName Name of the folder.
1539
+ * @param {ITHit.WebDAV.Client.Folder~GetFolderAsyncCallback} fCallback Function to call when operation is completed.
1540
+ * @returns {ITHit.WebDAV.Client.Request} Request object.
1541
+ */
1542
+ GetFolderAsync(sName: string, fCallback?: (oResult: ITHit.WebDAV.Client.AsyncResult) => void): ITHit.WebDAV.Client.Request;
1543
+ /**
1544
+ * Gets the specified file from server.
1545
+ * @examplecode ITHit.WebDAV.Client.Tests.HierarchyItems.GetItemByFolder.GetFile
1546
+ * @api
1547
+ * @param {string} sName Name of the file.
1548
+ * @param {ITHit.WebDAV.Client.Folder~GetFileAsyncCallback} fCallback Function to call when operation is completed.
1549
+ * @returns {ITHit.WebDAV.Client.Request} Request object.
1550
+ */
1551
+ GetFileAsync(sName: string, fCallback?: (oResult: ITHit.WebDAV.Client.AsyncResult) => void): ITHit.WebDAV.Client.Request;
1552
+ /**
1553
+ * Gets the specified item from server.
1554
+ * @api
1555
+ * @param {string} sName Name of the item.
1556
+ * @param {ITHit.WebDAV.Client.Folder~GetItemAsyncCallback} fCallback Function to call when operation is completed.
1557
+ * @returns {ITHit.WebDAV.Client.Request} Request object.
1558
+ */
1559
+ GetItemAsync(sName: string, fCallback?: (oResult: ITHit.WebDAV.Client.AsyncResult) => void): ITHit.WebDAV.Client.Request;
1560
+ /**
1561
+ * Checks whether specified item exists in the folder.
1562
+ * @api
1563
+ * @examplecode ITHit.WebDAV.Client.Tests.HierarchyItems.ItemExists.ItemExists
1564
+ * @param {string} sName Name of the item.
1565
+ * @param {ITHit.WebDAV.Client.Folder~ItemExistsAsyncCallback} fCallback Function to call when operation is completed.
1566
+ * @returns {ITHit.WebDAV.Client.Request} Request object.
1567
+ */
1568
+ ItemExistsAsync(sName: string, fCallback?: (oResult: ITHit.WebDAV.Client.AsyncResult) => void): ITHit.WebDAV.Client.Request;
1569
+ /**
1570
+ * This method returns all items found on the server, which may be very large. To limit amount of items returned and get only a single results page use [GetSearchPageByQueryAsync]{@link ITHit.WebDAV.Client.Folder#GetSearchPageByQueryAsync} function instead.
1571
+ * @api
1572
+ * @examplecode ITHit.WebDAV.Client.Tests.HierarchyItems.Search.SearchByQuery
1573
+ * @param {ITHit.WebDAV.Client.SearchQuery} oSearchQuery Object with search query conditions.
1574
+ * @param {ITHit.WebDAV.Client.Folder~SearchByQueryAsyncCallback} fCallback Function to call when operation is completed.
1575
+ * @returns {ITHit.WebDAV.Client.Request} Request object.
1576
+ */
1577
+ SearchByQueryAsync(oSearchQuery: ITHit.WebDAV.Client.SearchQuery, fCallback?: (oResult: ITHit.WebDAV.Client.AsyncResult) => void): ITHit.WebDAV.Client.Request;
1578
+ /**
1579
+ * Searches folder by query. Returns specified number of search result items that correspond to requested offset and sorting. Use GetSupportedFeaturesAsync() function to detect if paging is supported.
1580
+ * @api
1581
+ * @examplecode ITHit.WebDAV.Client.Tests.HierarchyItems.Search.GetSearchPageByQuery
1582
+ * @param {ITHit.WebDAV.Client.SearchQuery} oSearchQuery Object with search query conditions.
1583
+ * @param {number} [nOffset] The number of items to skip before returning the remaining items.
1584
+ * @param {number} [nResults] The number of items to return.
1585
+ * @param {ITHit.WebDAV.Client.Folder~GetSearchPageByQueryAsyncCallback} fCallback Function to call when operation is completed.
1586
+ * @returns {ITHit.WebDAV.Client.Request} Request object.
1587
+ */
1588
+ GetSearchPageByQueryAsync(oSearchQuery: ITHit.WebDAV.Client.SearchQuery, nOffset?: number, nResults?: number, fCallback?: (oResult: ITHit.WebDAV.Client.AsyncResult) => void): ITHit.WebDAV.Client.Request;
1589
+ /**
1590
+ * Searches folder by search string. To limit amount of items returned and get only a single results page use [GetSearchPageAsync]{@link ITHit.WebDAV.Client.Folder#GetSearchPageAsync} function instead.
1591
+ * @api
1592
+ * @examplecode ITHit.WebDAV.Client.Tests.HierarchyItems.Search.SearchByString
1593
+ * @param {string} sSearchQuery String of search query.
1594
+ * @param {ITHit.WebDAV.Client.PropertyName[]} [aProperties] Additional properties requested from server. If null is specified, only default properties are returned.
1595
+ * @param {ITHit.WebDAV.Client.Folder~SearchAsyncCallback} fCallback Function to call when operation is completed.
1596
+ * @returns {ITHit.WebDAV.Client.Request} Request object.
1597
+ */
1598
+ SearchAsync(sSearchQuery: string, aProperties?: ITHit.WebDAV.Client.PropertyName[], fCallback?: (oResult: ITHit.WebDAV.Client.AsyncResult) => void): ITHit.WebDAV.Client.Request;
1599
+ /**
1600
+ * Searches folder by search string. Returns specified number of search result items that correspond to requested offset and sorting. Use GetSupportedFeaturesAsync() function to detect if paging is supported.
1601
+ * @api
1602
+ * @examplecode ITHit.WebDAV.Client.Tests.HierarchyItems.Search.GetSearchPageByString
1603
+ * @param {string} sSearchQuery String of search query.
1604
+ * @param {ITHit.WebDAV.Client.PropertyName[]} [aProperties] Additional properties requested from server. If null is specified, only default properties are returned.
1605
+ * @param {number} [nOffset] The number of items to skip before returning the remaining items.
1606
+ * @param {number} [nResults] The number of items to return.
1607
+ * @param {ITHit.WebDAV.Client.Folder~GetSearchPageAsyncCallback} fCallback Function to call when operation is completed.
1608
+ * @returns {ITHit.WebDAV.Client.Request} Request object.
1609
+ */
1610
+ GetSearchPageAsync(sSearchQuery: string, aProperties?: ITHit.WebDAV.Client.PropertyName[], nOffset?: number, nResults?: number, fCallback?: (oResult: ITHit.WebDAV.Client.AsyncResult) => void): ITHit.WebDAV.Client.Request;
1611
+ }/**
1612
+ * Represents information about errors occurred in different elements.
1613
+ * @api
1614
+ * @class ITHit.WebDAV.Client.Error
1615
+ */
1616
+ class Error{
1617
+ /**
1618
+ * Gets the generic description, if available.
1619
+ * @api
1620
+ * @type {string}
1621
+ */
1622
+ Description: string
1623
+ /**
1624
+ * Array of the errors returned by server.
1625
+ * @api
1626
+ * @type {ITHit.WebDAV.Client.MultistatusResponse[]}
1627
+ */
1628
+ Responses: ITHit.WebDAV.Client.MultistatusResponse[]
1629
+ }/**
1630
+ * Represents a context for one or many requests.
1631
+ * @api
1632
+ * @class ITHit.WebDAV.Client.RequestProgress
1633
+ */
1634
+ class RequestProgress{
1635
+ /**
1636
+ * Progress in percents
1637
+ * @api
1638
+ * @type {number}
1639
+ */
1640
+ Percent: number
1641
+ /**
1642
+ * Count of complete operations
1643
+ * @api
1644
+ * @type {number}
1645
+ */
1646
+ CountComplete: number
1647
+ /**
1648
+ * Total operations count
1649
+ * @api
1650
+ * @type {number}
1651
+ */
1652
+ CountTotal: number
1653
+ /**
1654
+ * Count of loaded bytes
1655
+ * @api
1656
+ * @type {number}
1657
+ */
1658
+ BytesLoaded: number
1659
+ /**
1660
+ * Total bytes. This param can be changed in progress, if request has many operations (sub-requests).
1661
+ * @api
1662
+ * @type {number}
1663
+ */
1664
+ BytesTotal: number
1665
+ /**
1666
+ * Flag indicating if the resource concerned by the XMLHttpRequest ProgressEvent has a length that can be calculated.
1667
+ * @api
1668
+ * @type {boolean}
1669
+ */
1670
+ LengthComputable: boolean
1671
+ }/**
1672
+ * Represents a context for one or many requests.
1673
+ * @api
1674
+ * @fires ITHit.WebDAV.Client.Request#OnProgress
1675
+ * @fires ITHit.WebDAV.Client.Request#OnError
1676
+ * @fires ITHit.WebDAV.Client.Request#OnFinish
1677
+ * @class ITHit.WebDAV.Client.Request
1678
+ */
1679
+ class Request{
1680
+ /**
1681
+ * Progress event trigger on update information about request progress.
1682
+ * See {@link ITHit.WebDAV.Client.RequestProgress} for more information.
1683
+ * @api
1684
+ * @examplecode ITHit.WebDAV.Client.Tests.HierarchyItems.Progress.Progress
1685
+ * @event ITHit.WebDAV.Client.Request#OnProgress
1686
+ * @property {ITHit.WebDAV.Client.RequestProgress} Progress Progress info instance
1687
+ * @property {ITHit.WebDAV.Client.Request} Request Current request
1688
+ */
1689
+ /**
1690
+ * Error event trigger when one of request operations have error.
1691
+ * Notice: This event trigger before async method callback.
1692
+ * @api
1693
+ * @event ITHit.WebDAV.Client.Request#OnError
1694
+ * @property {Error|ITHit.WebDAV.Client.Exceptions.WebDavException} Error Error object
1695
+ * @property {ITHit.WebDAV.Client.Request} Request Current request
1696
+ */
1697
+ /**
1698
+ * Finish event trigger once when all operations in requests is complete.
1699
+ * Notice: This event trigger before async method callback.
1700
+ * @api
1701
+ * @event ITHit.WebDAV.Client.Request#OnFinish
1702
+ * @property {ITHit.WebDAV.Client.Request} Request Current request
1703
+ */
1704
+ /**
1705
+ * Progress info object, auto updated on `OnProgress` event.
1706
+ * @api
1707
+ * @type {ITHit.WebDAV.Client.RequestProgress}
1708
+ */
1709
+ Progress: ITHit.WebDAV.Client.RequestProgress
1710
+ /**
1711
+ * @api
1712
+ * @param {string} sEventName
1713
+ * @param fCallback
1714
+ * @param {object} [oContext]
1715
+ */
1716
+ AddListener(sEventName: string, fCallback: any, oContext?: object): void;
1717
+ /**
1718
+ * @api
1719
+ * @param {string} sEventName
1720
+ * @param fCallback
1721
+ * @param {object} [oContext]
1722
+ */
1723
+ RemoveListener(sEventName: string, fCallback: any, oContext?: object): void;
1724
+ /**
1725
+ * Cancels asynchronous request. The Finish event and the callback function will be called immediately after this method call.
1726
+ * @api
1727
+ */
1728
+ Abort(): void;
1729
+ }/**
1730
+ * @classdesc Session for accessing WebDAV servers.
1731
+ * @example
1732
+ * &lt;!DOCTYPE html&gt;
1733
+ * &lt;html lang="en"&gt;
1734
+ * &lt;head&gt;
1735
+ * &lt;title&gt;IT Hit WebDAV Ajax Library&lt;/title&gt;
1736
+ * &lt;script src="http://www.ajaxbrowser.com/ITHitService/WebDAVAJAXLibrary/ITHitWebDAVClient.js" type="text/javascript"&gt;&lt;/script&gt;
1737
+ * &lt;script type="text/javascript"&gt;
1738
+ * var sFolderUrl = 'http://localhost:35829/';
1739
+ * var oSession = new ITHit.WebDAV.Client.WebDavSession();
1740
+ *
1741
+ * oSession.OpenFolderAsync(sFolderUrl, null, function (oFolderAsyncResult) {
1742
+ * if (!oFolderAsyncResult.IsSuccess) {
1743
+ * console.error(oFolderAsyncResult.Error);
1744
+ * return;
1745
+ * }
1746
+ *
1747
+ * /&#42;&#42; &#64;typedef {ITHit.WebDAV.Client.Folder} oFolder &#42;/
1748
+ * var oFolder = oFolderAsyncResult.Result;
1749
+ *
1750
+ * console.log(oFolder.Href);
1751
+ *
1752
+ * oFolder.GetChildrenAsync(false, null, function (oAsyncResult) {
1753
+ * if (!oAsyncResult.IsSuccess) {
1754
+ * console.error(oFolderAsyncResult.Error);
1755
+ * return;
1756
+ * }
1757
+ *
1758
+ * /&#42;&#42; &#64;typedef {ITHit.WebDAV.Client.HierarchyItem[]} aHierarchyItems &#42;/
1759
+ * var aHierarchyItems = oAsyncResult.Result;
1760
+ *
1761
+ * for (var i = 0, l = aHierarchyItems.length; i &lt; l; i++) {
1762
+ * var sSize = aHierarchyItems[i].ResourceType !== ITHit.WebDAV.Client.ResourceType.Folder ?
1763
+ * Math.round(aHierarchyItems[i].ContentLength / 1000) + ' Kb' :
1764
+ * null;
1765
+ * console.log(' [' + aHierarchyItems[i].ResourceType + '] ' + aHierarchyItems[i].DisplayName + (sSize ? ', ' + sSize : ''));
1766
+ * }
1767
+ * });
1768
+ * });
1769
+ * &lt;/script&gt;
1770
+ * &lt;/head&gt;
1771
+ * &lt;body&gt;
1772
+ * &lt;/body&gt;
1773
+ * &lt;/html&gt;
1774
+ * @api
1775
+ * @fires ITHit.WebDAV.Client.WebDavSession#OnBeforeRequestSend
1776
+ * @fires ITHit.WebDAV.Client.WebDavSession#OnResponse
1777
+ * @constructs
1778
+ */
1779
+ namespace WebDavSession{
1780
+ /**
1781
+ * Version of AJAX Library
1782
+ * @api
1783
+ */
1784
+ function Version(): void;
1785
+ /**
1786
+ * Protocol Version of AJAX Library
1787
+ * @api
1788
+ */
1789
+ function ProtocolVersion(): void;
1790
+ }class WebDavSession{
1791
+ /**
1792
+ * The OnBeforeRequestSend event is fired before request is being submitted to server and provides all
1793
+ * information that is used when creating the request such as URL, HTTP verb, headers and request body.
1794
+ * @api
1795
+ * @examplecode ITHit.WebDAV.Client.Tests.WebDavSession.Events.BeforeRequestSend
1796
+ * @event ITHit.WebDAV.Client.WebDavSession#OnBeforeRequestSend
1797
+ * @property {string} Method Request method
1798
+ * @property {string} Href Request absolute path
1799
+ * @property {object} Headers Key-value object with headers
1800
+ * @property {string} Body Request Body
1801
+ */
1802
+ /**
1803
+ * The OnResponse event fires when the data is received from server. In your event handler you can update
1804
+ * any data received from server.
1805
+ * @api
1806
+ * @examplecode ITHit.WebDAV.Client.Tests.WebDavSession.Events.Response
1807
+ * @event ITHit.WebDAV.Client.WebDavSession#OnResponse
1808
+ * @property {number} Status Response status code
1809
+ * @property {string} StatusDescription Response status description
1810
+ * @property {object} Headers Key-value object with headers
1811
+ * @property {string} Body Response Body
1812
+ */
1813
+ /**
1814
+ * @api
1815
+ * @param {string} sEventName
1816
+ * @param fCallback
1817
+ * @param {object} [oContext]
1818
+ */
1819
+ AddListener(sEventName: string, fCallback: any, oContext?: object): void;
1820
+ /**
1821
+ * @api
1822
+ * @param {string} sEventName
1823
+ * @param fCallback
1824
+ * @param {object} [oContext]
1825
+ */
1826
+ RemoveListener(sEventName: string, fCallback: any, oContext?: object): void;
1827
+ /**
1828
+ * Load File object corresponding to path.
1829
+ * @api
1830
+ * @param {string} sPath Path to the file.
1831
+ * @param {ITHit.WebDAV.Client.PropertyName[]} aProperties Additional properties requested from server. Default is empty array.
1832
+ * @param {ITHit.WebDAV.Client.WebDavSession~OpenFileAsyncCallback} fCallback Function to call when operation is completed.
1833
+ * @returns {ITHit.WebDAV.Client.Request} Request object.
1834
+ */
1835
+ OpenFileAsync(sPath: string, aProperties: ITHit.WebDAV.Client.PropertyName[], fCallback?: (oResult: ITHit.WebDAV.Client.AsyncResult) => void): ITHit.WebDAV.Client.Request;
1836
+ /**
1837
+ * Returns Folder object corresponding to path.
1838
+ * @examplecode ITHit.WebDAV.Client.Tests.HierarchyItems.GetItemBySession.GetFolder
1839
+ * @api
1840
+ * @param {string} sPath Path to the folder.
1841
+ * @param {ITHit.WebDAV.Client.PropertyName[]} aProperties Additional properties requested from server. Default is empty array.
1842
+ * @param {ITHit.WebDAV.Client.WebDavSession~OpenFolderAsyncCallback} fCallback Function to call when operation is completed.
1843
+ */
1844
+ OpenFolderAsync(sPath: string, aProperties: ITHit.WebDAV.Client.PropertyName[], fCallback?: (oResult: ITHit.WebDAV.Client.AsyncResult) => void): void;
1845
+ /**
1846
+ * Returns HierarchyItem object corresponding to path.
1847
+ * @api
1848
+ * @param {string} sPath Path to the resource.
1849
+ * @param {ITHit.WebDAV.Client.PropertyName[]} aProperties Additional properties requested from server. Default is empty array.
1850
+ * @param {ITHit.WebDAV.Client.WebDavSession~OpenItemAsyncCallback} fCallback Function to call when operation is completed.
1851
+ */
1852
+ OpenItemAsync(sPath: string, aProperties: ITHit.WebDAV.Client.PropertyName[], fCallback?: (oResult: ITHit.WebDAV.Client.AsyncResult) => void): void;
1853
+ /**
1854
+ * Creates folder corresponding to path.
1855
+ * @api
1856
+ * @param {string} sPath Path to the resource.
1857
+ * @param {ITHit.WebDAV.Client.PropertyName[]} aProperties Additional properties requested from server. Default is empty array.
1858
+ * @param {ITHit.WebDAV.Client.WebDavSession~CreateFolderAsyncCallback} fCallback Function to call when operation is completed.
1859
+ */
1860
+ CreateFolderAsync(sPath: string, aProperties: ITHit.WebDAV.Client.PropertyName[], fCallback?: (oResult: ITHit.WebDAV.Client.AsyncResult) => void): void;
1861
+ }}}}