mirror of
https://github.com/lrsjng/h5ai.git
synced 2025-08-14 09:14:11 +02:00
Remove some lodash deps.
This commit is contained in:
@@ -1,4 +1,4 @@
|
|||||||
const {lo} = require('../globals');
|
const isNum = x => typeof x === 'number';
|
||||||
|
|
||||||
const decimalMetric = {
|
const decimalMetric = {
|
||||||
t: 1000.0,
|
t: 1000.0,
|
||||||
@@ -30,14 +30,14 @@ const datePatterns = [
|
|||||||
let defaultDateFormat = 'YYYY-MM-DD HH:mm';
|
let defaultDateFormat = 'YYYY-MM-DD HH:mm';
|
||||||
|
|
||||||
|
|
||||||
function setDefaultMetric(useBinaryMetric) {
|
const setDefaultMetric = useBinaryMetric => {
|
||||||
defaultMetric = useBinaryMetric ? binaryMetric : decimalMetric;
|
defaultMetric = useBinaryMetric ? binaryMetric : decimalMetric;
|
||||||
}
|
};
|
||||||
|
|
||||||
function formatSize(size, metric) {
|
const formatSize = (size, metric) => {
|
||||||
metric = metric || defaultMetric;
|
metric = metric || defaultMetric;
|
||||||
|
|
||||||
if (!lo.isNumber(size) || size < 0) {
|
if (!isNum(size) || size < 0) {
|
||||||
return '';
|
return '';
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -49,22 +49,22 @@ function formatSize(size, metric) {
|
|||||||
i += 1;
|
i += 1;
|
||||||
}
|
}
|
||||||
return (i <= 1 ? Math.round(size) : size.toFixed(1)).toString() + ' ' + metric.u[i];
|
return (i <= 1 ? Math.round(size) : size.toFixed(1)).toString() + ' ' + metric.u[i];
|
||||||
}
|
};
|
||||||
|
|
||||||
function setDefaultDateFormat(dateFormat) {
|
const setDefaultDateFormat = dateFormat => {
|
||||||
defaultDateFormat = dateFormat;
|
defaultDateFormat = dateFormat;
|
||||||
}
|
};
|
||||||
|
|
||||||
function formatNumber(number, padding) {
|
const formatNumber = (number, padding) => {
|
||||||
let str = String(number);
|
let str = String(number);
|
||||||
if (padding) {
|
if (padding) {
|
||||||
str = ('000' + str).substr(-padding);
|
str = ('000' + str).substr(-padding);
|
||||||
}
|
}
|
||||||
return str;
|
return str;
|
||||||
}
|
};
|
||||||
|
|
||||||
function formatDate(millis, format) {
|
const formatDate = (millis, format) => {
|
||||||
if (!millis || !lo.isNumber(millis)) {
|
if (!millis || !isNum(millis)) {
|
||||||
return '';
|
return '';
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -85,7 +85,7 @@ function formatDate(millis, format) {
|
|||||||
});
|
});
|
||||||
|
|
||||||
return format;
|
return format;
|
||||||
}
|
};
|
||||||
|
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
|
@@ -6,7 +6,7 @@ const event = require('./event');
|
|||||||
const notification = require('../view/notification');
|
const notification = require('../view/notification');
|
||||||
|
|
||||||
const doc = win.document;
|
const doc = win.document;
|
||||||
const settings = lo.extend({
|
const settings = Object.assign({
|
||||||
fastBrowsing: true,
|
fastBrowsing: true,
|
||||||
unmanagedInNewWindow: true
|
unmanagedInNewWindow: true
|
||||||
}, allsettings.view);
|
}, allsettings.view);
|
||||||
|
@@ -1,7 +1,8 @@
|
|||||||
const {lo} = require('../globals');
|
|
||||||
const config = require('../config');
|
const config = require('../config');
|
||||||
const settings = require('./settings');
|
const settings = require('./settings');
|
||||||
|
|
||||||
|
const includes = (arr, x) => arr.indexOf(x) >= 0;
|
||||||
|
|
||||||
const imagesHref = settings.publicHref + 'images/';
|
const imagesHref = settings.publicHref + 'images/';
|
||||||
const uiHref = imagesHref + 'ui/';
|
const uiHref = imagesHref + 'ui/';
|
||||||
const themesHref = imagesHref + 'themes/';
|
const themesHref = imagesHref + 'themes/';
|
||||||
@@ -21,11 +22,11 @@ function icon(id) {
|
|||||||
return themesHref + href;
|
return themesHref + href;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (lo.includes(defaultIcons, id)) {
|
if (includes(defaultIcons, id)) {
|
||||||
return defaultThemeHref + id + '.svg';
|
return defaultThemeHref + id + '.svg';
|
||||||
}
|
}
|
||||||
|
|
||||||
if (lo.includes(defaultIcons, baseId)) {
|
if (includes(defaultIcons, baseId)) {
|
||||||
return defaultThemeHref + baseId + '.svg';
|
return defaultThemeHref + baseId + '.svg';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -4,26 +4,26 @@ const store = win.localStorage;
|
|||||||
const storekey = '_h5ai';
|
const storekey = '_h5ai';
|
||||||
|
|
||||||
|
|
||||||
function load() {
|
const load = () => {
|
||||||
try {
|
try {
|
||||||
return JSON.parse(store[storekey]);
|
return JSON.parse(store[storekey]);
|
||||||
} catch (e) {/* skip */}
|
} catch (e) {/* skip */}
|
||||||
return {};
|
return {};
|
||||||
}
|
};
|
||||||
|
|
||||||
function save(obj) {
|
const save = obj => {
|
||||||
store[storekey] = JSON.stringify(obj);
|
store[storekey] = JSON.stringify(obj);
|
||||||
}
|
};
|
||||||
|
|
||||||
function put(key, value) {
|
const put = (key, value) => {
|
||||||
const obj = load();
|
const obj = load();
|
||||||
obj[key] = value;
|
obj[key] = value;
|
||||||
save(obj);
|
save(obj);
|
||||||
}
|
};
|
||||||
|
|
||||||
function get(key) {
|
const get = key => {
|
||||||
return load()[key];
|
return load()[key];
|
||||||
}
|
};
|
||||||
|
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
|
@@ -1,23 +1,25 @@
|
|||||||
const {lo} = require('../globals');
|
|
||||||
const config = require('../config');
|
const config = require('../config');
|
||||||
|
|
||||||
|
const each = (obj, fn) => Object.keys(obj).forEach(key => fn(obj[key], key));
|
||||||
|
const map = (arr, fn) => Array.from(arr, fn);
|
||||||
|
|
||||||
const reEndsWithSlash = /\/$/;
|
const reEndsWithSlash = /\/$/;
|
||||||
const regexps = {};
|
const regexps = {};
|
||||||
|
|
||||||
|
|
||||||
function escapeRegExp(sequence) {
|
const escapeRegExp = sequence => {
|
||||||
return sequence.replace(/[\-\[\]\/\{\}\(\)\+\?\.\\\^\$]/g, '\\$&');
|
return sequence.replace(/[\-\[\]\/\{\}\(\)\+\?\.\\\^\$]/g, '\\$&');
|
||||||
// return sequence.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, '\\$&');
|
// return sequence.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, '\\$&');
|
||||||
}
|
};
|
||||||
|
|
||||||
function parse(types) {
|
const parse = types => {
|
||||||
lo.each(types, (patterns, type) => {
|
each(types, (patterns, type) => {
|
||||||
const pattern = '^(' + lo.map(patterns, p => '(' + escapeRegExp(p).replace(/\*/g, '.*') + ')').join('|') + ')$';
|
const pattern = '^(' + map(patterns, p => '(' + escapeRegExp(p).replace(/\*/g, '.*') + ')').join('|') + ')$';
|
||||||
regexps[type] = new RegExp(pattern, 'i');
|
regexps[type] = new RegExp(pattern, 'i');
|
||||||
});
|
});
|
||||||
}
|
};
|
||||||
|
|
||||||
function getType(sequence) {
|
const getType = sequence => {
|
||||||
if (reEndsWithSlash.test(sequence)) {
|
if (reEndsWithSlash.test(sequence)) {
|
||||||
return 'folder';
|
return 'folder';
|
||||||
}
|
}
|
||||||
@@ -26,15 +28,14 @@ function getType(sequence) {
|
|||||||
const name = slashidx >= 0 ? sequence.substr(slashidx + 1) : sequence;
|
const name = slashidx >= 0 ? sequence.substr(slashidx + 1) : sequence;
|
||||||
let result;
|
let result;
|
||||||
|
|
||||||
lo.each(regexps, (regexp, type) => { // eslint-disable-line consistent-return
|
each(regexps, (regexp, type) => {
|
||||||
if (regexps[type].test(name)) {
|
if (regexps[type].test(name)) {
|
||||||
result = type;
|
result = type;
|
||||||
return false;
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
return result ? result : 'file';
|
return result ? result : 'file';
|
||||||
}
|
};
|
||||||
|
|
||||||
|
|
||||||
parse(Object.assign({}, config.types));
|
parse(Object.assign({}, config.types));
|
||||||
|
@@ -1,6 +1,4 @@
|
|||||||
const {lo} = require('../globals');
|
const regularCmpFn = (val1, val2) => {
|
||||||
|
|
||||||
function regularCmpFn(val1, val2) {
|
|
||||||
if (val1 < val2) {
|
if (val1 < val2) {
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
@@ -8,13 +6,13 @@ function regularCmpFn(val1, val2) {
|
|||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
};
|
||||||
|
|
||||||
// Natural Sort algorithm for Javascript - Version 0.7 - Released under MIT license
|
// Natural Sort algorithm for Javascript - Version 0.7 - Released under MIT license
|
||||||
// Author: Jim Palmer (based on chunking idea from Dave Koelle)
|
// Author: Jim Palmer (based on chunking idea from Dave Koelle)
|
||||||
//
|
//
|
||||||
// Modified to make it work with h5ai
|
// Modified to make it work with h5ai
|
||||||
function naturalCmpFn(val1, val2) {
|
const naturalCmpFn = (val1, val2) => {
|
||||||
const re = /(^-?[0-9]+(\.?[0-9]*)[df]?e?[0-9]?$|^0x[0-9a-f]+$|[0-9]+)/gi;
|
const re = /(^-?[0-9]+(\.?[0-9]*)[df]?e?[0-9]?$|^0x[0-9a-f]+$|[0-9]+)/gi;
|
||||||
const sre = /(^[ ]*|[ ]*$)/g;
|
const sre = /(^[ ]*|[ ]*$)/g;
|
||||||
const dre = /(^([\w ]+,?[\w ]+)?[\w ]+,?[\w ]+\d+:\d+(:\d+)?[\w ]?|^\d{1,4}[\/\-]\d{1,4}[\/\-]\d{1,4}|^\w+, \w+ \d+, \d{4})/;
|
const dre = /(^([\w ]+,?[\w ]+)?[\w ]+,?[\w ]+\d+:\d+(:\d+)?[\w ]?|^\d{1,4}[\/\-]\d{1,4}[\/\-]\d{1,4}|^\w+, \w+ \d+, \d{4})/;
|
||||||
@@ -60,13 +58,13 @@ function naturalCmpFn(val1, val2) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
};
|
||||||
|
|
||||||
function escapePattern(sequence) {
|
const escapePattern = sequence => {
|
||||||
return sequence.replace(/[\-\[\]{}()*+?.,\\$\^|#\s]/g, '\\$&');
|
return sequence.replace(/[\-\[\]{}()*+?.,\\$\^|#\s]/g, '\\$&');
|
||||||
}
|
};
|
||||||
|
|
||||||
function parsePattern(sequence, advanced) {
|
const parsePattern = (sequence, advanced) => {
|
||||||
if (!advanced) {
|
if (!advanced) {
|
||||||
return escapePattern(sequence);
|
return escapePattern(sequence);
|
||||||
}
|
}
|
||||||
@@ -75,14 +73,10 @@ function parsePattern(sequence, advanced) {
|
|||||||
return sequence.substr(3);
|
return sequence.substr(3);
|
||||||
}
|
}
|
||||||
|
|
||||||
sequence = lo.map(lo.trim(sequence).split(/\s+/), part => {
|
return sequence.trim().split(/\s+/).map(part => {
|
||||||
return lo.map(part.split(''), character => {
|
return part.split('').map(char => escapePattern(char)).join('.*?');
|
||||||
return escapePattern(character);
|
|
||||||
}).join('.*?');
|
|
||||||
}).join('|');
|
}).join('|');
|
||||||
|
};
|
||||||
return sequence;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
|
Reference in New Issue
Block a user