@ibm-aspera/sdk 0.7.1 → 0.9.0
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/dist/commonjs/app/core.d.ts +30 -7
- package/dist/commonjs/app/core.js +157 -39
- package/dist/commonjs/constants/messages.d.ts +2 -0
- package/dist/commonjs/constants/messages.js +2 -0
- package/dist/commonjs/http-gateway/core.d.ts +2 -5
- package/dist/commonjs/index.d.ts +3 -3
- package/dist/commonjs/index.js +5 -1
- package/dist/commonjs/models/aspera-sdk.model.d.ts +8 -7
- package/dist/commonjs/models/models.d.ts +65 -0
- package/dist/js/aspera-sdk.js +1 -1
- package/dist/js/aspera-sdk.js.LICENSE.txt +1 -1
- package/dist/js/aspera-sdk.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { AsperaSdkInfo, TransferResponse } from '../models/aspera-sdk.model';
|
|
2
|
-
import { CustomBrandingOptions, DataTransferResponse, AsperaSdkSpec, AsperaSdkTransfer, FileDialogOptions, FolderDialogOptions, InitOptions, ModifyTransferOptions, Pagination, PaginatedFilesResponse, ResumeTransferOptions, TransferSpec, WebsocketEvent, ReadChunkAsArrayBufferResponse, ReadAsArrayBufferResponse, SdkCapabilities, GetChecksumOptions, ChecksumFileResponse } from '../models/models';
|
|
3
|
-
import * as ConnectTypes from '@ibm-aspera/connect-sdk-js/dist/esm/core/types';
|
|
2
|
+
import { CustomBrandingOptions, DataTransferResponse, DropzoneEventData, DropzoneOptions, AsperaSdkSpec, AsperaSdkTransfer, FileDialogOptions, FolderDialogOptions, InitOptions, ModifyTransferOptions, Pagination, PaginatedFilesResponse, ResumeTransferOptions, TransferSpec, WebsocketEvent, ReadChunkAsArrayBufferResponse, ReadAsArrayBufferResponse, SdkCapabilities, GetChecksumOptions, ChecksumFileResponse } from '../models/models';
|
|
4
3
|
/**
|
|
5
4
|
* Check if IBM Aspera for Desktop connection works. This function is called by init
|
|
6
5
|
* when initializing the SDK. This function can be used at any point for checking.
|
|
@@ -117,6 +116,14 @@ export declare const showSelectFileDialog: (options?: FileDialogOptions) => Prom
|
|
|
117
116
|
* @returns a promise that resolves with the selected folder(s) and rejects if user cancels dialog
|
|
118
117
|
*/
|
|
119
118
|
export declare const showSelectFolderDialog: (options?: FolderDialogOptions) => Promise<DataTransferResponse>;
|
|
119
|
+
/**
|
|
120
|
+
* Shows the about page of the transfer client.
|
|
121
|
+
*
|
|
122
|
+
* This is supported when using Connect or IBM Aspera for desktop, but not HTTP Gateway.
|
|
123
|
+
*
|
|
124
|
+
* @returns a promise that resolves when the about page is shown.
|
|
125
|
+
*/
|
|
126
|
+
export declare const showAbout: () => Promise<any>;
|
|
120
127
|
/**
|
|
121
128
|
* Opens the IBM Aspera preferences page.
|
|
122
129
|
*
|
|
@@ -180,12 +187,9 @@ export declare const setBranding: (id: string, options: CustomBrandingOptions) =
|
|
|
180
187
|
*
|
|
181
188
|
* @param callback the function to call once the files are dropped
|
|
182
189
|
* @param elementSelector the selector of the element on the page that should watch for drop events
|
|
183
|
-
* @param
|
|
190
|
+
* @param options options to configure which drag and drop events trigger the listener
|
|
184
191
|
*/
|
|
185
|
-
export declare const createDropzone: (callback: (data:
|
|
186
|
-
event: DragEvent;
|
|
187
|
-
files: DataTransferResponse;
|
|
188
|
-
}) => void, elementSelector: string, connectOptions?: ConnectTypes.DragDropOptions) => void;
|
|
192
|
+
export declare const createDropzone: (callback: (data: DropzoneEventData) => void, elementSelector: string, options?: DropzoneOptions) => void;
|
|
189
193
|
/**
|
|
190
194
|
* Remove dropzone.
|
|
191
195
|
*
|
|
@@ -249,3 +253,22 @@ export declare const getChecksum: (options: GetChecksumOptions) => Promise<Check
|
|
|
249
253
|
* }
|
|
250
254
|
*/
|
|
251
255
|
export declare const getCapabilities: () => SdkCapabilities;
|
|
256
|
+
/**
|
|
257
|
+
* Check if the SDK and underlying transfer client supports a specific capability.
|
|
258
|
+
*
|
|
259
|
+
* Capabilities depend on the transfer client being used (HTTP Gateway, Connect, or IBM Aspera for desktop).
|
|
260
|
+
* Use this function to conditionally enable/disable features in your application.
|
|
261
|
+
*
|
|
262
|
+
* @param capability the capability to check.
|
|
263
|
+
*
|
|
264
|
+
* @returns `true` if the capability is supported, `false` otherwise
|
|
265
|
+
*
|
|
266
|
+
* @example
|
|
267
|
+
* ```typescript
|
|
268
|
+
* // Determine if your web application can render image previews for user selected files
|
|
269
|
+
* if (asperaSdk.hasCapability('imagePreview')) {
|
|
270
|
+
* asperaSdk.readAsArrayBuffer(path);
|
|
271
|
+
* }
|
|
272
|
+
* ```
|
|
273
|
+
*/
|
|
274
|
+
export declare const hasCapability: (capability: keyof SdkCapabilities) => boolean;
|
|
@@ -11,7 +11,7 @@ var __assign = (this && this.__assign) || function () {
|
|
|
11
11
|
return __assign.apply(this, arguments);
|
|
12
12
|
};
|
|
13
13
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
-
exports.getCapabilities = exports.getChecksum = exports.readChunkAsArrayBuffer = exports.readAsArrayBuffer = exports.getInfo = exports.removeDropzone = exports.createDropzone = exports.setBranding = exports.modifyTransfer = exports.showDirectory = exports.getFilesList = exports.getTransfer = exports.getAllTransfers = exports.showPreferences = exports.showSelectFolderDialog = exports.showSelectFileDialog = exports.resumeTransfer = exports.stopTransfer = exports.removeTransfer = exports.deregisterStatusCallback = exports.registerStatusCallback = exports.deregisterActivityCallback = exports.registerActivityCallback = exports.startTransfer = exports.init = exports.initDragDrop = exports.testConnection = void 0;
|
|
14
|
+
exports.hasCapability = exports.getCapabilities = exports.getChecksum = exports.readChunkAsArrayBuffer = exports.readAsArrayBuffer = exports.getInfo = exports.removeDropzone = exports.createDropzone = exports.setBranding = exports.modifyTransfer = exports.showDirectory = exports.getFilesList = exports.getTransfer = exports.getAllTransfers = exports.showPreferences = exports.showAbout = exports.showSelectFolderDialog = exports.showSelectFileDialog = exports.resumeTransfer = exports.stopTransfer = exports.removeTransfer = exports.deregisterStatusCallback = exports.registerStatusCallback = exports.deregisterActivityCallback = exports.registerActivityCallback = exports.startTransfer = exports.init = exports.initDragDrop = exports.testConnection = void 0;
|
|
15
15
|
var messages_1 = require("../constants/messages");
|
|
16
16
|
var client_1 = require("../helpers/client/client");
|
|
17
17
|
var helpers_1 = require("../helpers/helpers");
|
|
@@ -435,6 +435,33 @@ var showSelectFolderDialog = function (options) {
|
|
|
435
435
|
return promiseInfo.promise;
|
|
436
436
|
};
|
|
437
437
|
exports.showSelectFolderDialog = showSelectFolderDialog;
|
|
438
|
+
/**
|
|
439
|
+
* Shows the about page of the transfer client.
|
|
440
|
+
*
|
|
441
|
+
* This is supported when using Connect or IBM Aspera for desktop, but not HTTP Gateway.
|
|
442
|
+
*
|
|
443
|
+
* @returns a promise that resolves when the about page is shown.
|
|
444
|
+
*/
|
|
445
|
+
var showAbout = function () {
|
|
446
|
+
if (index_1.asperaSdk.useHttpGateway) {
|
|
447
|
+
return (0, helpers_1.throwError)(messages_1.messages.showAboutNotSupported);
|
|
448
|
+
}
|
|
449
|
+
if (index_1.asperaSdk.useConnect) {
|
|
450
|
+
return index_1.asperaSdk.globals.connect.showAbout();
|
|
451
|
+
}
|
|
452
|
+
if (!index_1.asperaSdk.isReady) {
|
|
453
|
+
return (0, helpers_1.throwError)(messages_1.messages.serverNotVerified);
|
|
454
|
+
}
|
|
455
|
+
var promiseInfo = (0, helpers_1.generatePromiseObjects)();
|
|
456
|
+
client_1.client.request('show_about')
|
|
457
|
+
.then(function (data) { return promiseInfo.resolver(data); })
|
|
458
|
+
.catch(function (error) {
|
|
459
|
+
(0, helpers_1.errorLog)(messages_1.messages.showAboutFailed, error);
|
|
460
|
+
promiseInfo.rejecter((0, helpers_1.generateErrorBody)(messages_1.messages.showAboutFailed, error));
|
|
461
|
+
});
|
|
462
|
+
return promiseInfo.promise;
|
|
463
|
+
};
|
|
464
|
+
exports.showAbout = showAbout;
|
|
438
465
|
/**
|
|
439
466
|
* Opens the IBM Aspera preferences page.
|
|
440
467
|
*
|
|
@@ -654,10 +681,27 @@ exports.setBranding = setBranding;
|
|
|
654
681
|
*
|
|
655
682
|
* @param callback the function to call once the files are dropped
|
|
656
683
|
* @param elementSelector the selector of the element on the page that should watch for drop events
|
|
657
|
-
* @param
|
|
684
|
+
* @param options options to configure which drag and drop events trigger the listener
|
|
658
685
|
*/
|
|
659
|
-
var createDropzone = function (callback, elementSelector,
|
|
686
|
+
var createDropzone = function (callback, elementSelector, options) {
|
|
687
|
+
var _a, _b, _c, _d, _e, _f;
|
|
688
|
+
var resolvedOptions = {
|
|
689
|
+
dragEnter: (_a = options === null || options === void 0 ? void 0 : options.dragEnter) !== null && _a !== void 0 ? _a : false,
|
|
690
|
+
dragOver: (_b = options === null || options === void 0 ? void 0 : options.dragOver) !== null && _b !== void 0 ? _b : false,
|
|
691
|
+
dragLeave: (_c = options === null || options === void 0 ? void 0 : options.dragLeave) !== null && _c !== void 0 ? _c : false,
|
|
692
|
+
drop: (_d = options === null || options === void 0 ? void 0 : options.drop) !== null && _d !== void 0 ? _d : true,
|
|
693
|
+
allowPropagation: (_e = options === null || options === void 0 ? void 0 : options.allowPropagation) !== null && _e !== void 0 ? _e : true,
|
|
694
|
+
allowDefaultBehavior: (_f = options === null || options === void 0 ? void 0 : options.allowDefaultBehavior) !== null && _f !== void 0 ? _f : false,
|
|
695
|
+
};
|
|
660
696
|
if (index_1.asperaSdk.useConnect) {
|
|
697
|
+
var connectOptions = {
|
|
698
|
+
dragenter: resolvedOptions.dragEnter,
|
|
699
|
+
dragover: resolvedOptions.dragOver,
|
|
700
|
+
dragleave: resolvedOptions.dragLeave,
|
|
701
|
+
drop: resolvedOptions.drop,
|
|
702
|
+
allowPropagation: resolvedOptions.allowPropagation,
|
|
703
|
+
disablePreventDefault: resolvedOptions.allowDefaultBehavior,
|
|
704
|
+
};
|
|
661
705
|
index_1.asperaSdk.globals.connect.setDragDropTargets(elementSelector, connectOptions, function (result) {
|
|
662
706
|
callback({
|
|
663
707
|
event: result.event,
|
|
@@ -671,43 +715,91 @@ var createDropzone = function (callback, elementSelector, connectOptions) {
|
|
|
671
715
|
(0, helpers_1.errorLog)(messages_1.messages.unableToFindElementOnPage);
|
|
672
716
|
return;
|
|
673
717
|
}
|
|
674
|
-
var
|
|
675
|
-
|
|
718
|
+
var handleEventDefaults = function (event) {
|
|
719
|
+
if (!resolvedOptions.allowDefaultBehavior) {
|
|
720
|
+
event.preventDefault();
|
|
721
|
+
}
|
|
722
|
+
if (!resolvedOptions.allowPropagation) {
|
|
723
|
+
event.stopPropagation();
|
|
724
|
+
}
|
|
676
725
|
};
|
|
677
|
-
var
|
|
726
|
+
var handleRequiredEventDefaults = function (event) {
|
|
678
727
|
event.preventDefault();
|
|
679
|
-
if (
|
|
680
|
-
|
|
681
|
-
for (var i = 0; i < event.dataTransfer.files.length; i++) {
|
|
682
|
-
var file = event.dataTransfer.files[i];
|
|
683
|
-
files.push({
|
|
684
|
-
lastModified: file.lastModified,
|
|
685
|
-
name: file.name,
|
|
686
|
-
size: file.size,
|
|
687
|
-
type: file.type
|
|
688
|
-
});
|
|
689
|
-
}
|
|
690
|
-
var payload = {
|
|
691
|
-
files: files,
|
|
692
|
-
app_id: index_1.asperaSdk.globals.appId,
|
|
693
|
-
};
|
|
694
|
-
if (index_1.asperaSdk.isReady) {
|
|
695
|
-
client_1.client.request('dropped_files', payload)
|
|
696
|
-
.then(function (data) { return callback({ event: event, files: data }); })
|
|
697
|
-
.catch(function (error) {
|
|
698
|
-
(0, helpers_1.errorLog)(messages_1.messages.unableToReadDropped, error);
|
|
699
|
-
});
|
|
700
|
-
}
|
|
701
|
-
else if (index_1.asperaSdk.httpGatewayIsReady) {
|
|
702
|
-
(0, core_1.handleHttpGatewayDrop)(event.dataTransfer.items, callback, event);
|
|
703
|
-
}
|
|
728
|
+
if (!resolvedOptions.allowPropagation) {
|
|
729
|
+
event.stopPropagation();
|
|
704
730
|
}
|
|
705
731
|
};
|
|
732
|
+
var registeredListeners = [];
|
|
733
|
+
if (resolvedOptions.dragEnter) {
|
|
734
|
+
registeredListeners.push({
|
|
735
|
+
event: 'dragenter',
|
|
736
|
+
callback: function (event) {
|
|
737
|
+
handleEventDefaults(event);
|
|
738
|
+
callback({ event: event });
|
|
739
|
+
},
|
|
740
|
+
});
|
|
741
|
+
}
|
|
742
|
+
if (resolvedOptions.dragLeave) {
|
|
743
|
+
registeredListeners.push({
|
|
744
|
+
event: 'dragleave',
|
|
745
|
+
callback: function (event) {
|
|
746
|
+
handleEventDefaults(event);
|
|
747
|
+
callback({ event: event });
|
|
748
|
+
},
|
|
749
|
+
});
|
|
750
|
+
}
|
|
751
|
+
if (resolvedOptions.drop || resolvedOptions.dragOver) {
|
|
752
|
+
registeredListeners.push({
|
|
753
|
+
event: 'dragover',
|
|
754
|
+
callback: function (event) {
|
|
755
|
+
handleRequiredEventDefaults(event);
|
|
756
|
+
if (resolvedOptions.dragOver) {
|
|
757
|
+
callback({ event: event });
|
|
758
|
+
}
|
|
759
|
+
},
|
|
760
|
+
});
|
|
761
|
+
}
|
|
762
|
+
if (resolvedOptions.drop) {
|
|
763
|
+
registeredListeners.push({
|
|
764
|
+
event: 'drop',
|
|
765
|
+
callback: function (event) {
|
|
766
|
+
handleRequiredEventDefaults(event);
|
|
767
|
+
if (event.dataTransfer && event.dataTransfer.files && event.dataTransfer.files.length && event.dataTransfer.files[0]) {
|
|
768
|
+
var files = [];
|
|
769
|
+
for (var i = 0; i < event.dataTransfer.files.length; i++) {
|
|
770
|
+
var file = event.dataTransfer.files[i];
|
|
771
|
+
files.push({
|
|
772
|
+
lastModified: file.lastModified,
|
|
773
|
+
name: file.name,
|
|
774
|
+
size: file.size,
|
|
775
|
+
type: file.type
|
|
776
|
+
});
|
|
777
|
+
}
|
|
778
|
+
var payload = {
|
|
779
|
+
files: files,
|
|
780
|
+
app_id: index_1.asperaSdk.globals.appId,
|
|
781
|
+
};
|
|
782
|
+
if (index_1.asperaSdk.isReady) {
|
|
783
|
+
client_1.client.request('dropped_files', payload)
|
|
784
|
+
.then(function (data) { return callback({ event: event, files: data }); })
|
|
785
|
+
.catch(function (error) {
|
|
786
|
+
(0, helpers_1.errorLog)(messages_1.messages.unableToReadDropped, error);
|
|
787
|
+
});
|
|
788
|
+
}
|
|
789
|
+
else if (index_1.asperaSdk.httpGatewayIsReady) {
|
|
790
|
+
(0, core_1.handleHttpGatewayDrop)(event.dataTransfer.items, callback, event);
|
|
791
|
+
}
|
|
792
|
+
}
|
|
793
|
+
},
|
|
794
|
+
});
|
|
795
|
+
}
|
|
706
796
|
elements.forEach(function (element) {
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
|
|
797
|
+
registeredListeners.forEach(function (_a) {
|
|
798
|
+
var event = _a.event, listener = _a.callback;
|
|
799
|
+
element.addEventListener(event, listener);
|
|
800
|
+
});
|
|
710
801
|
});
|
|
802
|
+
index_1.asperaSdk.globals.dropZonesCreated.set(elementSelector, registeredListeners);
|
|
711
803
|
};
|
|
712
804
|
exports.createDropzone = createDropzone;
|
|
713
805
|
/**
|
|
@@ -718,14 +810,15 @@ exports.createDropzone = createDropzone;
|
|
|
718
810
|
var removeDropzone = function (elementSelector) {
|
|
719
811
|
var foundDropzone = index_1.asperaSdk.globals.dropZonesCreated.get(elementSelector);
|
|
720
812
|
if (foundDropzone) {
|
|
813
|
+
var elements_1 = document.querySelectorAll(elementSelector);
|
|
721
814
|
foundDropzone.forEach(function (data) {
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
elements.forEach(function (element) {
|
|
815
|
+
if (elements_1 && elements_1.length) {
|
|
816
|
+
elements_1.forEach(function (element) {
|
|
725
817
|
element.removeEventListener(data.event, data.callback);
|
|
726
818
|
});
|
|
727
819
|
}
|
|
728
820
|
});
|
|
821
|
+
index_1.asperaSdk.globals.dropZonesCreated.delete(elementSelector);
|
|
729
822
|
}
|
|
730
823
|
};
|
|
731
824
|
exports.removeDropzone = removeDropzone;
|
|
@@ -858,8 +951,9 @@ var getChecksum = function (options) {
|
|
|
858
951
|
exports.getChecksum = getChecksum;
|
|
859
952
|
var supportsMethod = function (method) {
|
|
860
953
|
// We currently do not support calculating file checksums when using HTTP Gateway. In theory it should be possible
|
|
861
|
-
// to calculate this
|
|
862
|
-
|
|
954
|
+
// to calculate this directly in the browser similar to how `readAsArrayBuffer()` is implemented.
|
|
955
|
+
// HTTP Gateway also does not support showing native transfer client UI (about, preferences, etc.).
|
|
956
|
+
if (index_1.asperaSdk.useHttpGateway && (method === 'get_checksum' || method === 'show_about' || method === 'open_preferences')) {
|
|
863
957
|
return false;
|
|
864
958
|
}
|
|
865
959
|
// HTTP Gateway and Connect do not have any RPC methods so fallback to true
|
|
@@ -892,6 +986,30 @@ var getCapabilities = function () {
|
|
|
892
986
|
return {
|
|
893
987
|
imagePreview: supportsMethod('read_as_array_buffer') && supportsMethod('read_chunk_as_array_buffer'),
|
|
894
988
|
fileChecksum: supportsMethod('get_checksum'),
|
|
989
|
+
showAbout: supportsMethod('show_about'),
|
|
990
|
+
showPreferences: supportsMethod('open_preferences'),
|
|
895
991
|
};
|
|
896
992
|
};
|
|
897
993
|
exports.getCapabilities = getCapabilities;
|
|
994
|
+
/**
|
|
995
|
+
* Check if the SDK and underlying transfer client supports a specific capability.
|
|
996
|
+
*
|
|
997
|
+
* Capabilities depend on the transfer client being used (HTTP Gateway, Connect, or IBM Aspera for desktop).
|
|
998
|
+
* Use this function to conditionally enable/disable features in your application.
|
|
999
|
+
*
|
|
1000
|
+
* @param capability the capability to check.
|
|
1001
|
+
*
|
|
1002
|
+
* @returns `true` if the capability is supported, `false` otherwise
|
|
1003
|
+
*
|
|
1004
|
+
* @example
|
|
1005
|
+
* ```typescript
|
|
1006
|
+
* // Determine if your web application can render image previews for user selected files
|
|
1007
|
+
* if (asperaSdk.hasCapability('imagePreview')) {
|
|
1008
|
+
* asperaSdk.readAsArrayBuffer(path);
|
|
1009
|
+
* }
|
|
1010
|
+
* ```
|
|
1011
|
+
*/
|
|
1012
|
+
var hasCapability = function (capability) {
|
|
1013
|
+
return !!(0, exports.getCapabilities)()[capability];
|
|
1014
|
+
};
|
|
1015
|
+
exports.hasCapability = hasCapability;
|
|
@@ -42,4 +42,6 @@ exports.messages = {
|
|
|
42
42
|
getFilesListFailed: 'Unable to get files list for transfer',
|
|
43
43
|
getChecksumFailed: 'Unable to get file checksum',
|
|
44
44
|
getChecksumNotSupported: 'File checksum not supported for current transfer client',
|
|
45
|
+
showAboutFailed: 'Unable to show about page',
|
|
46
|
+
showAboutNotSupported: 'Show about is not supported for current transfer client',
|
|
45
47
|
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { FileDialogOptions, DataTransferResponse, TransferSpec, AsperaSdkTransfer, ReadAsArrayBufferResponse, ReadChunkAsArrayBufferResponse } from '../models/models';
|
|
1
|
+
import { FileDialogOptions, DataTransferResponse, DropzoneEventData, TransferSpec, AsperaSdkTransfer, ReadAsArrayBufferResponse, ReadChunkAsArrayBufferResponse } from '../models/models';
|
|
2
2
|
import { HttpGatewayInfo } from './models';
|
|
3
3
|
/**
|
|
4
4
|
* HTTP Gateway Core Logic
|
|
@@ -64,10 +64,7 @@ export declare const createHtmlInputElement: () => HTMLInputElement;
|
|
|
64
64
|
* Handle drop events and store files for HTTP Gateway
|
|
65
65
|
* This works on top of desktop.
|
|
66
66
|
*/
|
|
67
|
-
export declare const handleHttpGatewayDrop: (items: DataTransferItemList, callback: (data:
|
|
68
|
-
event: DragEvent;
|
|
69
|
-
files: DataTransferResponse;
|
|
70
|
-
}) => void, event: DragEvent) => void;
|
|
67
|
+
export declare const handleHttpGatewayDrop: (items: DataTransferItemList, callback: (data: DropzoneEventData) => void, event: DragEvent) => void;
|
|
71
68
|
/**
|
|
72
69
|
* Open native browser file or folder picker for files
|
|
73
70
|
*
|
package/dist/commonjs/index.d.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { AsperaSdk } from './models/aspera-sdk.model';
|
|
2
|
-
import { createDropzone, deregisterActivityCallback, deregisterStatusCallback, getAllTransfers, getCapabilities, getChecksum, getFilesList, getInfo, getTransfer, init, initDragDrop, modifyTransfer, readAsArrayBuffer, readChunkAsArrayBuffer, registerActivityCallback, registerStatusCallback, removeDropzone, removeTransfer, resumeTransfer, setBranding, showDirectory, showPreferences, showSelectFileDialog, showSelectFolderDialog, startTransfer, stopTransfer, testConnection } from './app/core';
|
|
2
|
+
import { createDropzone, deregisterActivityCallback, deregisterStatusCallback, getAllTransfers, getCapabilities, getChecksum, getFilesList, getInfo, getTransfer, hasCapability, init, initDragDrop, modifyTransfer, readAsArrayBuffer, readChunkAsArrayBuffer, registerActivityCallback, registerStatusCallback, removeDropzone, removeTransfer, resumeTransfer, setBranding, showAbout, showDirectory, showPreferences, showSelectFileDialog, showSelectFolderDialog, startTransfer, stopTransfer, testConnection } from './app/core';
|
|
3
3
|
import { getInstallerInfo } from './app/installer';
|
|
4
4
|
import { getInstallerUrls, isSafari } from './helpers/helpers';
|
|
5
5
|
export declare const asperaSdk: AsperaSdk;
|
|
6
6
|
declare const launch: () => void;
|
|
7
|
-
export { isSafari, init, testConnection, startTransfer, launch, registerActivityCallback, deregisterActivityCallback, removeTransfer, showDirectory, stopTransfer, resumeTransfer, getAllTransfers, getTransfer, getFilesList, showSelectFileDialog, showSelectFolderDialog, showPreferences, modifyTransfer, createDropzone, removeDropzone, initDragDrop, getInstallerInfo, registerStatusCallback, deregisterStatusCallback, setBranding, getInfo, readAsArrayBuffer, readChunkAsArrayBuffer, getInstallerUrls, getCapabilities, getChecksum, };
|
|
8
|
-
export type { AsperaSdkSpec, AsperaSdkTransfer, BrowserStyleFile, ChecksumFileResponse, CustomBrandingOptions, CustomTheme, CustomThemeItems, DataTransferResponse, FileDialogOptions, FileError, FileFilter, FileStat, FileStatus, FolderDialogOptions, GetChecksumOptions, InitOptions, InstallerInfo, InstallerInfoResponse, InstallerOptions, InstallerUrlInfo, ModifyTransferOptions, OverwritePolicy, PaginatedFilesResponse, Pagination, Path, ReadAsArrayBufferResponse, ReadChunkAsArrayBufferResponse, ResumePolicy, ResumeTransferOptions, SafariExtensionEvent, SdkCapabilities, TransferSpec, TransferStatus, WebsocketEvent, } from './models/models';
|
|
7
|
+
export { isSafari, init, testConnection, startTransfer, launch, registerActivityCallback, deregisterActivityCallback, removeTransfer, showAbout, showDirectory, stopTransfer, resumeTransfer, getAllTransfers, getTransfer, getFilesList, showSelectFileDialog, showSelectFolderDialog, showPreferences, modifyTransfer, createDropzone, removeDropzone, initDragDrop, getInstallerInfo, registerStatusCallback, deregisterStatusCallback, setBranding, getInfo, readAsArrayBuffer, readChunkAsArrayBuffer, getInstallerUrls, getCapabilities, hasCapability, getChecksum, };
|
|
8
|
+
export type { AsperaSdkSpec, AsperaSdkTransfer, BrowserStyleFile, ChecksumFileResponse, CustomBrandingOptions, CustomTheme, CustomThemeItems, DataTransferResponse, DropzoneEventData, DropzoneEventType, DropzoneOptions, FileDialogOptions, FileError, FileFilter, FileStat, FileStatus, FolderDialogOptions, GetChecksumOptions, InitOptions, InstallerInfo, InstallerInfoResponse, InstallerOptions, InstallerUrlInfo, ModifyTransferOptions, OverwritePolicy, PaginatedFilesResponse, Pagination, Path, ReadAsArrayBufferResponse, ReadChunkAsArrayBufferResponse, ResumePolicy, ResumeTransferOptions, SafariExtensionEvent, SdkCapabilities, TransferSpec, TransferStatus, WebsocketEvent, } from './models/models';
|
|
9
9
|
export type { ActivityMessage, ActivityMessageTypes, AsperaSdkClientInfo, AsperaSdkInfo, TransferResponse, } from './models/aspera-sdk.model';
|
|
10
10
|
export { AsperaSdk, AsperaSdkGlobals } from './models/aspera-sdk.model';
|
|
11
11
|
export type { HttpGatewayInfo } from './http-gateway/models';
|
package/dist/commonjs/index.js
CHANGED
|
@@ -33,7 +33,7 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
33
33
|
};
|
|
34
34
|
})();
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
-
exports.AsperaSdkGlobals = exports.AsperaSdk = exports.getChecksum = exports.getCapabilities = exports.getInstallerUrls = exports.readChunkAsArrayBuffer = exports.readAsArrayBuffer = exports.getInfo = exports.setBranding = exports.deregisterStatusCallback = exports.registerStatusCallback = exports.getInstallerInfo = exports.initDragDrop = exports.removeDropzone = exports.createDropzone = exports.modifyTransfer = exports.showPreferences = exports.showSelectFolderDialog = exports.showSelectFileDialog = exports.getFilesList = exports.getTransfer = exports.getAllTransfers = exports.resumeTransfer = exports.stopTransfer = exports.showDirectory = exports.removeTransfer = exports.deregisterActivityCallback = exports.registerActivityCallback = exports.launch = exports.startTransfer = exports.testConnection = exports.init = exports.isSafari = exports.asperaSdk = void 0;
|
|
36
|
+
exports.AsperaSdkGlobals = exports.AsperaSdk = exports.getChecksum = exports.hasCapability = exports.getCapabilities = exports.getInstallerUrls = exports.readChunkAsArrayBuffer = exports.readAsArrayBuffer = exports.getInfo = exports.setBranding = exports.deregisterStatusCallback = exports.registerStatusCallback = exports.getInstallerInfo = exports.initDragDrop = exports.removeDropzone = exports.createDropzone = exports.modifyTransfer = exports.showPreferences = exports.showSelectFolderDialog = exports.showSelectFileDialog = exports.getFilesList = exports.getTransfer = exports.getAllTransfers = exports.resumeTransfer = exports.stopTransfer = exports.showDirectory = exports.showAbout = exports.removeTransfer = exports.deregisterActivityCallback = exports.registerActivityCallback = exports.launch = exports.startTransfer = exports.testConnection = exports.init = exports.isSafari = exports.asperaSdk = void 0;
|
|
37
37
|
var aspera_sdk_model_1 = require("./models/aspera-sdk.model");
|
|
38
38
|
var core_1 = require("./app/core");
|
|
39
39
|
Object.defineProperty(exports, "createDropzone", { enumerable: true, get: function () { return core_1.createDropzone; } });
|
|
@@ -45,6 +45,7 @@ Object.defineProperty(exports, "getChecksum", { enumerable: true, get: function
|
|
|
45
45
|
Object.defineProperty(exports, "getFilesList", { enumerable: true, get: function () { return core_1.getFilesList; } });
|
|
46
46
|
Object.defineProperty(exports, "getInfo", { enumerable: true, get: function () { return core_1.getInfo; } });
|
|
47
47
|
Object.defineProperty(exports, "getTransfer", { enumerable: true, get: function () { return core_1.getTransfer; } });
|
|
48
|
+
Object.defineProperty(exports, "hasCapability", { enumerable: true, get: function () { return core_1.hasCapability; } });
|
|
48
49
|
Object.defineProperty(exports, "init", { enumerable: true, get: function () { return core_1.init; } });
|
|
49
50
|
Object.defineProperty(exports, "initDragDrop", { enumerable: true, get: function () { return core_1.initDragDrop; } });
|
|
50
51
|
Object.defineProperty(exports, "modifyTransfer", { enumerable: true, get: function () { return core_1.modifyTransfer; } });
|
|
@@ -56,6 +57,7 @@ Object.defineProperty(exports, "removeDropzone", { enumerable: true, get: functi
|
|
|
56
57
|
Object.defineProperty(exports, "removeTransfer", { enumerable: true, get: function () { return core_1.removeTransfer; } });
|
|
57
58
|
Object.defineProperty(exports, "resumeTransfer", { enumerable: true, get: function () { return core_1.resumeTransfer; } });
|
|
58
59
|
Object.defineProperty(exports, "setBranding", { enumerable: true, get: function () { return core_1.setBranding; } });
|
|
60
|
+
Object.defineProperty(exports, "showAbout", { enumerable: true, get: function () { return core_1.showAbout; } });
|
|
59
61
|
Object.defineProperty(exports, "showDirectory", { enumerable: true, get: function () { return core_1.showDirectory; } });
|
|
60
62
|
Object.defineProperty(exports, "showPreferences", { enumerable: true, get: function () { return core_1.showPreferences; } });
|
|
61
63
|
Object.defineProperty(exports, "showSelectFileDialog", { enumerable: true, get: function () { return core_1.showSelectFileDialog; } });
|
|
@@ -76,6 +78,7 @@ exports.asperaSdk.startTransfer = core_1.startTransfer;
|
|
|
76
78
|
exports.asperaSdk.registerActivityCallback = core_1.registerActivityCallback;
|
|
77
79
|
exports.asperaSdk.deregisterActivityCallback = core_1.deregisterActivityCallback;
|
|
78
80
|
exports.asperaSdk.removeTransfer = core_1.removeTransfer;
|
|
81
|
+
exports.asperaSdk.showAbout = core_1.showAbout;
|
|
79
82
|
exports.asperaSdk.showDirectory = core_1.showDirectory;
|
|
80
83
|
exports.asperaSdk.stopTransfer = core_1.stopTransfer;
|
|
81
84
|
exports.asperaSdk.resumeTransfer = core_1.resumeTransfer;
|
|
@@ -99,6 +102,7 @@ exports.asperaSdk.readChunkAsArrayBuffer = core_1.readChunkAsArrayBuffer;
|
|
|
99
102
|
exports.asperaSdk.isSafari = helpers_1.isSafari;
|
|
100
103
|
exports.asperaSdk.getInstallerUrls = helpers_1.getInstallerUrls;
|
|
101
104
|
exports.asperaSdk.getCapabilities = core_1.getCapabilities;
|
|
105
|
+
exports.asperaSdk.hasCapability = core_1.hasCapability;
|
|
102
106
|
exports.asperaSdk.getChecksum = core_1.getChecksum;
|
|
103
107
|
exports.asperaSdk.httpGatewayCalls = httpGatewayCalls;
|
|
104
108
|
var launch = exports.asperaSdk.globals.launch;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { CustomBrandingOptions, DataTransferResponse, AsperaSdkSpec, AsperaSdkTransfer, FileDialogOptions, FolderDialogOptions, InitOptions, InstallerInfoResponse, InstallerOptions, ModifyTransferOptions, Pagination, PaginatedFilesResponse, ResumeTransferOptions, SafariExtensionEvent, TransferSpec, WebsocketEvent, InstallerUrlInfo, SdkCapabilities, GetChecksumOptions, ChecksumFileResponse } from './models';
|
|
1
|
+
import { CustomBrandingOptions, DataTransferResponse, DropzoneEventData, DropzoneEventType, DropzoneOptions, AsperaSdkSpec, AsperaSdkTransfer, FileDialogOptions, FolderDialogOptions, InitOptions, InstallerInfoResponse, InstallerOptions, ModifyTransferOptions, Pagination, PaginatedFilesResponse, ResumeTransferOptions, SafariExtensionEvent, TransferSpec, WebsocketEvent, InstallerUrlInfo, SdkCapabilities, GetChecksumOptions, ChecksumFileResponse } from './models';
|
|
2
2
|
import { HttpGatewayInfo } from '../http-gateway/models';
|
|
3
3
|
import * as ConnectTypes from '@ibm-aspera/connect-sdk-js/dist/esm/core/types';
|
|
4
4
|
import { Connect, ConnectInstaller } from '@ibm-aspera/connect-sdk-js';
|
|
@@ -23,8 +23,8 @@ export declare class AsperaSdkGlobals {
|
|
|
23
23
|
sessionId?: string;
|
|
24
24
|
/** Map of drop zones created by querySelector */
|
|
25
25
|
dropZonesCreated: Map<string, {
|
|
26
|
-
event:
|
|
27
|
-
callback: (event:
|
|
26
|
+
event: DropzoneEventType;
|
|
27
|
+
callback: (event: DragEvent) => void;
|
|
28
28
|
}[]>;
|
|
29
29
|
/** HTTP Gateway URL after successful passing */
|
|
30
30
|
httpGatewayUrl?: string;
|
|
@@ -201,6 +201,8 @@ export declare class AsperaSdk {
|
|
|
201
201
|
showSelectFileDialog: (options?: FileDialogOptions) => Promise<DataTransferResponse>;
|
|
202
202
|
/** Function to display a folder dialog for the user to select folders. */
|
|
203
203
|
showSelectFolderDialog: (options?: FolderDialogOptions) => Promise<DataTransferResponse>;
|
|
204
|
+
/** Function to show the about page of the transfer client */
|
|
205
|
+
showAbout: () => Promise<any>;
|
|
204
206
|
/** Function to display the IBM Aspera preferences page */
|
|
205
207
|
showPreferences: () => Promise<any>;
|
|
206
208
|
/** Function to modify a running transfer */
|
|
@@ -208,10 +210,7 @@ export declare class AsperaSdk {
|
|
|
208
210
|
/** Function to set custom branding for IBM Aspera */
|
|
209
211
|
setBranding: (id: string, options: CustomBrandingOptions) => Promise<any>;
|
|
210
212
|
/** Create dropzone for drop events of files */
|
|
211
|
-
createDropzone: (callback: (data:
|
|
212
|
-
event: any;
|
|
213
|
-
files: DataTransferResponse;
|
|
214
|
-
}) => void, elementSelector: string) => void;
|
|
213
|
+
createDropzone: (callback: (data: DropzoneEventData) => void, elementSelector: string, options?: DropzoneOptions) => void;
|
|
215
214
|
/** Remove dropzone for drop events of files */
|
|
216
215
|
removeDropzone: (elementSelector: string) => void;
|
|
217
216
|
/** Function to get latest installer information */
|
|
@@ -238,6 +237,8 @@ export declare class AsperaSdk {
|
|
|
238
237
|
getInstallerUrls: () => InstallerUrlInfo;
|
|
239
238
|
/** Function to get the SDK capabilities. */
|
|
240
239
|
getCapabilities: () => SdkCapabilities;
|
|
240
|
+
/** Function to check whether the SDK supports the specified capability */
|
|
241
|
+
hasCapability: (capability: keyof SdkCapabilities) => boolean;
|
|
241
242
|
/** Function to get a checksum for a file */
|
|
242
243
|
getChecksum: (options: GetChecksumOptions) => Promise<ChecksumFileResponse>;
|
|
243
244
|
/** Indicate if Safari Extension is enabled. If the extension is disabled during the lifecycle this will not update to disabled. */
|
|
@@ -58,6 +58,57 @@ export interface DataTransferResponse {
|
|
|
58
58
|
files: BrowserStyleFile[];
|
|
59
59
|
};
|
|
60
60
|
}
|
|
61
|
+
/** Drag and drop event types supported by the dropzone. */
|
|
62
|
+
export type DropzoneEventType = 'dragenter' | 'dragleave' | 'dragover' | 'drop';
|
|
63
|
+
/** Callback data for dropzone drag and drop events. */
|
|
64
|
+
export interface DropzoneEventData {
|
|
65
|
+
event: DragEvent;
|
|
66
|
+
files?: DataTransferResponse;
|
|
67
|
+
}
|
|
68
|
+
/** Options to configure the behavior of a dropzone created with {@link createDropzone}. */
|
|
69
|
+
export interface DropzoneOptions {
|
|
70
|
+
/**
|
|
71
|
+
* Whether the listener is invoked when a drag enters the dropzone element.
|
|
72
|
+
* Useful for applying visual feedback on the drop target.
|
|
73
|
+
* Default: false.
|
|
74
|
+
*/
|
|
75
|
+
dragEnter?: boolean;
|
|
76
|
+
/**
|
|
77
|
+
* Whether the listener is invoked while a drag is held over the dropzone element.
|
|
78
|
+
* Default: false.
|
|
79
|
+
*/
|
|
80
|
+
dragOver?: boolean;
|
|
81
|
+
/**
|
|
82
|
+
* Whether the listener is invoked when a drag leaves the dropzone element.
|
|
83
|
+
* Useful for reverting visual feedback applied on `dragEnter`.
|
|
84
|
+
* Default: false.
|
|
85
|
+
*/
|
|
86
|
+
dragLeave?: boolean;
|
|
87
|
+
/**
|
|
88
|
+
* Whether the listener is invoked when files are dropped onto the dropzone element.
|
|
89
|
+
* The dropped files are provided via the callback's `files` property.
|
|
90
|
+
* Default: true.
|
|
91
|
+
*/
|
|
92
|
+
drop?: boolean;
|
|
93
|
+
/**
|
|
94
|
+
* Whether drag and drop events propagate to parent elements after being handled.
|
|
95
|
+
* When false, `event.stopPropagation()` is called on all enabled events (`dragenter`, `dragleave`,
|
|
96
|
+
* `dragover`, `drop`). Note that `dragover` is always registered internally when `drop` is true,
|
|
97
|
+
* so this setting also affects that internal listener even if `dragOver` is not enabled.
|
|
98
|
+
* Set to false when the dropzone is nested inside another draggable or interactive element.
|
|
99
|
+
* Default: true.
|
|
100
|
+
*/
|
|
101
|
+
allowPropagation?: boolean;
|
|
102
|
+
/**
|
|
103
|
+
* Whether the browser's default action is preserved on `dragenter` and `dragleave` events.
|
|
104
|
+
* When false (default), the SDK calls `event.preventDefault()` on these events automatically.
|
|
105
|
+
* When true, the caller is responsible for calling `event.preventDefault()` in the listener.
|
|
106
|
+
* Note: `dragover` and `drop` always call `event.preventDefault()` regardless of this setting,
|
|
107
|
+
* as it is required for drops to function correctly in the browser.
|
|
108
|
+
* Default: false.
|
|
109
|
+
*/
|
|
110
|
+
allowDefaultBehavior?: boolean;
|
|
111
|
+
}
|
|
61
112
|
export interface BrowserStyleFile {
|
|
62
113
|
/** Last modified date of the file in milliseconds since the UNIX epoch */
|
|
63
114
|
lastModified: number;
|
|
@@ -828,4 +879,18 @@ export interface SdkCapabilities {
|
|
|
828
879
|
* Whether the SDK can calculate checksums of a file chunk.
|
|
829
880
|
*/
|
|
830
881
|
fileChecksum: boolean;
|
|
882
|
+
/**
|
|
883
|
+
* Whether the transfer client supports showing the about page.
|
|
884
|
+
*
|
|
885
|
+
* This is supported when using Connect or IBM Aspera for desktop with the required RPC methods,
|
|
886
|
+
* but not HTTP Gateway.
|
|
887
|
+
*/
|
|
888
|
+
showAbout: boolean;
|
|
889
|
+
/**
|
|
890
|
+
* Whether the transfer client supports showing the preferences page.
|
|
891
|
+
*
|
|
892
|
+
* This is supported when using Connect or IBM Aspera for desktop with the required RPC methods,
|
|
893
|
+
* but not HTTP Gateway.
|
|
894
|
+
*/
|
|
895
|
+
showPreferences: boolean;
|
|
831
896
|
}
|