overleaf/services/web/frontend/js/ide/graphics/services/graphics.js
Alasdair Smith 0d2a768e1e Merge pull request #2937 from overleaf/as-remove-global-lodash
Replace global Lodash with explicit imports in frontend

GitOrigin-RevId: b092647039975ac594b69ce1fa145fd03552cc60
2020-06-24 02:10:29 +00:00

51 lines
1.3 KiB
JavaScript

import _ from 'lodash'
/* eslint-disable
max-len,
*/
// TODO: This file was created by bulk-decaffeinate.
// Fix any style issues and re-enable lint.
/*
* decaffeinate suggestions:
* DS102: Remove unnecessary code created because of implicit returns
* DS103: Rewrite code to no longer use __guard__
* DS207: Consider shorter variations of null checks
* Full docs: https://github.com/decaffeinate/decaffeinate/blob/master/docs/suggestions.md
*/
import App from '../../../base'
export default App.factory('graphics', function(ide) {
const Graphics = {
getGraphicsFiles() {
const graphicsFiles = []
ide.fileTreeManager.forEachEntity(function(entity, folder, path) {
if (
entity.type === 'file' &&
__guardMethod__(
entity != null ? entity.name : undefined,
'match',
o => o.match(/.*\.(png|jpg|jpeg|pdf|eps)/i)
)
) {
const cloned = _.clone(entity)
cloned.path = path
return graphicsFiles.push(cloned)
}
})
return graphicsFiles
}
}
return Graphics
})
function __guardMethod__(obj, methodName, transform) {
if (
typeof obj !== 'undefined' &&
obj !== null &&
typeof obj[methodName] === 'function'
) {
return transform(obj, methodName)
} else {
return undefined
}
}