mirror of
https://github.com/haiwen/seahub.git
synced 2025-09-11 03:41:12 +00:00
12.0 change add existing file in wiki edit (#6057)
* 12.0 change add existing file in wiki edit * 01 delete create wiki from existing library * 02 change click wiki name jump to edit page and delete edit icon * 03 delete select existing file to create new page * optimize edit wiki * 04 old wiki page use the early version 11.x features * optimize wiki permission * wiki add wiki2 * delete page file * fix wiki test --------- Co-authored-by: ‘JoinTyang’ <yangtong1009@163.com>
This commit is contained in:
46
frontend/src/pages/wiki2/utils/index.js
Normal file
46
frontend/src/pages/wiki2/utils/index.js
Normal file
@@ -0,0 +1,46 @@
|
||||
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;
|
||||
};
|
||||
|
||||
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) => {
|
||||
if (!fileName) {
|
||||
return null;
|
||||
}
|
||||
if (fileName === 'default') {
|
||||
return `${mediaUrl}img/wiki/default.png`;
|
||||
}
|
||||
return serviceURL + '/lib/' + repoId + '/file/_Internal/Wiki/Icon/' + fileName + '?raw=1';
|
||||
};
|
||||
|
||||
export { generatorBase64Code, generateUniqueId, isObjectNotEmpty, getIconURL };
|
Reference in New Issue
Block a user