diff --git a/src/_h5ai/public/js/lib/ext/contextmenu.js b/src/_h5ai/public/js/lib/ext/contextmenu.js index 76f94e53..92ebb897 100644 --- a/src/_h5ai/public/js/lib/ext/contextmenu.js +++ b/src/_h5ai/public/js/lib/ext/contextmenu.js @@ -1,9 +1,10 @@ -const {win, jq, lo} = require('../globals'); +const {each} = require('../lo'); +const {win, jq} = require('../globals'); const resource = require('../core/resource'); const allsettings = require('../core/settings'); const doc = win.document; -const settings = lo.extend({ +const settings = Object.assign({ enabled: false }, allsettings.contextmenu); const templateOverlay = '
'; @@ -37,7 +38,7 @@ function createPanel(menu) { const $ul = $panel.find('ul'); let $li; - lo.each(menu, entry => { + each(menu, entry => { if (entry.type === '-') { jq(templateSep).appendTo($ul); } else if (entry.type === 'l') { diff --git a/src/_h5ai/public/js/lib/ext/crumb.js b/src/_h5ai/public/js/lib/ext/crumb.js index 5e75fafd..6ed2ad57 100644 --- a/src/_h5ai/public/js/lib/ext/crumb.js +++ b/src/_h5ai/public/js/lib/ext/crumb.js @@ -1,4 +1,5 @@ -const {jq, lo} = require('../globals'); +const {each} = require('../lo'); +const {jq} = require('../globals'); const event = require('../core/event'); const location = require('../core/location'); const resource = require('../core/resource'); @@ -6,7 +7,7 @@ const allsettings = require('../core/settings'); const base = require('../view/base'); -const settings = lo.extend({ +const settings = Object.assign({ enabled: false }, allsettings.crumb); const crumbTemplate = @@ -46,7 +47,7 @@ function onLocationChanged(item) { $crumb.addClass('active'); } else { $crumbbar.empty(); - lo.each(item.getCrumb(), crumbItem => { + each(item.getCrumb(), crumbItem => { $crumbbar.append(createHtml(crumbItem)); }); } diff --git a/src/_h5ai/public/js/lib/ext/custom.js b/src/_h5ai/public/js/lib/ext/custom.js index e91da71f..cbe61b69 100644 --- a/src/_h5ai/public/js/lib/ext/custom.js +++ b/src/_h5ai/public/js/lib/ext/custom.js @@ -1,10 +1,10 @@ -const {jq, lo, marked} = require('../globals'); +const {jq, marked} = require('../globals'); const server = require('../server'); const event = require('../core/event'); const allsettings = require('../core/settings'); -const settings = lo.extend({ +const settings = Object.assign({ enabled: false }, allsettings.custom); let $header; diff --git a/src/_h5ai/public/js/lib/ext/download.js b/src/_h5ai/public/js/lib/ext/download.js index b96fe439..72e29899 100644 --- a/src/_h5ai/public/js/lib/ext/download.js +++ b/src/_h5ai/public/js/lib/ext/download.js @@ -1,11 +1,12 @@ -const {jq, lo} = require('../globals'); +const {each} = require('../lo'); +const {jq} = require('../globals'); const server = require('../server'); const event = require('../core/event'); const location = require('../core/location'); const resource = require('../core/resource'); const allsettings = require('../core/settings'); -const settings = lo.extend({ +const settings = Object.assign({ enabled: false, type: 'php-tar', packageName: 'package', @@ -48,7 +49,7 @@ function onClick() { baseHref: location.getAbsHref() }; - lo.each(selectedItems, (item, idx) => { + each(selectedItems, (item, idx) => { query['hrefs[' + idx + ']'] = item.absHref; }); diff --git a/src/_h5ai/public/js/lib/ext/filter.js b/src/_h5ai/public/js/lib/ext/filter.js index 9c975d18..03dcf87e 100644 --- a/src/_h5ai/public/js/lib/ext/filter.js +++ b/src/_h5ai/public/js/lib/ext/filter.js @@ -1,4 +1,5 @@ -const {jq, lo} = require('../globals'); +const {each, debounce} = require('../lo'); +const {jq} = require('../globals'); const event = require('../core/event'); const location = require('../core/location'); const resource = require('../core/resource'); @@ -7,7 +8,7 @@ const util = require('../core/util'); const view = require('../view/view'); -const settings = lo.extend({ +const settings = Object.assign({ enabled: false, advanced: false, debounceTime: 100, @@ -41,7 +42,7 @@ function filter(pattern) { const re = new RegExp(pattern, settings.ignorecase ? 'i' : ''); const matchedItems = []; - lo.each(location.getItem().content, item => { + each(location.getItem().content, item => { if (re.test(item.label)) { matchedItems.push(item); } @@ -83,7 +84,7 @@ function init() { $input = $filter.find('input'); $filter.on('click', 'img', toggle); - $input.on('keyup', lo.debounce(update, settings.debounceTime, {trailing: true})); + $input.on('keyup', debounce(update, settings.debounceTime, {trailing: true})); event.sub('location.changed', reset); } diff --git a/src/_h5ai/public/js/lib/ext/google-analytics.js b/src/_h5ai/public/js/lib/ext/google-analytics.js index 8d838ebe..edc2a3e8 100644 --- a/src/_h5ai/public/js/lib/ext/google-analytics.js +++ b/src/_h5ai/public/js/lib/ext/google-analytics.js @@ -1,9 +1,10 @@ -const {win, lo} = require('../globals'); +const {map} = require('../lo'); +const {win} = require('../globals'); const event = require('../core/event'); const allsettings = require('../core/settings'); -const settings = lo.extend({ +const settings = Object.assign({ enabled: false, id: 'UA-000000-0' }, allsettings['google-analytics-ua']); @@ -30,7 +31,7 @@ function init() { const loc = win.location; win.ga('send', 'pageview', { location: loc.protocol + '//' + loc.host + item.absHref, - title: lo.map(item.getCrumb(), 'label').join(' > ') + title: map(item.getCrumb(), i => i.label).join(' > ') }); }); } diff --git a/src/_h5ai/public/js/lib/ext/info.js b/src/_h5ai/public/js/lib/ext/info.js index 7bed10bd..68363440 100644 --- a/src/_h5ai/public/js/lib/ext/info.js +++ b/src/_h5ai/public/js/lib/ext/info.js @@ -1,4 +1,5 @@ -const {win, jq, lo, kjua} = require('../globals'); +const {isNum} = require('../lo'); +const {win, jq, kjua} = require('../globals'); const event = require('../core/event'); const format = require('../core/format'); const resource = require('../core/resource'); @@ -6,7 +7,7 @@ const allsettings = require('../core/settings'); const store = require('../core/store'); -const settings = lo.extend({ +const settings = Object.assign({ enabled: false, show: false, qrcode: true, @@ -71,13 +72,13 @@ function update(item) { } $label.text(item.label); - if (lo.isNumber(item.time)) { + if (isNum(item.time)) { $time.text(format.formatDate(item.time)); } else { $time.text('.'); } - if (lo.isNumber(item.size)) { + if (isNum(item.size)) { $size.text(format.formatSize(item.size)); $size.show(); } else { diff --git a/src/_h5ai/public/js/lib/ext/l10n.js b/src/_h5ai/public/js/lib/ext/l10n.js index 7ba8efe6..ca5e6258 100644 --- a/src/_h5ai/public/js/lib/ext/l10n.js +++ b/src/_h5ai/public/js/lib/ext/l10n.js @@ -1,4 +1,5 @@ -const {win, jq, lo} = require('../globals'); +const {keys, isStr} = require('../lo'); +const {win, jq} = require('../globals'); const server = require('../server'); const event = require('../core/event'); const format = require('../core/format'); @@ -6,7 +7,7 @@ const langs = require('../core/langs'); const allsettings = require('../core/settings'); const store = require('../core/store'); -const settings = lo.extend({ +const settings = Object.assign({ enabled: false, lang: 'en', useBrowserLang: true @@ -44,7 +45,7 @@ const blockTemplate = const optionTemplate = ''; const storekey = 'ext/l10n'; const loaded = { - en: lo.extend({}, defaultTranslations) + en: Object.assign({}, defaultTranslations) }; let currentLang = loaded.en; @@ -77,7 +78,7 @@ function loadLanguage(isoCode, callback) { } else { server.request({action: 'get', l10n: [isoCode]}).then(response => { const json = response.l10n && response.l10n[isoCode] ? response.l10n[isoCode] : {}; - loaded[isoCode] = lo.extend({}, defaultTranslations, json, {isoCode}); + loaded[isoCode] = Object.assign({}, defaultTranslations, json, {isoCode}); callback(loaded[isoCode]); }); } @@ -107,7 +108,7 @@ function localize(languages, isoCode, useBrowserLang) { } function initLangSelector(languages) { - const isoCodes = lo.keys(languages).sort(); + const isoCodes = keys(languages).sort(); const $block = jq(blockTemplate); const $select = $block.find('select') .on('change', ev => { @@ -120,7 +121,7 @@ function initLangSelector(languages) { jq(optionTemplate) .attr('value', isoCode) .addClass(isoCode) - .text(isoCode + ' - ' + (lo.isString(languages[isoCode]) ? languages[isoCode] : languages[isoCode].lang)) + .text(isoCode + ' - ' + (isStr(languages[isoCode]) ? languages[isoCode] : languages[isoCode].lang)) .appendTo($select); }); diff --git a/src/_h5ai/public/js/lib/ext/peer5.js b/src/_h5ai/public/js/lib/ext/peer5.js index 323c2855..d27a451a 100644 --- a/src/_h5ai/public/js/lib/ext/peer5.js +++ b/src/_h5ai/public/js/lib/ext/peer5.js @@ -1,7 +1,7 @@ -const {win, jq, lo} = require('../globals'); +const {win, jq} = require('../globals'); const allsettings = require('../core/settings'); -const settings = lo.extend({ +const settings = Object.assign({ enabled: false, id: 'z142i5n5qypq4cxr' }, allsettings.peer5); diff --git a/src/_h5ai/public/js/lib/ext/piwik-analytics.js b/src/_h5ai/public/js/lib/ext/piwik-analytics.js index 2ad4e5ee..074ce7f2 100644 --- a/src/_h5ai/public/js/lib/ext/piwik-analytics.js +++ b/src/_h5ai/public/js/lib/ext/piwik-analytics.js @@ -1,9 +1,10 @@ -const {win, jq, lo} = require('../globals'); +const {map} = require('../lo'); +const {win, jq} = require('../globals'); const event = require('../core/event'); const allsettings = require('../core/settings'); -const settings = lo.extend({ +const settings = Object.assign({ enabled: false, baseURL: 'not-set', idSite: 0 @@ -26,7 +27,7 @@ function init() { }); event.sub('location.changed', item => { - const title = lo.map(item.getCrumb(), 'label').join(' > '); + const title = map(item.getCrumb(), i => i.label).join(' > '); piwikTracker.trackPageView(title); }); } diff --git a/src/_h5ai/public/js/lib/ext/preview-aud.js b/src/_h5ai/public/js/lib/ext/preview-aud.js index e4c39f36..5033838f 100644 --- a/src/_h5ai/public/js/lib/ext/preview-aud.js +++ b/src/_h5ai/public/js/lib/ext/preview-aud.js @@ -1,10 +1,11 @@ -const {win, jq, lo} = require('../globals'); +const {each, map, includes, compact} = require('../lo'); +const {win, jq} = require('../globals'); const event = require('../core/event'); const format = require('../core/format'); const allsettings = require('../core/settings'); const preview = require('./preview'); -const settings = lo.extend({ +const settings = Object.assign({ enabled: false, types: [] }, allsettings['preview-aud']); @@ -81,22 +82,22 @@ function onEnter(items, idx) { } function initItem(item) { - if (item.$view && lo.includes(settings.types, item.type)) { + if (item.$view && includes(settings.types, item.type)) { item.$view.find('a').on('click', ev => { ev.preventDefault(); - const matchedItems = lo.compact(lo.map(jq('#items .item'), el => { + const matchedItems = compact(map(jq('#items .item'), el => { const matchedItem = el._item; - return lo.includes(settings.types, matchedItem.type) ? matchedItem : null; + return includes(settings.types, matchedItem.type) ? matchedItem : null; })); - onEnter(matchedItems, lo.indexOf(matchedItems, item)); + onEnter(matchedItems, matchedItems.indexOf(item)); }); } } function onViewChanged(added) { - lo.each(added, initItem); + each(added, initItem); } function init() { diff --git a/src/_h5ai/public/js/lib/ext/preview-img.js b/src/_h5ai/public/js/lib/ext/preview-img.js index 3e557a81..a33546d7 100644 --- a/src/_h5ai/public/js/lib/ext/preview-img.js +++ b/src/_h5ai/public/js/lib/ext/preview-img.js @@ -1,10 +1,11 @@ -const {win, jq, lo} = require('../globals'); +const {each, map, includes, compact} = require('../lo'); +const {win, jq} = require('../globals'); const server = require('../server'); const event = require('../core/event'); const allsettings = require('../core/settings'); const preview = require('./preview'); -const settings = lo.extend({ +const settings = Object.assign({ enabled: false, size: null, types: [] @@ -112,22 +113,22 @@ function onEnter(items, idx) { } function initItem(item) { - if (item.$view && lo.includes(settings.types, item.type)) { + if (item.$view && includes(settings.types, item.type)) { item.$view.find('a').on('click', ev => { ev.preventDefault(); - const matchedItems = lo.compact(lo.map(jq('#items .item'), el => { + const matchedItems = compact(map(jq('#items .item'), el => { const matchedItem = el._item; - return lo.includes(settings.types, matchedItem.type) ? matchedItem : null; + return includes(settings.types, matchedItem.type) ? matchedItem : null; })); - onEnter(matchedItems, lo.indexOf(matchedItems, item)); + onEnter(matchedItems, matchedItems.indexOf(item)); }); } } function onViewChanged(added) { - lo.each(added, initItem); + each(added, initItem); } function init() { diff --git a/src/_h5ai/public/js/lib/ext/preview-txt.js b/src/_h5ai/public/js/lib/ext/preview-txt.js index 397f0ff0..6261d419 100644 --- a/src/_h5ai/public/js/lib/ext/preview-txt.js +++ b/src/_h5ai/public/js/lib/ext/preview-txt.js @@ -1,10 +1,11 @@ -const {win, jq, lo, marked, prism} = require('../globals'); +const {each, map, keys, includes, compact} = require('../lo'); +const {win, jq, marked, prism} = require('../globals'); const event = require('../core/event'); const allsettings = require('../core/settings'); const preview = require('./preview'); -const settings = lo.extend({ +const settings = Object.assign({ enabled: false, types: {} }, allsettings['preview-txt']); @@ -113,22 +114,22 @@ function onEnter(items, idx) { } function initItem(item) { - if (item.$view && lo.includes(lo.keys(settings.types), item.type)) { + if (item.$view && includes(keys(settings.types), item.type)) { item.$view.find('a').on('click', ev => { ev.preventDefault(); - const matchedItems = lo.compact(lo.map(jq('#items .item'), el => { + const matchedItems = compact(map(jq('#items .item'), el => { const matchedItem = el._item; - return lo.includes(lo.keys(settings.types), matchedItem.type) ? matchedItem : null; + return includes(keys(settings.types), matchedItem.type) ? matchedItem : null; })); - onEnter(matchedItems, lo.indexOf(matchedItems, item)); + onEnter(matchedItems, matchedItems.indexOf(item)); }); } } function onViewChanged(added) { - lo.each(added, initItem); + each(added, initItem); } function init() { diff --git a/src/_h5ai/public/js/lib/ext/preview-vid.js b/src/_h5ai/public/js/lib/ext/preview-vid.js index bb11243f..e04dedd7 100644 --- a/src/_h5ai/public/js/lib/ext/preview-vid.js +++ b/src/_h5ai/public/js/lib/ext/preview-vid.js @@ -1,9 +1,10 @@ -const {win, jq, lo} = require('../globals'); +const {each, map, includes, compact} = require('../lo'); +const {win, jq} = require('../globals'); const event = require('../core/event'); const allsettings = require('../core/settings'); const preview = require('./preview'); -const settings = lo.extend({ +const settings = Object.assign({ enabled: false, types: [] }, allsettings['preview-vid']); @@ -81,22 +82,22 @@ function onEnter(items, idx) { } function initItem(item) { - if (item.$view && lo.includes(settings.types, item.type)) { + if (item.$view && includes(settings.types, item.type)) { item.$view.find('a').on('click', ev => { ev.preventDefault(); - const matchedItems = lo.compact(lo.map(jq('#items .item'), el => { + const matchedItems = compact(map(jq('#items .item'), el => { const matchedItem = el._item; - return lo.includes(settings.types, matchedItem.type) ? matchedItem : null; + return includes(settings.types, matchedItem.type) ? matchedItem : null; })); - onEnter(matchedItems, lo.indexOf(matchedItems, item)); + onEnter(matchedItems, matchedItems.indexOf(item)); }); } } function onViewChanged(added) { - lo.each(added, initItem); + each(added, initItem); } function init() { diff --git a/src/_h5ai/public/js/lib/ext/preview.js b/src/_h5ai/public/js/lib/ext/preview.js index 1b096601..c18d5657 100644 --- a/src/_h5ai/public/js/lib/ext/preview.js +++ b/src/_h5ai/public/js/lib/ext/preview.js @@ -1,10 +1,11 @@ -const {win, jq, lo} = require('../globals'); +const {each, isFn, isNum} = require('../lo'); +const {win, jq} = require('../globals'); const resource = require('../core/resource'); const allsettings = require('../core/settings'); const store = require('../core/store'); -const settings = lo.extend({ +const settings = Object.assign({ enabled: true }, allsettings.preview); const $window = jq(win); @@ -61,14 +62,14 @@ function adjustSize() { jq('#pv-bar-fullscreen').find('img').attr('src', resource.image('preview-fullscreen')); } - if (lo.isFunction(onAdjustSize)) { + if (isFn(onAdjustSize)) { onAdjustSize(1); } } function setLabels(labels) { jq('#pv-buttons .bar-left').remove(); - lo.each(labels, label => { + each(labels, label => { jq('') .addClass('bar-left bar-label') .text(label) @@ -77,13 +78,13 @@ function setLabels(labels) { } function onNext() { - if (lo.isFunction(onIndexChange)) { + if (isFn(onIndexChange)) { onIndexChange(1); } } function onPrevious() { - if (lo.isFunction(onIndexChange)) { + if (isFn(onIndexChange)) { onIndexChange(-1); } } @@ -146,8 +147,8 @@ function onExit() { } function setIndex(idx, total) { - if (lo.isNumber(idx)) { - jq('#pv-bar-idx').text(String(idx) + (lo.isNumber(total) ? '/' + String(total) : '')).show(); + if (isNum(idx)) { + jq('#pv-bar-idx').text(String(idx) + (isNum(total) ? '/' + String(total) : '')).show(); } else { jq('#pv-bar-idx').text('').hide(); } @@ -170,7 +171,7 @@ function setOnAdjustSize(fn) { } function showSpinner(show, src, millis) { - if (!lo.isNumber(millis)) { + if (!isNum(millis)) { millis = 300; } diff --git a/src/_h5ai/public/js/lib/ext/search.js b/src/_h5ai/public/js/lib/ext/search.js index 277b9191..f3cc6009 100644 --- a/src/_h5ai/public/js/lib/ext/search.js +++ b/src/_h5ai/public/js/lib/ext/search.js @@ -1,4 +1,5 @@ -const {jq, lo} = require('../globals'); +const {map, debounce} = require('../lo'); +const {jq} = require('../globals'); const server = require('../server'); const event = require('../core/event'); const location = require('../core/location'); @@ -9,7 +10,7 @@ const Item = require('../model/item'); const view = require('../view/view'); -const settings = lo.extend({ +const settings = Object.assign({ enabled: false, advanced: false, debounceTime: 300, @@ -50,9 +51,7 @@ function search(pattern) { }).then(response => { $search.removeClass('pending'); view.setHint('noMatch'); - view.setItems(lo.map(response.search, item => { - return Item.get(item); - })); + view.setItems(map(response.search, item => Item.get(item))); }); } @@ -87,7 +86,7 @@ function init() { $input = $search.find('input'); $search.on('click', 'img', toggle); - $input.on('keyup', lo.debounce(update, settings.debounceTime, {trailing: true})); + $input.on('keyup', debounce(update, settings.debounceTime, {trailing: true})); event.sub('location.changed', reset); } diff --git a/src/_h5ai/public/js/lib/ext/select.js b/src/_h5ai/public/js/lib/ext/select.js index 320022fe..fe516320 100644 --- a/src/_h5ai/public/js/lib/ext/select.js +++ b/src/_h5ai/public/js/lib/ext/select.js @@ -1,11 +1,12 @@ -const {win, jq, lo} = require('../globals'); +const {each, map} = require('../lo'); +const {win, jq} = require('../globals'); const event = require('../core/event'); const resource = require('../core/resource'); const allsettings = require('../core/settings'); const doc = win.document; -const settings = lo.extend({ +const settings = Object.assign({ enabled: false, clickndrag: false, checkboxes: false @@ -26,7 +27,7 @@ const $selectionRect = jq(''); function publish() { - const items = lo.map(jq('#items .item.selected'), el => el._item); + const items = map(jq('#items .item.selected'), el => el._item); event.pub('selection', items); } @@ -155,10 +156,10 @@ function addCheckbox(item) { function onViewChanged(added, removed) { if (settings.checkboxes) { - lo.each(added, addCheckbox); + each(added, addCheckbox); } - lo.each(removed, item => { + each(removed, item => { if (item.$view) { item.$view.removeClass('selected'); } diff --git a/src/_h5ai/public/js/lib/ext/sort.js b/src/_h5ai/public/js/lib/ext/sort.js index 4641409b..625cf07a 100644 --- a/src/_h5ai/public/js/lib/ext/sort.js +++ b/src/_h5ai/public/js/lib/ext/sort.js @@ -1,11 +1,11 @@ -const {jq, lo} = require('../globals'); +const {jq} = require('../globals'); const event = require('../core/event'); const resource = require('../core/resource'); const allsettings = require('../core/settings'); const store = require('../core/store'); const util = require('../core/util'); -const settings = lo.extend({ +const settings = Object.assign({ enabled: false, column: 0, reverse: false, diff --git a/src/_h5ai/public/js/lib/ext/thumbnails.js b/src/_h5ai/public/js/lib/ext/thumbnails.js index 15fb1254..345a28ca 100644 --- a/src/_h5ai/public/js/lib/ext/thumbnails.js +++ b/src/_h5ai/public/js/lib/ext/thumbnails.js @@ -1,9 +1,9 @@ -const {lo} = require('../globals'); +const {each, map, includes} = require('../lo'); const server = require('../server'); const event = require('../core/event'); const allsettings = require('../core/settings'); -const settings = lo.extend({ +const settings = Object.assign({ enabled: false, img: ['img-bmp', 'img-gif', 'img-ico', 'img-jpg', 'img-png'], mov: ['vid-avi', 'vid-flv', 'vid-mkv', 'vid-mov', 'vid-mp4', 'vid-mpg', 'vid-webm'], @@ -18,11 +18,11 @@ const landscapeRatio = 4 / 3; function queueItem(queue, item) { let type = null; - if (lo.includes(settings.img, item.type)) { + if (includes(settings.img, item.type)) { type = 'img'; - } else if (lo.includes(settings.mov, item.type)) { + } else if (includes(settings.mov, item.type)) { type = 'mov'; - } else if (lo.includes(settings.doc, item.type)) { + } else if (includes(settings.doc, item.type)) { type = 'doc'; } else { return; @@ -62,7 +62,7 @@ function queueItem(queue, item) { } function requestQueue(queue) { - const thumbs = lo.map(queue, req => { + const thumbs = map(queue, req => { return { type: req.type, href: req.href, @@ -75,7 +75,7 @@ function requestQueue(queue) { action: 'get', thumbs }).then(json => { - lo.each(queue, (req, idx) => { + each(queue, (req, idx) => { req.callback(json && json.thumbs ? json.thumbs[idx] : null); }); }); @@ -84,7 +84,7 @@ function requestQueue(queue) { function handleItems(items) { const queue = []; - lo.each(items, item => { + each(items, item => { queueItem(queue, item); }); diff --git a/src/_h5ai/public/js/lib/ext/title.js b/src/_h5ai/public/js/lib/ext/title.js index 6b81e2b1..35d80dde 100644 --- a/src/_h5ai/public/js/lib/ext/title.js +++ b/src/_h5ai/public/js/lib/ext/title.js @@ -1,15 +1,16 @@ -const {win, lo} = require('../globals'); +const {map} = require('../lo'); +const {win} = require('../globals'); const event = require('../core/event'); const allsettings = require('../core/settings'); const doc = win.document; -const settings = lo.extend({ +const settings = Object.assign({ enabled: false }, allsettings.title); function onLocationChanged(item) { - const labels = lo.map(item.getCrumb(), 'label'); + const labels = map(item.getCrumb(), i => i.label); let title = labels.join(' > '); if (labels.length > 1) { diff --git a/src/_h5ai/public/js/lib/ext/tree.js b/src/_h5ai/public/js/lib/ext/tree.js index 8682f09b..f85eccc5 100644 --- a/src/_h5ai/public/js/lib/ext/tree.js +++ b/src/_h5ai/public/js/lib/ext/tree.js @@ -1,4 +1,5 @@ -const {jq, lo} = require('../globals'); +const {each} = require('../lo'); +const {jq} = require('../globals'); const event = require('../core/event'); const location = require('../core/location'); const resource = require('../core/resource'); @@ -7,7 +8,7 @@ const store = require('../core/store'); const util = require('../core/util'); -const settings = lo.extend({ +const settings = Object.assign({ enabled: false, show: true, maxSubfolders: 50, @@ -87,7 +88,7 @@ function update(item) { const $ul = jq('