1
0
mirror of https://github.com/haiwen/seahub.git synced 2025-09-11 03:41:12 +00:00
Files
seahub/frontend/src/pages/wiki2/utils/index.js

51 lines
1.3 KiB
JavaScript
Raw Normal View History

2024-05-06 17:09:47 +08:00
import { serviceURL, mediaUrl } from '../../../utils/constants';
const generatorBase64Code = (keyLength = 4) => {
let possible = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz0123456789';
let key = '';
for (let i = 0; i < keyLength; i++) {
key += possible.charAt(Math.floor(Math.random() * possible.length));
}
return key;
};
2024-05-16 10:59:50 +08:00
const generateUniqueId = (navigation = [], length = 4) => {
let idMap = {};
function recurseItem(item) {
if (!item) return;
idMap[item.id] = true;
if (Array.isArray(item.children)) {
item.children.forEach(item => {
recurseItem(item);
});
}
}
navigation.forEach(item => recurseItem(item));
let _id = generatorBase64Code(length);
while (idMap[_id]) {
_id = generatorBase64Code(length);
}
return _id;
};
const isObjectNotEmpty = (obj) => {
return obj && Object.keys(obj).length > 0;
};
const getIconURL = (repoId, fileName) => {
2024-05-06 17:09:47 +08:00
if (!fileName) {
return null;
}
if (fileName === 'default') {
return `${mediaUrl}img/wiki/default.png`;
}
return serviceURL + '/lib/' + repoId + '/file/_Internal/Wiki/Icon/' + fileName + '?raw=1';
};
2024-06-11 18:14:14 +08:00
const getCurrentPageConfig = (pages,pageId) => {
return pages.filter(page => page.id === pageId)[0];
};
2024-06-11 18:14:14 +08:00
export { generatorBase64Code, generateUniqueId, isObjectNotEmpty, getIconURL, getCurrentPageConfig };