@pnp/spfx-controls-react
Version:
Reusable React controls for SharePoint Framework solutions
59 lines • 2.14 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.useUtils = void 0;
var tslib_1 = require("tslib");
/* eslint-disable @typescript-eslint/explicit-function-return-type */
var React = tslib_1.__importStar(require("react"));
var date_fns_1 = require("date-fns");
var useUtils = function () {
var getTruncateText = React.useCallback(function (text, length) {
if (text.length > length) {
return text.substring(0, length) + "...";
}
return text;
}, []);
var getShortText = React.useCallback(function (text, length) {
if (text.length > length) {
// const numberCharsToCut = 6;
var first = text.substring(0, length / 2);
var last = text.substring(text.length - length / 2, text.length);
var newText = first.trim() + "..." + last.trim();
return newText;
}
return text;
}, []);
var getFileExtension = React.useCallback(function (fileName) {
return fileName.split(".").pop();
}, []);
var getFileSize = React.useCallback(function (size) {
if (size < 1024) {
return size + " bytes";
}
else if (size < 1048576) {
return (size / 1024).toFixed(2) + " KB";
}
else if (size < 1073741824) {
return (size / 1048576).toFixed(2) + " MB";
}
else {
return (size / 1073741824).toFixed(2) + " GB";
}
}, []);
var getTimeFromDate = React.useCallback(function (date) {
try {
if (date) {
return (0, date_fns_1.format)((0, date_fns_1.parseISO)(date), "dd MMM, p");
}
return "";
}
catch (error) {
if (DEBUG) {
console.log(["getTimeFromDate"], error);
}
return "";
}
}, []);
return { getFileSize: getFileSize, getTruncateText: getTruncateText, getTimeFromDate: getTimeFromDate, getShortText: getShortText, getFileExtension: getFileExtension };
};
exports.useUtils = useUtils;
//# sourceMappingURL=useUtils.js.map