gitlab-org--gitlab-foss/app/assets/javascripts/content_editor/services/utils.js

30 lines
752 B
JavaScript

export const hasSelection = (tiptapEditor) => {
const { from, to } = tiptapEditor.state.selection;
return from < to;
};
/**
* Extracts filename from a URL
*
* @example
* > extractFilename('https://gitlab.com/images/logo-full.png')
* < 'logo-full'
*
* @param {string} src The URL to extract filename from
* @returns {string}
*/
export const extractFilename = (src) => {
return src.replace(/^.*\/|\..+?$/g, '');
};
export const readFileAsDataURL = (file) => {
return new Promise((resolve) => {
const reader = new FileReader();
reader.addEventListener('load', (e) => resolve(e.target.result), { once: true });
reader.readAsDataURL(file);
});
};
export const clamp = (n, min, max) => Math.max(Math.min(n, max), min);