devextreme
Version:
JavaScript/TypeScript Component Suite for Responsive Web Development
42 lines (41 loc) • 1.36 kB
JavaScript
/**
* DevExtreme (esm/__internal/ui/file_uploader/file_upload_strategy.whole.custom.js)
* Version: 25.2.8
* Build date: Mon Jun 08 2026
*
* Copyright (c) 2012 - 2026 Developer Express Inc. ALL RIGHTS RESERVED
* Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/
*/
import {
Deferred
} from "../../../core/utils/deferred";
import {
fromPromise
} from "../../core/utils/m_deferred";
import {
WholeFileUploadStrategyBase
} from "../../ui/file_uploader/file_upload_strategy.whole.base";
export class CustomWholeFileUploadStrategy extends WholeFileUploadStrategyBase {
_uploadFile(file) {
file.onLoadStart.fire();
const progressCallback = loadedBytes => {
const arg = {
loaded: loadedBytes,
total: file.value.size
};
this._handleProgress(file, arg)
};
const {
uploadFile: uploadFile
} = this.fileUploader.option();
try {
const result = null === uploadFile || void 0 === uploadFile ? void 0 : uploadFile(file.value, progressCallback);
return fromPromise(result)
} catch (error) {
return Deferred().reject(error).promise()
}
}
_shouldHandleError(_file, _e) {
return true
}
}