{"version":3,"sources":["dashboard.js"],"names":["const","lsKeys","token","viewType","uploads","uploadsAll","selected","users","page","dom","localStorage","username","permissions","menusContainer","menus","currentView","views","type","album","pageNum","filters","all","checkboxes","lastSelected","upload","user","selectAlbumContainer","cache","albums","clipboardJS","lazyLoad","imageExts","videoExts","isTriggerLoading","fadingIn","albumTitleMaxLength","albumDescMaxLength","preparePage","verifyToken","window","location","reloadOnError","axios","post","then","response","data","success","swal","title","text","description","icon","removeItem","defaults","headers","common","prepareDashboard","catch","error","console","document","querySelector","addEventListener","domClick","event","target","classList","contains","preventDefault","itemMenus","selector","onclick","getUploads","deleteUploadsByNames","getAlbums","changeToken","changePassword","logout","inactive","params","group","getStatistics","getUsers","loop","i","item","call","Object","assign","trigger","currentTarget","remove","push","length","moderator","innerHTML","getAlbumsSidebar","prepareShareX","updateTrigger","newState","add","parentNode","tagName","let","getItemID","element","parent","parseInt","dataset","id","includes","action","hasAttribute","stopPropagation","setUploadsView","clearSelection","addSelectedUploadsToAlbum","select","selectAll","addToAlbum","deleteUpload","bulkDeleteUploads","displayPreview","submitAlbum","editAlbum","deleteAlbum","getNewToken","editUser","disableUser","filtersHelp","filterUploads","viewUserUploads","focusJumpToPage","switchPage","fadeAndScroll","content","clearTimeout","setTimeout","scrollIntoView","func","goto","jumpToPage","checkValidity","parsed","value","isNaN","focus","undefined","url","get","files","autoPage","Math","ceil","count","basedomain","pagination","paginate","filter","extraControls","controls","unselected","hasExpiryDateColumn","some","file","expirydate","thumb","exec","extname","toLowerCase","name","original","prettyBytes","getPrettyBytes","size","prettyDate","getPrettyDate","Date","timestamp","prettyExpiryDate","appendix","userid","albumid","table","div","createElement","className","appendChild","querySelectorAll","update","tr","ip","checked","view","isimage","isvideo","src","onload","body","onerror","video","autoplay","insertAdjacentElement","buttons","splice","indexOf","JSON","stringify","selectInBetween","lastElement","thisIndex","index","lastIndex","abs","shiftKey","suffix","substring","proceed","style","trim","replace","postBulkDeleteUploads","field","values","cb","failed","textArea","seen","names","split","map","trimmed","test","prototype","hasOwnProperty","join","objective","dangerMode","cancel","confirm","closeModal","fields","Array","isArray","addUploadsToAlbum","ids","callback","choose","added","list","getElementsByTagName","removeAttribute","homeDomain","albumUrl","download","public","requestLink","identifier","purge","albumsContainer","oldAlbums","li","a","sendNewPassword","pass","password","admin","displayGroup","groups","keys","enabled","usage","groupOptions","g","resetPassword","totalItems","itemsPerPage","currentPage","numPages","template","start","end","elementsToShow","step","stats","rows","types","_types","valKeys","j","number","toLocaleString","byte","byteUsage","used","total","round","toUpperCase","defineProperty","varArgs","arguments$1","arguments","TypeError","to","nextSource","nextKey","writable","configurable","documentElement","selectedKeys","ls","parse","ClipboardJS","on","LazyLoad"],"mappings":"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","file":"dashboard.js","sourcesContent":["/* global swal, axios, ClipboardJS, LazyLoad */\n\nconst lsKeys = {\n token: 'token',\n viewType: {\n uploads: 'viewTypeUploads',\n uploadsAll: 'viewTypeUploadsAll'\n },\n selected: {\n uploads: 'selectedUploads',\n uploadsAll: 'selectedUploadsAll',\n users: 'selectedUsers'\n }\n}\n\nconst page = {\n // #page\n dom: null,\n\n // user token\n token: localStorage[lsKeys.token],\n\n // from api/tokens/verify\n username: null,\n permissions: null,\n\n // sidebar menus\n menusContainer: null,\n menus: [],\n\n currentView: null,\n views: {\n // config of uploads view\n uploads: {\n type: localStorage[lsKeys.viewType.uploads],\n album: null, // album's id\n pageNum: null // page num\n },\n // config of uploads view (all)\n uploadsAll: {\n type: localStorage[lsKeys.viewType.uploadsAll],\n filters: null, // uploads' filters\n pageNum: null, // page num\n all: true\n },\n // config of users view\n users: {\n pageNum: null\n }\n },\n\n // id of selected items (shared across pages and will be synced with localStorage)\n selected: {\n uploads: [],\n uploadsAll: [],\n users: []\n },\n checkboxes: {\n uploads: [],\n uploadsAll: [],\n users: []\n },\n lastSelected: {\n upload: null,\n uploadsAll: null,\n user: null\n },\n\n // select album dom for dialogs/modals\n selectAlbumContainer: null,\n\n // cache for dialogs/modals\n cache: {\n uploads: {},\n albums: {},\n users: {}\n },\n\n clipboardJS: null,\n lazyLoad: null,\n\n imageExts: ['.webp', '.jpg', '.jpeg', '.gif', '.png', '.tiff', '.tif', '.svg'],\n // some of these extensions can not be played directly in browsers\n videoExts: ['.webm', '.mp4', '.wmv', '.avi', '.mov', '.mkv'],\n\n isTriggerLoading: null,\n fadingIn: null,\n\n albumTitleMaxLength: 280,\n albumDescMaxLength: 4000\n}\n\npage.preparePage = () => {\n if (!page.token) {\n window.location = 'auth'\n return\n }\n page.verifyToken(page.token, true)\n}\n\npage.verifyToken = (token, reloadOnError) => {\n axios.post('api/tokens/verify', { token }).then(response => {\n if (response.data.success === false)\n return swal({\n title: 'An error occurred!',\n text: response.data.description,\n icon: 'error'\n }).then(() => {\n if (!reloadOnError) return\n localStorage.removeItem(lsKeys.token)\n window.location = 'auth'\n })\n\n axios.defaults.headers.common.token = token\n localStorage[lsKeys.token] = token\n page.token = token\n page.username = response.data.username\n page.permissions = response.data.permissions\n page.prepareDashboard()\n }).catch(error => {\n console.error(error)\n return swal('An error occurred!', 'There was an error with the request, please check the console for more information.', 'error')\n })\n}\n\npage.prepareDashboard = () => {\n page.dom = document.querySelector('#page')\n\n // Capture all click events\n page.dom.addEventListener('click', page.domClick, true)\n\n // Capture all submit events\n page.dom.addEventListener('submit', event => {\n // Prevent default if necessary\n if (event.target && event.target.classList.contains('prevent-default'))\n return event.preventDefault()\n }, true)\n\n page.menusContainer = document.querySelector('#menu')\n\n // All item menus in the sidebar\n const itemMenus = [\n { selector: '#itemUploads', onclick: page.getUploads },\n { selector: '#itemDeleteUploadsByNames', onclick: page.deleteUploadsByNames },\n { selector: '#itemManageAlbums', onclick: page.getAlbums },\n { selector: '#itemManageToken', onclick: page.changeToken },\n { selector: '#itemChangePassword', onclick: page.changePassword },\n { selector: '#itemLogout', onclick: page.logout, inactive: true },\n { selector: '#itemManageUploads', onclick: page.getUploads, params: { all: true }, group: 'moderator' },\n { selector: '#itemStatistics', onclick: page.getStatistics, group: 'admin' },\n { selector: '#itemManageUsers', onclick: page.getUsers, group: 'admin' }\n ]\n\n for (let i = 0; i < itemMenus.length; i++) {\n // Skip item menu if not enough permission\n if (itemMenus[i].group && !page.permissions[itemMenus[i].group])\n continue\n\n // Add onclick event listener\n const item = document.querySelector(itemMenus[i].selector)\n item.addEventListener('click', event => {\n // This class name isn't actually being applied fast enough\n if (page.menusContainer.classList.contains('is-loading'))\n return\n // eslint-disable-next-line compat/compat\n itemMenus[i].onclick.call(null, Object.assign({\n trigger: event.currentTarget\n }, itemMenus[i].params || {}))\n })\n\n item.classList.remove('is-hidden')\n page.menus.push(item)\n }\n\n // If at least a moderator, show administration section\n if (page.permissions.moderator) {\n document.querySelector('#itemLabelAdmin').classList.remove('is-hidden')\n document.querySelector('#itemListAdmin').classList.remove('is-hidden')\n }\n\n // Update text of logout button\n document.querySelector('#itemLogout').innerHTML = `Logout ( ${page.username} )`\n\n // Finally display dashboard\n document.querySelector('#dashboard').classList.remove('is-hidden')\n\n // Load albums sidebar\n page.getAlbumsSidebar()\n\n if (typeof page.prepareShareX === 'function')\n page.prepareShareX()\n}\n\npage.logout = () => {\n localStorage.removeItem(lsKeys.token)\n window.location = 'auth'\n}\n\npage.updateTrigger = (trigger, newState) => {\n if (!trigger) return\n\n // Disable menus container when loading\n if (newState === 'loading')\n page.menusContainer.classList.add('is-loading')\n else\n page.menusContainer.classList.remove('is-loading')\n\n if (newState === 'loading') {\n trigger.classList.add('is-loading')\n } else if (newState === 'active') {\n if (trigger.parentNode.tagName !== 'LI')\n return\n for (let i = 0; i < page.menus.length; i++)\n page.menus[i].classList.remove('is-active')\n trigger.classList.remove('is-loading')\n trigger.classList.add('is-active')\n } else {\n trigger.classList.remove('is-loading')\n trigger.classList.remove('is-active')\n }\n}\n\npage.getItemID = element => {\n // This expects the item's parent to have the item's ID\n let parent = element.parentNode\n // If the element is part of a set of controls, use the container's parent instead\n if (element.parentNode.classList.contains('controls')) parent = parent.parentNode\n return parseInt(parent.dataset.id)\n}\n\npage.domClick = event => {\n // We are processing clicks this way to avoid using \"onclick\" attribute\n // Apparently we will need to use \"unsafe-inline\" for \"script-src\" directive\n // of Content Security Policy (CSP), if we want to use \"onclick\" attribute\n // Though I think that only applies to some browsers (?)\n // Of course it wouldn't have mattered if we didn't use CSP to begin with\n // Anyway, I personally would rather not use \"onclick\" attribute\n let element = event.target\n if (!element) return\n\n // Delegate click events to their A or BUTTON parents\n if (['I'].includes(element.tagName) && ['SPAN'].includes(element.parentNode.tagName))\n element = element.parentNode\n if (['SPAN'].includes(element.tagName) && ['A', 'BUTTON'].includes(element.parentNode.tagName))\n element = element.parentNode\n\n // Skip elements that have no action data\n if (!element.dataset || !element.dataset.action) return\n\n // Skip disabled elements\n if (element.hasAttribute('disabled')) return\n\n event.stopPropagation() // maybe necessary\n const id = page.getItemID(element)\n const action = element.dataset.action\n\n switch (action) {\n case 'view-list':\n return page.setUploadsView('list', element)\n case 'view-thumbs':\n return page.setUploadsView('thumbs', element)\n case 'clear-selection':\n return page.clearSelection()\n case 'add-selected-uploads-to-album':\n return page.addSelectedUploadsToAlbum()\n case 'select':\n return page.select(element, event)\n case 'select-all':\n return page.selectAll(element)\n case 'add-to-album':\n return page.addToAlbum(id)\n case 'delete-upload':\n return page.deleteUpload(id)\n case 'bulk-delete-uploads':\n return page.bulkDeleteUploads()\n case 'display-preview':\n return page.displayPreview(id)\n case 'submit-album':\n return page.submitAlbum(element)\n case 'edit-album':\n return page.editAlbum(id)\n case 'delete-album':\n return page.deleteAlbum(id)\n case 'get-new-token':\n return page.getNewToken(element)\n case 'edit-user':\n return page.editUser(id)\n case 'disable-user':\n return page.disableUser(id)\n case 'filters-help':\n return page.filtersHelp(element)\n case 'filter-uploads':\n return page.filterUploads(element)\n case 'view-user-uploads':\n return page.viewUserUploads(id, element)\n case 'page-ellipsis':\n return page.focusJumpToPage()\n case 'page-prev':\n case 'page-next':\n case 'page-goto':\n case 'jump-to-page':\n return page.switchPage(action, element)\n }\n}\n\npage.fadeAndScroll = content => {\n if (page.fadingIn) {\n clearTimeout(page.fadingIn)\n page.dom.classList.remove('fade-in')\n }\n page.dom.classList.add('fade-in')\n page.fadingIn = setTimeout(() => {\n page.dom.classList.remove('fade-in')\n }, 500)\n page.dom.scrollIntoView(true)\n}\n\npage.switchPage = (action, element) => {\n // eslint-disable-next-line compat/compat\n const params = Object.assign({\n trigger: element\n }, page.views[page.currentView])\n const func = page.currentView === 'users' ? page.getUsers : page.getUploads\n switch (action) {\n case 'page-prev':\n params.pageNum = page.views[page.currentView].pageNum - 1\n if (params.pageNum < 0)\n return swal('An error occurred!', 'This is already the first page.', 'error')\n return func(params)\n case 'page-next':\n params.pageNum = page.views[page.currentView].pageNum + 1\n return func(params)\n case 'page-goto':\n params.pageNum = parseInt(element.dataset.goto)\n return func(params)\n case 'jump-to-page': {\n const jumpToPage = document.querySelector('#jumpToPage')\n if (!jumpToPage.checkValidity()) return\n const parsed = parseInt(jumpToPage.value)\n params.pageNum = isNaN(parsed) ? 0 : (parsed - 1)\n if (params.pageNum < 0) params.pageNum = 0\n return func(params)\n }\n }\n}\n\npage.focusJumpToPage = () => {\n const element = document.querySelector('#jumpToPage')\n if (!element) return\n element.focus()\n element.select()\n}\n\npage.getUploads = (params = {}) => {\n if (params === undefined)\n params = {}\n\n if ((params.all || params.filters) && !page.permissions.moderator)\n return swal('An error occurred!', 'You can not do this!', 'error')\n\n page.updateTrigger(params.trigger, 'loading')\n\n if (typeof params.pageNum !== 'number' || params.pageNum < 0)\n params.pageNum = 0\n\n const url = params.album !== undefined\n ? `api/album/${params.album}/${params.pageNum}`\n : `api/uploads/${params.pageNum}`\n\n const headers = {\n all: params.all ? '1' : '',\n filters: params.filters || ''\n }\n\n axios.get(url, { headers }).then(response => {\n if (response.data.success === false)\n if (response.data.description === 'No token provided') {\n return page.verifyToken(page.token)\n } else {\n page.updateTrigger(params.trigger)\n return swal('An error occurred!', response.data.description, 'error')\n }\n\n const files = response.data.files\n if (params.pageNum && (files.length === 0))\n if (params.autoPage) {\n params.pageNum = Math.ceil(response.data.count / 25) - 1\n return page.getUploads(params)\n } else {\n page.updateTrigger(params.trigger)\n return swal('An error occurred!', `There are no more uploads to populate page ${params.pageNum + 1}.`, 'error')\n }\n\n page.currentView = params.all ? 'uploadsAll' : 'uploads'\n page.cache.uploads = {}\n\n const albums = response.data.albums\n const users = response.data.users\n const basedomain = response.data.basedomain\n const pagination = page.paginate(response.data.count, 25, params.pageNum)\n\n let filter = '
'\n if (params.all)\n filter = `\n${upload.name}
\n${upload.appendix ? `${upload.appendix} – ` : ''}${upload.prettyBytes}
\n ${hasExpiryDateColumn && upload.prettyExpiryDate ? `\nEXP: ${upload.prettyExpiryDate}
` : ''}\n\n | File | \n ${params.album === undefined ? `${params.all ? 'User' : 'Album'} | ` : ''}\nSize | \n ${params.all ? 'IP | ' : ''}\nDate | \n ${hasExpiryDateColumn ? 'Expiry date | ' : ''}\n\n |
---|
user:demo
\n\n Uploads from users with username either \"John Doe\" OR \"demo\":\n user:John\\\\ Doe user:demo
\n\n Uploads from IP \"127.0.0.1\" AND which upload names match \"*.rar\" OR \"*.zip\":\n ip:127.0.0.1 name:*.rar name:*.zip
\n\n Uploads from user with username \"test\" OR from non-registered users:\n user:test -user
\n `.trim().replace(/^ {6}/gm, '').replace(/\\n/g, 'You won't be able to recover ${boldObjective}!
`\n\n if (params.all) {\n const obj1 = count === 1 ? 'an upload' : 'some uploads'\n const obj2 = count === 1 ? 'another user' : 'other users'\n text += `\\nWarning: You may be nuking ${obj1} by ${obj2}!
`\n }\n\n const content = document.createElement('div')\n content.innerHTML = text\n\n swal({\n title: 'Are you sure?',\n content,\n icon: 'warning',\n dangerMode: true,\n buttons: {\n cancel: true,\n confirm: {\n text: `Yes, nuke ${params.values.length === 1 ? 'it' : 'them'}!`,\n closeModal: false\n }\n }\n }).then(proceed => {\n if (!proceed) return\n\n axios.post('api/upload/bulkdelete', {\n field: params.fields,\n values: params.values\n }).then(response => {\n if (!response) return\n\n if (response.data.success === false)\n if (response.data.description === 'No token provided') {\n return page.verifyToken(page.token)\n } else {\n return swal('An error occurred!', response.data.description, 'error')\n }\n\n const failed = Array.isArray(response.data.failed) ? response.data.failed : []\n if (failed.length === params.values.length)\n swal('An error occurred!', `Unable to delete any of the ${objective}.`, 'error')\n else if (failed.length && failed.length < params.values.length)\n swal('Warning!', `From ${objective}, unable to delete ${failed.length} of them.`, 'warning')\n else\n swal('Deleted!', `${objective} ${count === 1 ? 'has' : 'have'} been deleted.`, 'success')\n\n if (typeof params.cb === 'function')\n params.cb(failed)\n }).catch(error => {\n console.error(error)\n swal('An error occurred!', 'There was an error with the request, please check the console for more information.', 'error')\n })\n })\n}\n\npage.addSelectedUploadsToAlbum = () => {\n if (page.currentView !== 'uploads')\n return\n\n const count = page.selected[page.currentView].length\n if (!count)\n return swal('An error occurred!', 'You have not selected any uploads.', 'error')\n\n page.addUploadsToAlbum(page.selected[page.currentView], failed => {\n if (!failed) return\n if (failed.length)\n page.selected[page.currentView] = page.selected[page.currentView].filter(id => {\n return failed.includes(id)\n })\n else\n page.selected[page.currentView] = []\n\n localStorage[lsKeys.selected[page.currentView]] = JSON.stringify(page.selected[page.currentView])\n page.getUploads(page.views[page.currentView])\n })\n}\n\npage.addToAlbum = id => {\n page.addUploadsToAlbum([id], failed => {\n if (!failed) return\n page.getUploads(page.views[page.currentView])\n })\n}\n\npage.addUploadsToAlbum = (ids, callback) => {\n const count = ids.length\n\n const content = document.createElement('div')\n content.innerHTML = `\nYou are about to add ${count} upload${count === 1 ? '' : 's'} to an album.
\nIf an upload is already in an album, it will be moved.
\nID | \nName | \nFiles | \nCreated at | \nPublic link | \n\n |
---|
Max length is ${page.albumTitleMaxLength} characters.
\nMax length is ${page.albumDescMaxLength} characters.
\n\n | ID | \nUsername | \nUploads | \nUsage | \nGroup | \n\n |
---|
${user.username}'s new password is:
\n${response.data.password}
${keys[i].toUpperCase()} | \n\n |
---|