Page MenuHomeSoftware Heritage

admin.468f507f49b9131f4e1b.js.map
No OneTemporary

admin.468f507f49b9131f4e1b.js.map

{
"version": 3,
"sources": [
"webpack://swh.admin/webpack/universalModuleDefinition",
"webpack://swh.admin/webpack/bootstrap",
"webpack://swh.admin/./swh/web/assets/src/bundles/admin/deposit.js",
"webpack://swh.admin/./swh/web/assets/src/bundles/admin/origin-save.js",
"webpack://swh.admin/./swh/web/assets/src/utils/functions.js",
"webpack://swh.admin/./swh/web/assets/src/utils/constants.js",
"webpack://swh.admin/./swh/web/assets/src/bundles/admin/index.js"
],
"names": [
"root",
"factory",
"exports",
"module",
"define",
"amd",
"window",
"installedModules",
"__webpack_require__",
"moduleId",
"i",
"l",
"modules",
"call",
"m",
"c",
"d",
"name",
"getter",
"o",
"Object",
"defineProperty",
"enumerable",
"get",
"r",
"Symbol",
"toStringTag",
"value",
"t",
"mode",
"__esModule",
"ns",
"create",
"key",
"bind",
"n",
"object",
"property",
"prototype",
"hasOwnProperty",
"p",
"s",
"genSwhLink",
"data",
"type",
"startsWith",
"Urls",
"browse_swh_id",
"filterDataWithExcludePattern",
"excludePattern",
"String",
"search",
"initDepositAdmin",
"depositsTable",
"$",
"document",
"ready",
"fn",
"dataTable",
"ext",
"errMode",
"on",
"e",
"settings",
"techNote",
"message",
"text",
"DataTable",
"serverSide",
"processing",
"dom",
"ajax",
"url",
"admin_deposit_list",
"dataFilter",
"dataResponse",
"jQuery",
"parseJSON",
"val",
"recordsFiltered",
"filteredData",
"row",
"push",
"JSON",
"stringify",
"columns",
"render",
"originPatternIdx",
"indexOf",
"originUrl",
"slice",
"length",
"nextSepPatternIdx",
"Date",
"toLocaleString",
"orderable",
"visible",
"scrollX",
"scrollY",
"scrollCollapse",
"order",
"html",
"keyup",
"draw",
"preventDefault",
"column",
"this",
"attr",
"removeClass",
"addClass",
"authorizedOriginTable",
"unauthorizedOriginTable",
"pendingSaveRequestsTable",
"acceptedSaveRequestsTable",
"rejectedSaveRequestsTable",
"enableRowSelection",
"tableSel",
"hasClass",
"closest",
"find",
"prop",
"initOriginSaveAdmin",
"admin_origin_save_authorized_urls_list",
"info",
"swh",
"webapp",
"addJumpToPagePopoverToDataTable",
"admin_origin_save_unauthorized_urls_list",
"columnsData",
"searchable",
"sanitizedURL",
"display",
"language",
"swhSpinnerSrc",
"origin_save_requests_list",
"searchDelay",
"responsive",
"details",
"visit_date",
"browseOriginUrl",
"browse_origin",
"origin_url",
"save_task_status",
"id",
"click",
"reload",
"target",
"parents",
"event",
"stopPropagation",
"popover",
"addAuthorizedOriginUrl",
"addOriginUrl",
"admin_origin_save_add_authorized_url",
"csrfPost",
"then",
"handleFetchError",
"add",
"htmlAlert",
"response",
"removeAuthorizedOriginUrl",
"removeOriginUrl",
"admin_origin_save_remove_authorized_url",
"remove",
"addUnauthorizedOriginUrl",
"admin_origin_save_add_unauthorized_url",
"removeUnauthorizedOriginUrl",
"admin_origin_save_remove_unauthorized_url",
"acceptOriginSaveRequest",
"selectedRow",
"showModalConfirm",
"rowData",
"acceptSaveRequestUrl",
"admin_origin_save_request_accept",
"rejectOriginSaveRequest",
"rejectSaveRequestUrl",
"admin_origin_save_request_reject",
"removeOriginSaveRequest",
"requestTable",
"requestId",
"removeSaveRequestUrl",
"admin_origin_save_request_remove",
"removePendingOriginSaveRequest",
"removeAcceptedOriginSaveRequest",
"removeRejectedOriginSaveRequest",
"displaySaveRequestInfo",
"saveRequestId",
"saveRequestTaskInfoUrl",
"admin_origin_save_task_info",
"filterXSS",
"fetch",
"json",
"saveRequestTaskInfo",
"content",
"isEmptyObject",
"saveRequestInfo",
"arguments",
"backend_id",
"scheduled",
"ended",
"duration",
"worker",
"ok",
"handleFetchErrors",
"responses",
"staticAsset",
"asset",
"__STATIC__",
"headers",
"body",
"Cookies",
"credentials",
"method",
"isGitRepoUrl",
"domain",
"RegExp",
"test",
"removeUrlFragment",
"history",
"replaceState",
"title",
"location",
"pathname",
"selectText",
"startNode",
"endNode",
"selection",
"getSelection",
"removeAllRanges",
"range",
"createRange",
"setStart",
"nodeName",
"setEnd",
"childNodes",
"textContent",
"addRange",
"closable",
"closeButton",
"extraClasses",
"BREAKPOINT_SM",
"BREAKPOINT_MD"
],
"mappings": "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",
"file": "js/admin.468f507f49b9131f4e1b.js",
"sourcesContent": [
"(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"admin\"] = factory();\n\telse\n\t\troot[\"swh\"] = root[\"swh\"] || {}, root[\"swh\"][\"admin\"] = factory();\n})(window, function() {\nreturn ",
" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/static/\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 240);\n",
"/**\n * Copyright (C) 2018-2020 The Software Heritage developers\n * See the AUTHORS file at the top-level directory of this distribution\n * License: GNU Affero General Public License version 3, or any later version\n * See top-level LICENSE file for more information\n */\n\nfunction genSwhLink(data, type) {\n if (type === 'display') {\n if (data && data.startsWith('swh')) {\n let browseUrl = Urls.browse_swh_id(data);\n return `<a href=\"${browseUrl}\">${data}</a>`;\n }\n }\n return data;\n}\n\nfunction filterDataWithExcludePattern(data, excludePattern) {\n /* Return true if the data is to be filtered, false otherwise.\n\n Args:\n data (dict): row dict data\n excludePattern (str): pattern to lookup in data columns\n\n Returns:\n true if the data is to be excluded (because it matches), false otherwise\n\n */\n if (excludePattern === '') {\n return false; // otherwise, everything gets excluded\n }\n for (const key in data) {\n let value = data[key];\n if ((typeof value === 'string' || value instanceof String) &&\n value.search(excludePattern) !== -1) {\n return true; // exclude the data from filtering\n }\n }\n return false;\n}\n\nexport function initDepositAdmin() {\n let depositsTable;\n $(document).ready(() => {\n $.fn.dataTable.ext.errMode = 'none';\n depositsTable = $('#swh-admin-deposit-list')\n .on('error.dt', (e, settings, techNote, message) => {\n $('#swh-admin-deposit-list-error').text(message);\n })\n .DataTable({\n serverSide: true,\n processing: true,\n // let's define the order of table options display\n // f: (f)ilter\n // l: (l)ength changing\n // r: p(r)ocessing\n // t: (t)able\n // i: (i)nfo\n // p: (p)agination\n // see https://datatables.net/examples/basic_init/dom.html\n dom: '<<f<\"#list-exclude\">l>rt<\"bottom\"ip>>',\n // div#list-exclude is a custom filter added next to dataTable\n // initialization below through js dom manipulation, see\n // https://datatables.net/examples/advanced_init/dom_toolbar.html\n ajax: {\n url: Urls.admin_deposit_list(),\n // filtering data set depending on the exclude search input\n dataFilter: function(dataResponse) {\n /* Filter out data returned by the server to exclude entries\n matching the exclude pattern.\n\n Args\n dataResponse (str): the json response in string\n\n Returns:\n json response altered (in string)\n */\n //\n let data = jQuery.parseJSON(dataResponse);\n let excludePattern = $('#swh-admin-deposit-list-exclude-filter').val();\n let recordsFiltered = 0;\n let filteredData = [];\n for (const row of data.data) {\n if (filterDataWithExcludePattern(row, excludePattern)) {\n recordsFiltered += 1;\n } else {\n filteredData.push(row);\n }\n }\n // update data values\n data['recordsFiltered'] = recordsFiltered;\n data['data'] = filteredData;\n return JSON.stringify(data);\n }\n },\n columns: [\n {\n data: 'id',\n name: 'id'\n },\n {\n data: 'swh_id_context',\n name: 'swh_id_context',\n render: (data, type, row) => {\n if (data && type === 'display') {\n let originPattern = ';origin=';\n let originPatternIdx = data.indexOf(originPattern);\n if (originPatternIdx !== -1) {\n let originUrl = data.slice(originPatternIdx + originPattern.length);\n let nextSepPattern = ';';\n let nextSepPatternIdx = originUrl.indexOf(nextSepPattern);\n if (nextSepPatternIdx !== -1) { /* Remove extra context */\n originUrl = originUrl.slice(0, nextSepPatternIdx);\n }\n return `<a href=\"${originUrl}\">${originUrl}</a>`;\n }\n }\n return data;\n }\n },\n {\n data: 'reception_date',\n name: 'reception_date',\n render: (data, type, row) => {\n if (type === 'display') {\n let date = new Date(data);\n return date.toLocaleString();\n }\n return data;\n }\n },\n {\n data: 'status',\n name: 'status'\n },\n {\n data: 'status_detail',\n name: 'status_detail',\n render: (data, type, row) => {\n if (type === 'display' && data) {\n let text = data;\n if (typeof data === 'object') {\n text = JSON.stringify(data, null, 4);\n }\n return `<div style=\"width: 200px; white-space: pre; overflow-x: auto;\">${text}</div>`;\n }\n return data;\n },\n orderable: false,\n visible: false\n },\n {\n data: 'swh_id',\n name: 'swh_id',\n render: (data, type, row) => {\n return genSwhLink(data, type);\n },\n orderable: false,\n visible: false\n },\n {\n data: 'swh_id_context',\n name: 'swh_id_context',\n render: (data, type, row) => {\n return genSwhLink(data, type);\n },\n orderable: false,\n visible: false\n }\n ],\n scrollX: true,\n scrollY: '50vh',\n scrollCollapse: true,\n order: [[0, 'desc']]\n });\n\n // Some more customization is needed on the table\n $('div#list-exclude').html(`<div id=\"swh-admin-deposit-list-exclude-wrapper\">\n <div id=\"swh-admin-deposit-list-exclude-div-wrapper\" class=\"dataTables_filter\">\n <label>\n Exclude:<input id=\"swh-admin-deposit-list-exclude-filter\"\n type=\"search\"\n value=\"check-deposit\"\n class=\"form-control form-control-sm\"\n placeholder=\"exclude-pattern\" aria-controls=\"swh-admin-deposit-list\">\n </input>\n </label>\n </div>\n </div>\n`);\n // Adding exclusion pattern update behavior, when typing, update search\n $('#swh-admin-deposit-list-exclude-filter').keyup(function() {\n depositsTable.draw();\n });\n // at last draw the table\n depositsTable.draw();\n });\n\n $('a.toggle-col').on('click', function(e) {\n e.preventDefault();\n var column = depositsTable.column($(this).attr('data-column'));\n column.visible(!column.visible());\n if (column.visible()) {\n $(this).removeClass('col-hidden');\n } else {\n $(this).addClass('col-hidden');\n }\n });\n\n}\n",
"/**\n * Copyright (C) 2018-2020 The Software Heritage developers\n * See the AUTHORS file at the top-level directory of this distribution\n * License: GNU Affero General Public License version 3, or any later version\n * See top-level LICENSE file for more information\n */\n\nimport {handleFetchError, csrfPost, htmlAlert} from 'utils/functions';\nimport {swhSpinnerSrc} from 'utils/constants';\n\nlet authorizedOriginTable;\nlet unauthorizedOriginTable;\nlet pendingSaveRequestsTable;\nlet acceptedSaveRequestsTable;\nlet rejectedSaveRequestsTable;\n\nfunction enableRowSelection(tableSel) {\n $(`${tableSel} tbody`).on('click', 'tr', function() {\n if ($(this).hasClass('selected')) {\n $(this).removeClass('selected');\n $(tableSel).closest('.tab-pane').find('.swh-action-need-selection').prop('disabled', true);\n } else {\n $(`${tableSel} tr.selected`).removeClass('selected');\n $(this).addClass('selected');\n $(tableSel).closest('.tab-pane').find('.swh-action-need-selection').prop('disabled', false);\n }\n });\n}\n\nexport function initOriginSaveAdmin() {\n $(document).ready(() => {\n\n $.fn.dataTable.ext.errMode = 'throw';\n\n authorizedOriginTable = $('#swh-authorized-origin-urls').DataTable({\n serverSide: true,\n ajax: Urls.admin_origin_save_authorized_urls_list(),\n columns: [{data: 'url', name: 'url'}],\n scrollY: '50vh',\n scrollCollapse: true,\n info: false\n });\n enableRowSelection('#swh-authorized-origin-urls');\n swh.webapp.addJumpToPagePopoverToDataTable(authorizedOriginTable);\n\n unauthorizedOriginTable = $('#swh-unauthorized-origin-urls').DataTable({\n serverSide: true,\n ajax: Urls.admin_origin_save_unauthorized_urls_list(),\n columns: [{data: 'url', name: 'url'}],\n scrollY: '50vh',\n scrollCollapse: true,\n info: false\n });\n enableRowSelection('#swh-unauthorized-origin-urls');\n swh.webapp.addJumpToPagePopoverToDataTable(unauthorizedOriginTable);\n\n let columnsData = [\n {\n data: 'id',\n name: 'id',\n visible: false,\n searchable: false\n },\n {\n data: 'save_request_date',\n name: 'request_date',\n render: (data, type, row) => {\n if (type === 'display') {\n let date = new Date(data);\n return date.toLocaleString();\n }\n return data;\n }\n },\n {\n data: 'visit_type',\n name: 'visit_type'\n },\n {\n data: 'origin_url',\n name: 'origin_url',\n render: (data, type, row) => {\n if (type === 'display') {\n const sanitizedURL = $.fn.dataTable.render.text().display(data);\n return `<a href=\"${sanitizedURL}\">${sanitizedURL}</a>`;\n }\n return data;\n }\n }\n ];\n\n pendingSaveRequestsTable = $('#swh-origin-save-pending-requests').DataTable({\n serverSide: true,\n processing: true,\n language: {\n processing: `<img src=\"${swhSpinnerSrc}\"></img>`\n },\n ajax: Urls.origin_save_requests_list('pending'),\n searchDelay: 1000,\n columns: columnsData,\n scrollY: '50vh',\n scrollCollapse: true,\n order: [[0, 'desc']],\n responsive: {\n details: {\n type: 'none'\n }\n }\n });\n enableRowSelection('#swh-origin-save-pending-requests');\n swh.webapp.addJumpToPagePopoverToDataTable(pendingSaveRequestsTable);\n\n rejectedSaveRequestsTable = $('#swh-origin-save-rejected-requests').DataTable({\n serverSide: true,\n processing: true,\n language: {\n processing: `<img src=\"${swhSpinnerSrc}\"></img>`\n },\n ajax: Urls.origin_save_requests_list('rejected'),\n searchDelay: 1000,\n columns: columnsData,\n scrollY: '50vh',\n scrollCollapse: true,\n order: [[0, 'desc']],\n responsive: {\n details: {\n type: 'none'\n }\n }\n });\n enableRowSelection('#swh-origin-save-rejected-requests');\n swh.webapp.addJumpToPagePopoverToDataTable(rejectedSaveRequestsTable);\n\n columnsData.push({\n data: 'save_task_status',\n name: 'save_task_status',\n render: (data, type, row) => {\n if (data === 'succeed' && row.visit_date) {\n let browseOriginUrl = `${Urls.browse_origin()}?origin_url=${row.origin_url}`;\n browseOriginUrl += `&timestamp=${row.visit_date}`;\n return `<a href=\"${browseOriginUrl}\">${data}</a>`;\n }\n return data;\n }\n });\n\n columnsData.push({\n name: 'info',\n render: (data, type, row) => {\n if (row.save_task_status === 'succeed' || row.save_task_status === 'failed') {\n return '<i class=\"fa fa-info-circle swh-save-request-info\" aria-hidden=\"true\" style=\"cursor: pointer\"' +\n `onclick=\"swh.admin.displaySaveRequestInfo(event, ${row.id})\"></i>`;\n } else {\n return '';\n }\n }\n });\n\n acceptedSaveRequestsTable = $('#swh-origin-save-accepted-requests').DataTable({\n serverSide: true,\n processing: true,\n language: {\n processing: `<img src=\"${swhSpinnerSrc}\"></img>`\n },\n ajax: Urls.origin_save_requests_list('accepted'),\n searchDelay: 1000,\n columns: columnsData,\n scrollY: '50vh',\n scrollCollapse: true,\n order: [[0, 'desc']],\n responsive: {\n details: {\n type: 'none'\n }\n }\n });\n enableRowSelection('#swh-origin-save-accepted-requests');\n swh.webapp.addJumpToPagePopoverToDataTable(acceptedSaveRequestsTable);\n\n $('#swh-origin-save-requests-nav-item').on('shown.bs.tab', () => {\n pendingSaveRequestsTable.draw();\n });\n\n $('#swh-origin-save-url-filters-nav-item').on('shown.bs.tab', () => {\n authorizedOriginTable.draw();\n });\n\n $('#swh-authorized-origins-tab').on('shown.bs.tab', () => {\n authorizedOriginTable.draw();\n });\n\n $('#swh-unauthorized-origins-tab').on('shown.bs.tab', () => {\n unauthorizedOriginTable.draw();\n });\n\n $('#swh-save-requests-pending-tab').on('shown.bs.tab', () => {\n pendingSaveRequestsTable.draw();\n });\n\n $('#swh-save-requests-accepted-tab').on('shown.bs.tab', () => {\n acceptedSaveRequestsTable.draw();\n });\n\n $('#swh-save-requests-rejected-tab').on('shown.bs.tab', () => {\n rejectedSaveRequestsTable.draw();\n });\n\n $('#swh-save-requests-pending-tab').click(() => {\n pendingSaveRequestsTable.ajax.reload(null, false);\n });\n\n $('#swh-save-requests-accepted-tab').click(() => {\n acceptedSaveRequestsTable.ajax.reload(null, false);\n });\n\n $('#swh-save-requests-rejected-tab').click(() => {\n rejectedSaveRequestsTable.ajax.reload(null, false);\n });\n\n $('body').on('click', e => {\n if ($(e.target).parents('.popover').length > 0) {\n event.stopPropagation();\n } else if ($(e.target).parents('.swh-save-request-info').length === 0) {\n $('.swh-save-request-info').popover('dispose');\n }\n });\n\n });\n}\n\nexport function addAuthorizedOriginUrl() {\n let originUrl = $('#swh-authorized-url-prefix').val();\n let addOriginUrl = Urls.admin_origin_save_add_authorized_url(originUrl);\n csrfPost(addOriginUrl)\n .then(handleFetchError)\n .then(() => {\n authorizedOriginTable.row.add({'url': originUrl}).draw();\n $('.swh-add-authorized-origin-status').html(\n htmlAlert('success', 'The origin url prefix has been successfully added in the authorized list.', true)\n );\n })\n .catch(response => {\n $('.swh-add-authorized-origin-status').html(\n htmlAlert('warning', 'The provided origin url prefix is already registered in the authorized list.', true)\n );\n });\n}\n\nexport function removeAuthorizedOriginUrl() {\n let originUrl = $('#swh-authorized-origin-urls tr.selected').text();\n if (originUrl) {\n let removeOriginUrl = Urls.admin_origin_save_remove_authorized_url(originUrl);\n csrfPost(removeOriginUrl)\n .then(handleFetchError)\n .then(() => {\n authorizedOriginTable.row('.selected').remove().draw();\n })\n .catch(() => {});\n }\n}\n\nexport function addUnauthorizedOriginUrl() {\n let originUrl = $('#swh-unauthorized-url-prefix').val();\n let addOriginUrl = Urls.admin_origin_save_add_unauthorized_url(originUrl);\n csrfPost(addOriginUrl)\n .then(handleFetchError)\n .then(() => {\n unauthorizedOriginTable.row.add({'url': originUrl}).draw();\n $('.swh-add-unauthorized-origin-status').html(\n htmlAlert('success', 'The origin url prefix has been successfully added in the unauthorized list.', true)\n );\n })\n .catch(() => {\n $('.swh-add-unauthorized-origin-status').html(\n htmlAlert('warning', 'The provided origin url prefix is already registered in the unauthorized list.', true)\n );\n });\n}\n\nexport function removeUnauthorizedOriginUrl() {\n let originUrl = $('#swh-unauthorized-origin-urls tr.selected').text();\n if (originUrl) {\n let removeOriginUrl = Urls.admin_origin_save_remove_unauthorized_url(originUrl);\n csrfPost(removeOriginUrl)\n .then(handleFetchError)\n .then(() => {\n unauthorizedOriginTable.row('.selected').remove().draw();\n })\n .catch(() => {});\n }\n}\n\nexport function acceptOriginSaveRequest() {\n let selectedRow = pendingSaveRequestsTable.row('.selected');\n if (selectedRow.length) {\n let acceptOriginSaveRequestCallback = () => {\n let rowData = selectedRow.data();\n let acceptSaveRequestUrl = Urls.admin_origin_save_request_accept(rowData['visit_type'], rowData['origin_url']);\n csrfPost(acceptSaveRequestUrl)\n .then(() => {\n pendingSaveRequestsTable.ajax.reload(null, false);\n });\n };\n\n swh.webapp.showModalConfirm(\n 'Accept origin save request ?',\n 'Are you sure to accept this origin save request ?',\n acceptOriginSaveRequestCallback);\n }\n}\n\nexport function rejectOriginSaveRequest() {\n let selectedRow = pendingSaveRequestsTable.row('.selected');\n if (selectedRow.length) {\n let rejectOriginSaveRequestCallback = () => {\n let rowData = selectedRow.data();\n let rejectSaveRequestUrl = Urls.admin_origin_save_request_reject(rowData['visit_type'], rowData['origin_url']);\n csrfPost(rejectSaveRequestUrl)\n .then(() => {\n pendingSaveRequestsTable.ajax.reload(null, false);\n });\n };\n\n swh.webapp.showModalConfirm(\n 'Reject origin save request ?',\n 'Are you sure to reject this origin save request ?',\n rejectOriginSaveRequestCallback);\n }\n}\n\nfunction removeOriginSaveRequest(requestTable) {\n let selectedRow = requestTable.row('.selected');\n if (selectedRow.length) {\n let requestId = selectedRow.data()['id'];\n let removeOriginSaveRequestCallback = () => {\n let removeSaveRequestUrl = Urls.admin_origin_save_request_remove(requestId);\n csrfPost(removeSaveRequestUrl)\n .then(() => {\n requestTable.ajax.reload(null, false);\n });\n };\n\n swh.webapp.showModalConfirm(\n 'Remove origin save request ?',\n 'Are you sure to remove this origin save request ?',\n removeOriginSaveRequestCallback);\n }\n}\n\nexport function removePendingOriginSaveRequest() {\n removeOriginSaveRequest(pendingSaveRequestsTable);\n}\n\nexport function removeAcceptedOriginSaveRequest() {\n removeOriginSaveRequest(acceptedSaveRequestsTable);\n}\n\nexport function removeRejectedOriginSaveRequest() {\n removeOriginSaveRequest(rejectedSaveRequestsTable);\n}\n\nexport function displaySaveRequestInfo(event, saveRequestId) {\n event.stopPropagation();\n const saveRequestTaskInfoUrl = Urls.admin_origin_save_task_info(saveRequestId);\n $('.swh-save-request-info').popover('dispose');\n $(event.target).popover({\n 'title': 'Save request task information',\n 'content': `<div class=\"swh-popover\">\n <div class=\"text-center\">\n <img src=${swhSpinnerSrc}></img>\n <p>Fetching task information ...</p>\n </div>\n </div>`,\n 'html': true,\n 'placement': 'left',\n 'sanitizeFn': swh.webapp.filterXSS\n });\n $(event.target).popover('show');\n fetch(saveRequestTaskInfoUrl)\n .then(response => response.json())\n .then(saveRequestTaskInfo => {\n let content;\n if ($.isEmptyObject(saveRequestTaskInfo)) {\n content = 'Not available';\n } else {\n let saveRequestInfo = [];\n saveRequestInfo.push({\n key: 'Task type',\n value: saveRequestTaskInfo.type\n });\n if (saveRequestTaskInfo.hasOwnProperty('task_name')) {\n saveRequestInfo.push({\n key: 'Task name',\n value: saveRequestTaskInfo.name\n });\n }\n saveRequestInfo.push({\n key: 'Task arguments',\n value: JSON.stringify(saveRequestTaskInfo.arguments, null, 2)\n });\n saveRequestInfo.push({\n key: 'Task id',\n value: saveRequestTaskInfo.id\n });\n saveRequestInfo.push({\n key: 'Task backend id',\n value: saveRequestTaskInfo.backend_id\n });\n saveRequestInfo.push({\n key: 'Task scheduling date',\n value: new Date(saveRequestTaskInfo.scheduled).toLocaleString()\n });\n saveRequestInfo.push({\n key: 'Task termination date',\n value: new Date(saveRequestTaskInfo.ended).toLocaleString()\n });\n if (saveRequestTaskInfo.hasOwnProperty('duration')) {\n saveRequestInfo.push({\n key: 'Task duration',\n value: saveRequestTaskInfo.duration + ' s'\n });\n }\n if (saveRequestTaskInfo.hasOwnProperty('worker')) {\n saveRequestInfo.push({\n key: 'Task executor',\n value: saveRequestTaskInfo.worker\n });\n }\n if (saveRequestTaskInfo.hasOwnProperty('message')) {\n saveRequestInfo.push({\n key: 'Task log',\n value: saveRequestTaskInfo.message\n });\n }\n content = '<table class=\"table\"><tbody>';\n for (let info of saveRequestInfo) {\n content +=\n `<tr>\n <th class=\"swh-metadata-table-row swh-metadata-table-key\">${info.key}</th>\n <td class=\"swh-metadata-table-row swh-metadata-table-value\">\n <pre>${info.value}</pre>\n </td>\n </tr>`;\n }\n content += '</tbody></table>';\n }\n $('.swh-popover').html(content);\n $(event.target).popover('update');\n });\n}\n",
"/**\n * Copyright (C) 2018-2020 The Software Heritage developers\n * See the AUTHORS file at the top-level directory of this distribution\n * License: GNU Affero General Public License version 3, or any later version\n * See top-level LICENSE file for more information\n */\n\n// utility functions\n\nexport function handleFetchError(response) {\n if (!response.ok) {\n throw response;\n }\n return response;\n}\n\nexport function handleFetchErrors(responses) {\n for (let i = 0; i < responses.length; ++i) {\n if (!responses[i].ok) {\n throw responses[i];\n }\n }\n return responses;\n}\n\nexport function staticAsset(asset) {\n return `${__STATIC__}${asset}`;\n}\n\nexport function csrfPost(url, headers = {}, body = null) {\n headers['X-CSRFToken'] = Cookies.get('csrftoken');\n return fetch(url, {\n credentials: 'include',\n headers: headers,\n method: 'POST',\n body: body\n });\n}\n\nexport function isGitRepoUrl(url, domain) {\n let endOfPattern = '\\\\/[\\\\w\\\\.-]+\\\\/?(?!=.git)(?:\\\\.git(?:\\\\/?|\\\\#[\\\\w\\\\.\\\\-_]+)?)?$';\n let pattern = `(?:git|https?|git@)(?:\\\\:\\\\/\\\\/)?${domain}[/|:][A-Za-z0-9-/]+?` + endOfPattern;\n let re = new RegExp(pattern);\n return re.test(url);\n};\n\nexport function removeUrlFragment() {\n history.replaceState('', document.title, window.location.pathname + window.location.search);\n}\n\nexport function selectText(startNode, endNode) {\n let selection = window.getSelection();\n selection.removeAllRanges();\n let range = document.createRange();\n range.setStart(startNode, 0);\n if (endNode.nodeName !== '#text') {\n range.setEnd(endNode, endNode.childNodes.length);\n } else {\n range.setEnd(endNode, endNode.textContent.length);\n }\n selection.addRange(range);\n}\n\nexport function htmlAlert(type, message, closable = false) {\n let closeButton = '';\n let extraClasses = '';\n if (closable) {\n closeButton =\n `<button type=\"button\" class=\"close\" data-dismiss=\"alert\" aria-label=\"Close\">\n <span aria-hidden=\"true\">&times;</span>\n </button>`;\n extraClasses = 'alert-dismissible';\n }\n return `<div class=\"alert alert-${type} ${extraClasses}\" role=\"alert\">${message}${closeButton}</div>`;\n}\n",
"/**\n * Copyright (C) 2019 The Software Heritage developers\n * See the AUTHORS file at the top-level directory of this distribution\n * License: GNU Affero General Public License version 3, or any later version\n * See top-level LICENSE file for more information\n */\n\nimport {staticAsset} from 'utils/functions';\n\n// Constants defining Bootstrap Breakpoints\nexport const BREAKPOINT_SM = 768;\nexport const BREAKPOINT_MD = 992;\nexport const BREAKPOINT_LG = 1200;\n\nexport const swhSpinnerSrc = staticAsset('img/swh-spinner.gif');\n",
"/**\n * Copyright (C) 2018 The Software Heritage developers\n * See the AUTHORS file at the top-level directory of this distribution\n * License: GNU Affero General Public License version 3, or any later version\n * See top-level LICENSE file for more information\n */\n\nexport * from './deposit';\nexport * from './origin-save';\n"
],
"sourceRoot": ""
}

File Metadata

Mime Type
application/json
Expires
Fri, Jul 4, 5:48 PM (4 w, 4 h ago)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
3345953

Event Timeline