devextreme
Version:
JavaScript/TypeScript Component Suite for Responsive Web Development
77 lines (75 loc) • 2.31 kB
JavaScript
/**
* DevExtreme (cjs/__internal/ui/file_uploader/file_uploader.utils.js)
* Version: 25.2.5
* Build date: Fri Feb 20 2026
*
* Copyright (c) 2012 - 2026 Developer Express Inc. ALL RIGHTS RESERVED
* Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/
*/
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.getFileSize = exports.getFileIconName = void 0;
var _message = _interopRequireDefault(require("../../../common/core/localization/message"));
function _interopRequireDefault(e) {
return e && e.__esModule ? e : {
default: e
}
}
const EXTENTIONS_MAP = {
jpg: "image",
jpeg: "image",
png: "image",
gif: "image",
bmp: "image",
webp: "image",
mp4: "video",
mov: "video",
avi: "video",
webm: "video",
mkv: "video",
mp3: "music",
wav: "music",
ogg: "music",
m4a: "music",
flac: "music",
doc: "textdocument",
docx: "textdocument",
txt: "textdocument",
rtf: "textdocument",
md: "textdocument",
xls: "exportxlsx",
xlsx: "exportxlsx",
csv: "exportxlsx",
ods: "exportxlsx",
zip: "folder",
rar: "folder",
"7z": "folder",
tar: "folder",
gz: "folder",
pdf: "pdffile"
};
const DEFAULT_ICON = "file";
const getFileIconName = function() {
let filename = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : "";
const lastDotIndex = filename.lastIndexOf(".");
if (-1 === lastDotIndex || lastDotIndex === filename.length - 1) {
return "file"
}
const extension = filename.slice(lastDotIndex + 1).toLowerCase();
return EXTENTIONS_MAP[extension] || "file"
};
exports.getFileIconName = getFileIconName;
const getFileSize = sizeInBytes => {
const labels = [_message.default.format("dxFileUploader-bytes"), _message.default.format("dxFileUploader-kb"), _message.default.format("dxFileUploader-Mb"), _message.default.format("dxFileUploader-Gb")];
const count = labels.length - 1;
let value = sizeInBytes;
let i = 0;
while (i < count && value >= 1024) {
value /= 1024;
i += 1
}
return `${Math.round(value)} ${labels[i]}`
};
exports.getFileSize = getFileSize;