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