graphdb-workbench 2.1.0-RC1 → 2.1.0-RC2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (70) hide show
  1. package/dist/11.7d07164f552bc27c327e.bundle.js +1 -1
  2. package/dist/11.7d07164f552bc27c327e.bundle.js.map +1 -1
  3. package/dist/134.674fc334ea03aadba240.bundle.js +1 -1
  4. package/dist/134.674fc334ea03aadba240.bundle.js.map +1 -1
  5. package/dist/18.b39247b09bf69883801d.bundle.js +1 -1
  6. package/dist/18.b39247b09bf69883801d.bundle.js.map +1 -1
  7. package/dist/25.e39c618ca1d1636339cf.bundle.js +1 -1
  8. package/dist/25.e39c618ca1d1636339cf.bundle.js.map +1 -1
  9. package/dist/30.aa58eb05e16cb046b2bc.bundle.js +1 -1
  10. package/dist/30.aa58eb05e16cb046b2bc.bundle.js.map +1 -1
  11. package/dist/31.27bb6cb77874c106bdf3.bundle.js +1 -1
  12. package/dist/31.27bb6cb77874c106bdf3.bundle.js.map +1 -1
  13. package/dist/{5.53c0a20d56d6828fa504.bundle.js → 5.e6ebc1c858a5b922c8fb.bundle.js} +2 -2
  14. package/dist/5.e6ebc1c858a5b922c8fb.bundle.js.map +1 -0
  15. package/dist/73.86adae641bf117fce3fe.bundle.js +2 -0
  16. package/dist/73.86adae641bf117fce3fe.bundle.js.map +1 -0
  17. package/dist/75.9923d34e550b5358194c.bundle.js +2 -0
  18. package/dist/75.9923d34e550b5358194c.bundle.js.map +1 -0
  19. package/dist/77.4e84abd9b025b1812617.bundle.js +2 -0
  20. package/dist/77.4e84abd9b025b1812617.bundle.js.map +1 -0
  21. package/dist/78.b8fa389df60b30d1df18.bundle.js +2 -0
  22. package/dist/78.b8fa389df60b30d1df18.bundle.js.map +1 -0
  23. package/dist/82.5546d65e41f31a410b86.bundle.js +1 -1
  24. package/dist/82.5546d65e41f31a410b86.bundle.js.map +1 -1
  25. package/dist/{bundle.cca41098c7f6b7b6d221.bundle.js → bundle.49773f8bd1b7acd52299.bundle.js} +18 -18
  26. package/dist/bundle.49773f8bd1b7acd52299.bundle.js.map +1 -0
  27. package/dist/i18n/locale-en.json +8 -6
  28. package/dist/i18n/locale-fr.json +7 -6
  29. package/dist/index.html +3 -3
  30. package/dist/js/angular/core/directives/rdfresourcesearch/templates/rdfResourceSearchTemplate.html +1 -1
  31. package/dist/pages/autocomplete.html +1 -1
  32. package/dist/pages/choose-repository-type.html +1 -1
  33. package/dist/pages/cluster-management/clusterInfo.html +3 -3
  34. package/dist/pages/create-index.html +4 -4
  35. package/dist/pages/dependencies.html +1 -1
  36. package/dist/pages/domainRangeInfo.html +2 -2
  37. package/dist/pages/edit.html +1 -1
  38. package/dist/pages/explore.html +1 -1
  39. package/dist/pages/export.html +1 -1
  40. package/dist/pages/find.html +1 -1
  41. package/dist/pages/graph-config/saveGraphConfig.html +11 -11
  42. package/dist/pages/graphs-visualizations.html +7 -7
  43. package/dist/pages/guides.html +1 -1
  44. package/dist/pages/import.html +1 -1
  45. package/dist/pages/jdbc-create.html +5 -5
  46. package/dist/pages/monitor/queries.html +1 -1
  47. package/dist/pages/monitor/resources.html +2 -2
  48. package/dist/pages/namespaces.html +2 -2
  49. package/dist/pages/plugins.html +1 -1
  50. package/dist/pages/rdfClassHierarchyInfo.html +7 -7
  51. package/dist/pages/rdfrank.html +2 -2
  52. package/dist/pages/repositories.html +2 -2
  53. package/dist/pages/repository.html +3 -3
  54. package/dist/pages/similarity-indexes.html +1 -1
  55. package/dist/pages/sparql-template-create.html +5 -5
  56. package/dist/pages/sparql.html +3 -3
  57. package/dist/pages/webapi.html +2 -2
  58. package/dist/plugins.js +44 -17
  59. package/dist/res/swagger/index.html +27 -27
  60. package/package.json +1 -1
  61. package/dist/5.53c0a20d56d6828fa504.bundle.js.map +0 -1
  62. package/dist/73.cc31681a2d4d7c0fe2ba.bundle.js +0 -2
  63. package/dist/73.cc31681a2d4d7c0fe2ba.bundle.js.map +0 -1
  64. package/dist/75.f3535bf8818b4fe6d4ba.bundle.js +0 -2
  65. package/dist/75.f3535bf8818b4fe6d4ba.bundle.js.map +0 -1
  66. package/dist/77.4c80919e2b84b3b99cb9.bundle.js +0 -2
  67. package/dist/77.4c80919e2b84b3b99cb9.bundle.js.map +0 -1
  68. package/dist/78.be1f229c9fa413560a77.bundle.js +0 -2
  69. package/dist/78.be1f229c9fa413560a77.bundle.js.map +0 -1
  70. package/dist/bundle.cca41098c7f6b7b6d221.bundle.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["webpack:///./src/js/angular/import/app.js","webpack:///./src/js/angular/import/controllers.js","webpack:///./src/js/angular/import/directives.js"],"names":["angular","module","FILE_STATUS","importCtrl","controller","$scope","$http","toastr","$interval","$repositories","$modal","$filter","$jwtAuth","$location","$translate","LicenseRestService","files","fileChecked","checkAll","popoverTemplateUrl","fileQuery","getAppData","getInfo","success","data","appData","properties","i","length","key","source","value","maxUploadFileSizeMB","error","msg","getError","instant","fileFormats","gzs","_","map","f","basics","fileFormatsExtended","reduce","union","el","all","fileFormatsHuman","textFileFormatsHuman","filter","updateListHttp","force","method","url","getBaseUrl","forEach","type","defaultType","rebatch","remoteStatus","find","matches","name","status","assign","viewType","undefined","showClearStatuses","file","savedSettings","mapKeys","loader","warning","$watch","$","tabId","is","hash","updateList","canWriteActiveRepo","init","setRestricted","isRestricted","getSettings","$on","pullList","timer","updating","cancel","getVisibleFiles","getTypeFilter","showItems","selectAllFiles","importable","getSettingsFor","fileName","withDefaultSettings","isEmpty","copy","defaultSettings","setSettingsFor","settingsFor","settings","open","templateUrl","resolve","hasParserSettings","isLocalLocation","isMultiple","size","result","then","importSelected","importFile","updateImport","stopImport","params","hasImportable","showTable","switchBatch","batch","newFileChecked","each","getSelectedFiles","overrideSettings","selectedFileNames","importNext","shift","resetStatusOrRemoveEntry","names","remove","headers","resetStatus","resetStatusSelected","removeEntry","removeEntrySelected","location","getActiveLocation","local","filterSettings","filtered","omitBy","isNull","omit","keys","getActiveRepository","viewUrl","pritifySettings","JSON","stringify","toTitleCase","s","upperFirst","toLowerCase","$controller","extend","this","importServerFiles","importSettings","fileNames","Upload","currentFiles","fileSelected","$files","$file","$newFiles","$duplicateFiles","$invalidFiles","Math","floor","$watchCollection","substr","lastIndexOf","fileIdx","indexOf","splice","uniqBy","startImport","nextCallback","fileIndex","findIndex","format","message","finally","jsonBlob","upload","progress","evt","progressPercentage","parseInt","loaded","total","updateTextImport","pastedDataIdx","formattedDate","date","Date","getFullYear","padStart","getMonth","getDate","getHours","getMinutes","getSeconds","getMilliseconds","pasteData","text","unshift","rdfDataFromURL","scope","existing","$modalInstance","importFormat","dismiss","ok","close","dataUrl","importFormats","rdfText","setFormat","isCollapsed","changeHelpTemplate","templateFile","commonUrl","UriUtils","hasError","input","o","context","target","enableReplace","replaceGraphs","fixSettings","settingsForm","replaceGraph","$setValidity","$valid","reset","addReplaceGraph","graph","valid","isValidIri","$setTouched","push","checkEnterReplaceGraph","event","keyCode","preventDefault","showAdvancedSettings","switchParserSettings","importDirectives","directive","restrict","require","link","element","attr","ctrl","$parsers","has","append"],"mappings":"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","file":"31.27bb6cb77874c106bdf3.bundle.js","sourcesContent":["import 'angular/core/services';\nimport 'angular/core/directives';\nimport 'angular/import/controllers';\nimport 'angular/import/directives';\nimport 'angular/core/services/repositories.service';\nimport 'ng-file-upload/dist/ng-file-upload.min';\nimport 'ng-file-upload/dist/ng-file-upload-shim.min';\n\nconst modules = [\n 'toastr',\n 'ngRoute',\n 'ngFileUpload',\n 'ui.bootstrap',\n 'graphdb.framework.impex.import.directives',\n 'graphdb.framework.impex.import.controllers',\n 'graphdb.framework.core.services.repositories',\n 'graphdb.framework.core.directives'\n];\n\nangular.module('graphdb.framework.impex.import', modules);\n","import 'angular/core/services';\nimport 'angular/utils/uri-utils';\n\nconst FILE_STATUS = {\n 'UPLOADING': 'UPLOADING',\n 'PENDING': 'PENDING',\n 'ERROR': 'ERROR',\n 'DONE': 'DONE',\n 'NONE': 'NONE'\n};\n\nconst modules = [\n 'ui.bootstrap',\n 'toastr',\n 'graphdb.framework.core.services.repositories',\n 'graphdb.framework.utils.uriutils'\n];\n\nconst importCtrl = angular.module('graphdb.framework.impex.import.controllers', modules);\n\nimportCtrl.controller('CommonCtrl', ['$scope', '$http', 'toastr', '$interval', '$repositories', '$modal', '$filter', '$jwtAuth', '$location', '$translate', 'LicenseRestService',\n function ($scope, $http, toastr, $interval, $repositories, $modal, $filter, $jwtAuth, $location, $translate, LicenseRestService) {\n $scope.files = [];\n $scope.fileChecked = {};\n $scope.checkAll = false;\n $scope.popoverTemplateUrl = 'settingsPopoverTemplate.html';\n $scope.fileQuery = '';\n\n $scope.getAppData = function () {\n LicenseRestService.getInfo().success(function (data) {\n $scope.appData = {};\n\n $scope.appData.properties = {};\n\n for (let i = 0; i < data.length; i++) {\n $scope.appData.properties[data[i].key] = {\n source: data[i].source,\n value: data[i].value\n };\n }\n $scope.maxUploadFileSizeMB = $scope.appData.properties['graphdb.workbench.maxUploadSize'].value / (1024 * 1024);\n }).error(function (data) {\n const msg = getError(data);\n toastr.error(msg, $translate.instant('common.error'));\n });\n };\n\n $scope.getAppData();\n\n $scope.fileFormats = ['ttl', 'ttls', 'rdf', 'rj', 'n3', 'nt', 'nq', 'trig', 'trigs', 'trix', 'brf', 'owl', 'jsonld'];\n\n {\n const gzs = _.map($scope.fileFormats, function (f) {\n return '.' + f + '.gz';\n });\n const basics = _.map($scope.fileFormats, function (f) {\n return '.' + f;\n });\n $scope.fileFormatsExtended = _.reduce(_.union(gzs, basics, ['.zip']), function (el, all) {\n return el + ', ' + all;\n });\n $scope.fileFormatsHuman = _.reduce(basics, function (el, all) {\n return el + ' ' + all;\n }) + $translate.instant('import.gz.zip');\n $scope.textFileFormatsHuman = _.reduce(_.filter(basics, function (el) {\n return el !== '.brf';\n }),\n function (el, all) {\n return el + ' ' + all;\n });\n }\n\n $scope.updateListHttp = function (force) {\n $http({\n method: 'GET',\n url: $scope.getBaseUrl()\n }).success(function (data) {\n if ($scope.files.length === 0 || force) {\n $scope.files = data;\n _.forEach($scope.files, function (f) {\n if (!f.type) {\n f.type = $scope.defaultType;\n }\n });\n $scope.rebatch();\n } else {\n $scope.files.forEach(function (f) {\n const remoteStatus = _.find(data, _.matches({'name': f.name}));\n if (f.status && remoteStatus) {\n _.assign(f, remoteStatus);\n }\n if (!f.type) {\n f.type = $scope.defaultType;\n }\n });\n }\n // Need new status here\n if (force && 'user' === $scope.viewType) {\n $scope.files = _.filter($scope.files, function (f) {\n return f.status !== undefined;\n });\n }\n $scope.showClearStatuses = _.filter($scope.files, function (file) {\n return file.status === FILE_STATUS.DONE || file.status === FILE_STATUS.ERROR;\n }).length > 0;\n\n $scope.savedSettings = _.mapKeys(_.filter($scope.files, 'parserSettings'), 'name');\n\n $scope.loader = false;\n }).error(function (data) {\n toastr.warning($translate.instant('import.error.could.not.get.files', {data: getError(data)}));\n $scope.loader = false;\n });\n };\n\n // update the list instantly when the tab is changed\n $scope.$watch(function () {\n return $($scope.tabId).is(':visible');\n }, function () {\n if ($($scope.tabId).is(':visible')) {\n $scope.updateListHttp(false);\n $location.hash($scope.viewType);\n }\n });\n\n $scope.updateList = function (force) {\n if (!$scope.canWriteActiveRepo()) {\n return;\n }\n\n if (!$($scope.tabId).is(':visible')) {\n return;\n }\n $scope.updateListHttp(force);\n };\n\n $scope.init = function () {\n // Update restricted on repositoryIsSet\n $scope.setRestricted();\n if ($scope.isRestricted) {\n return;\n }\n $scope.updateList(true);\n $scope.getSettings();\n };\n\n $scope.$on('repositoryIsSet', $scope.init);\n\n $scope.pullList = function () {\n const timer = $interval(function () {\n // Skip iteration if we are updating something\n if (!$scope.updating) {\n $scope.updateList(false);\n }\n }, 4000);\n $scope.$on('$destroy', function () {\n $interval.cancel(timer);\n });\n };\n\n $scope.getVisibleFiles = function () {\n return $filter('filter')($scope.files, {name: $scope.fileQuery, type: $scope.getTypeFilter()});\n };\n\n $scope.getTypeFilter = function () {\n if ($scope.viewType === 'server' && ($scope.showItems === 'file' || $scope.showItems === 'directory')) {\n return $scope.showItems;\n } else {\n return '';\n }\n };\n\n $scope.selectAllFiles = function () {\n $scope.getVisibleFiles().forEach(function (file) {\n $scope.fileChecked[file.name] = $scope.checkAll && $scope.importable(file);\n });\n };\n\n $scope.getSettingsFor = function (fileName, withDefaultSettings) {\n if (!withDefaultSettings && !_.isEmpty(fileName) && !_.isEmpty($scope.savedSettings[fileName])) {\n return $scope.savedSettings[fileName];\n } else {\n return angular.copy($scope.defaultSettings);\n }\n };\n\n $scope.setSettingsFor = function (fileName, withDefaultSettings) {\n $scope.settingsFor = fileName;\n $scope.settings = $scope.getSettingsFor(fileName, withDefaultSettings);\n\n const modalInstance = $modal.open({\n templateUrl: 'js/angular/import/templates/settingsModal.html',\n controller: 'SettingsModalCtrl',\n resolve: {\n settings: function () {\n return angular.copy($scope.settings);\n },\n hasParserSettings: $scope.isLocalLocation,\n defaultSettings: function () {\n return $scope.defaultSettings;\n },\n isMultiple: function () {\n return !fileName;\n }\n },\n size: 'lg'\n });\n\n\n modalInstance.result.then(function (settings) {\n $scope.settings = settings;\n if ($scope.settingsFor === '') {\n $scope.importSelected();\n } else {\n $scope.importFile($scope.settingsFor, true);\n }\n\n }, function (settings) {\n $scope.settings = settings;\n });\n };\n\n $scope.updateImport = function (fileName, withDefaultSettings) {\n $scope.settingsFor = fileName;\n $scope.settings = $scope.getSettingsFor(fileName, withDefaultSettings);\n\n $scope.importFile(fileName, false);\n };\n\n $scope.stopImport = function (file) {\n $http({\n method: 'DELETE',\n url: $scope.getBaseUrl(),\n params: {name: file.name, type: file.type}\n }).success(function () {\n $scope.updateList();\n }).error(function (data) {\n toastr.warning($translate.instant('import.error.could.not.stop', {data: getError(data)}));\n });\n };\n\n $scope.importable = function () {\n return true;\n };\n\n $scope.hasImportable = function () {\n return _.filter($scope.files, function (f) {\n return $scope.importable(f);\n }).length > 0;\n };\n\n $scope.showTable = function () {\n const showTable = $scope.files.length > 0 && ('user' === $scope.viewType || 'server' === $scope.viewType);\n if ($scope.checkAll) {\n $scope.switchBatch(true);\n }\n return showTable;\n };\n\n $scope.switchBatch = function (all) {\n if (all) {\n $scope.selectAllFiles();\n } else {\n if ($scope.checkAll) {\n $scope.checkAll = false;\n }\n }\n $scope.batch = _.map(_.filter($scope.files, function (f) {\n return $scope.fileChecked[f.name] && $scope.importable(f);\n }), 'name').length > 0;\n };\n\n $scope.rebatch = function () {\n const newFileChecked = {};\n $scope.batch = false;\n _.each($scope.files, function (file) {\n newFileChecked[file.name] = $scope.fileChecked[file.name];\n $scope.batch |= $scope.fileChecked[file.name];\n });\n if (!$scope.batch) {\n $scope.checkAll = false;\n }\n $scope.fileChecked = newFileChecked;\n };\n\n $scope.getSelectedFiles = function () {\n return _.map(_.filter($scope.getVisibleFiles(), function (f) {\n return $scope.fileChecked[f.name] && $scope.importable(f);\n }), 'name');\n };\n\n $scope.importSelected = function (overrideSettings) {\n const selectedFileNames = $scope.getSelectedFiles();\n\n // Calls the REST API sequentially for the selected files\n const importNext = function () {\n const fileName = selectedFileNames.shift();\n if (fileName) {\n if (overrideSettings) {\n $scope.settings = $scope.getSettingsFor(fileName);\n }\n $scope.importFile(fileName, true, importNext);\n }\n };\n\n importNext();\n };\n\n const resetStatusOrRemoveEntry = function (names, remove) {\n $http({\n method: 'DELETE',\n url: $scope.getBaseUrl() + '/status',\n params: {remove: remove},\n data: names,\n headers: {'Content-type': 'application/json;charset=utf-8'}\n }).success(function () {\n $scope.updateList(true);\n }).error(function (data) {\n toastr.warning($translate.instant('import.error.could.not.clear', {data: getError(data)}));\n });\n };\n\n $scope.resetStatus = function (names) {\n resetStatusOrRemoveEntry(names, false);\n };\n\n $scope.resetStatusSelected = function () {\n $scope.resetStatus($scope.getSelectedFiles());\n };\n\n $scope.removeEntry = function (names) {\n resetStatusOrRemoveEntry(names, true);\n };\n\n $scope.removeEntrySelected = function () {\n $scope.removeEntry($scope.getSelectedFiles());\n };\n\n $scope.isLocalLocation = function () {\n const location = $repositories.getActiveLocation();\n return location && location.local;\n };\n // Settings\n\n $scope.filterSettings = function (fileName) {\n let filtered = _.omitBy($scope.savedSettings[fileName], _.isNull);\n filtered = _.omit(filtered, ['repoLocationHash', 'status', 'message', 'name', 'data', 'type', 'format', 'fileNames', '$$hashKey']);\n return _.map(_.keys(filtered), function (key) {\n return [key, filtered[key]];\n });\n };\n\n $scope.getSettings = function () {\n if (!$scope.canWriteActiveRepo()) {\n return;\n }\n\n $http({\n method: 'GET',\n url: 'rest/repositories/' + $repositories.getActiveRepository() + '/import/settings/default'\n }).success(function (data) {\n $scope.defaultSettings = data;\n }).error(function (data) {\n toastr.warning($translate.instant('import.error.default.settings', {data: getError(data)}));\n });\n };\n\n $scope.getBaseUrl = function () {\n return 'rest/repositories/' + $repositories.getActiveRepository() + '/import/' + $scope.viewUrl;\n };\n\n $scope.pritifySettings = function (settings) {\n return JSON.stringify(settings, null, ' ');\n };\n\n $scope.toTitleCase = function (s) {\n if (!s) {\n return s;\n }\n return _.upperFirst(s.toLowerCase());\n };\n }]);\n\nimportCtrl.controller('ImportCtrl', ['$scope', '$http', 'toastr', '$controller', function ($scope, $http, toastr, $controller) {\n $scope.loader = true;\n angular.extend(this, $controller('CommonCtrl', {$scope: $scope}));\n $scope.viewUrl = 'server';\n $scope.defaultType = 'server';\n $scope.tabId = '#import-server';\n $scope.showItems = 'all';\n\n $scope.pullList();\n\n const importServerFiles = function (selectedFileNames, overrideSettings) {\n if (!$scope.canWriteActiveRepo()) {\n return;\n }\n\n $http({\n method: 'POST',\n url: $scope.getBaseUrl(),\n data: {importSettings: overrideSettings ? null : $scope.settings, fileNames: selectedFileNames}\n }).success(function () {\n $scope.updateList();\n $scope.batch = false;\n $scope.fileChecked = {};\n }).error(function (data) {\n toastr.error($translate.instant('import.could.not.send.file', {data: getError(data)}));\n });\n };\n\n $scope.importSelected = function (overrideSettings) {\n const selectedFileNames = $scope.getSelectedFiles();\n importServerFiles(selectedFileNames, overrideSettings);\n };\n\n $scope.importFile = function (fileName) {\n importServerFiles([fileName]);\n };\n\n $scope.init();\n}]);\n\nimportCtrl.controller('UploadCtrl', ['$scope', 'Upload', '$http', 'toastr', '$controller', '$modal', '$translate', function ($scope, Upload, $http, toastr, $controller, $modal, $translate) {\n $scope.loader = true;\n angular.extend(this, $controller('CommonCtrl', {$scope: $scope}));\n $scope.viewUrl = 'upload';\n $scope.defaultType = 'file';\n $scope.tabId = '#import-user';\n\n $scope.pullList();\n\n $scope.currentFiles = [];\n\n $scope.importable = function () {\n return true;\n };\n\n $scope.fileSelected = function ($files, $file, $newFiles, $duplicateFiles, $invalidFiles) {\n if ($invalidFiles.length > 0) {\n $invalidFiles.forEach(function (f) {\n toastr.warning($translate.instant('import.large.file', {name: f.name, size: Math.floor(f.size / (1024 * 1024))}));\n });\n }\n };\n\n $scope.$watchCollection('currentFiles', function () {\n function disallowBZip2Files() {\n $scope.currentFiles.forEach(function (f) {\n if (f.name.substr(f.name.lastIndexOf('.') + 1) === 'bz2') {\n const fileIdx = $scope.currentFiles.indexOf(f);\n if (fileIdx > -1) {\n $scope.currentFiles.splice(fileIdx, 1);\n }\n toastr.error($translate.instant('import.could.not.upload', {name: f.name}));\n }\n });\n }\n\n if ($scope.currentFiles) {\n // RDF4J does not support decompressing .bz2 files so we want to reject importing them\n disallowBZip2Files();\n }\n $scope.files = _.uniqBy(\n _.union(\n _.map($scope.currentFiles, function (file) {\n return {name: file.name, type: 'file', file: file}\n }),\n $scope.files\n ),\n function (file) {\n return file.name;\n }\n );\n $scope.savedSettings = _.mapKeys(_.filter($scope.files, 'parserSettings'), 'name');\n _.each($scope.currentFiles, function (file) {\n $scope.updateImport(file.name);\n });\n });\n\n $scope.importFile = function (fileName, startImport, nextCallback) {\n const fileIndex = _.findIndex($scope.files, {name: fileName});\n if (fileIndex < 0) {\n toastr.warning($translate.instant('import.no.such.file', {name: fileName}));\n } else {\n const file = $scope.files[fileIndex];\n if (file.type === 'text') {\n // Import text snippet\n $scope.settings.name = file.name;\n $scope.settings.type = file.type;\n $scope.settings.data = file.data;\n $scope.settings.format = file.format;\n file.status = FILE_STATUS.PENDING;\n $http({\n method: 'POST',\n url: $scope.getBaseUrl() + (startImport ? '' : '/update') + '/text',\n data: $scope.settings\n }).success(function () {\n $scope.updateList();\n }).error(function (data) {\n toastr.error($translate.instant('import.could.not.send.data', {data: getError(data)}));\n file.status = FILE_STATUS.ERROR;\n file.message = getError(data);\n }).finally(nextCallback || function () {\n });\n } else if (file.type === 'url') {\n // Submit URL\n $scope.settings.name = file.name;\n $scope.settings.type = file.type;\n $scope.settings.data = file.data;\n $scope.settings.format = file.format;\n file.status = FILE_STATUS.PENDING;\n $http({\n method: 'POST',\n url: $scope.getBaseUrl() + (startImport ? '' : '/update') + '/url',\n data: $scope.settings\n }).success(function () {\n $scope.updateList();\n }).error(function (data) {\n toastr.error($translate.instant('import.could.not.send.url', {data: getError(data)}));\n }).finally(nextCallback || function () {\n });\n } else {\n // Upload real file\n $scope.settings.name = file.name;\n let data;\n if (file.file) {\n data = {file: file.file, importSettings: Upload.jsonBlob($scope.settings)};\n } else {\n data = {importSettings: Upload.jsonBlob($scope.settings)};\n }\n Upload.upload({\n url: $scope.getBaseUrl() + (startImport ? '' : '/update') + '/file',\n data: data\n }).progress(function (evt) {\n if (file.file) {\n file.file = null;\n file.status = FILE_STATUS.UPLOADING;\n } else if (file.status !== FILE_STATUS.UPLOADING) {\n file.status = FILE_STATUS.PENDING;\n }\n\n if (file.status === FILE_STATUS.UPLOADING) {\n const progressPercentage = parseInt(100.0 * evt.loaded / evt.total);\n file.message = progressPercentage + '% uploaded';\n }\n }).success(function () {\n $scope.updateList();\n }).error(function (data) {\n toastr.error($translate.instant('import.could.not.upload.file', {data: getError(data)}));\n file.status = FILE_STATUS.ERROR;\n file.message = getError(data);\n }).finally(nextCallback || function () {\n });\n }\n }\n };\n\n $scope.updateTextImport = function (settings) {\n $scope.updating = true;\n $http({\n method: 'POST',\n url: $scope.getBaseUrl() + '/update/text',\n data: settings\n }).success(function (data) {\n }).error(function (data) {\n toastr.error($translate.instant('import.could.not.update.text', {data: getError(data)}));\n }).finally(function () {\n $scope.updating = false;\n });\n };\n\n $scope.pastedDataIdx = 1;\n\n const formattedDate = function () {\n const date = new Date();\n return date.getFullYear() + '-' + _.padStart(date.getMonth() + 1, 2, '0') + '-' + _.padStart(date.getDate(), 2, '0')\n + ' ' + _.padStart(date.getHours(), 2, '0') + ':' + _.padStart(date.getMinutes(), 2, '0') + ':' + _.padStart(date.getSeconds(), 2, '0')\n + '.' + _.padStart(date.getMilliseconds(), 3, '0');\n };\n\n $scope.pasteData = function (file) {\n const scope = {};\n if (file) {\n scope.rdfText = file.data;\n }\n const modalInstance = $modal.open({\n templateUrl: 'js/angular/import/templates/textSnippet.html',\n controller: 'TextCtrl',\n resolve: {\n text: function () {\n return file ? file.data : '';\n },\n format: function () {\n return file ? file.format : 'text/turtle';\n }\n }\n });\n\n modalInstance.result.then(function (data) {\n if (file) {\n if ((file.data !== data.text || file.format !== data.format) && file.status !== FILE_STATUS.NONE) {\n file.status = FILE_STATUS.NONE;\n file.message = $translate.instant('import.text.snippet.not.imported');\n }\n file.data = data.text;\n file.format = data.format;\n $scope.updateTextImport(file);\n } else {\n file = {type: 'text', name: 'Text snippet ' + formattedDate(), format: data.format, data: data.text};\n $scope.files.unshift(file);\n $scope.updateImport(file.name);\n }\n if (data.startImport) {\n $scope.setSettingsFor(file.name);\n }\n });\n };\n\n $scope.rdfDataFromURL = function () {\n const modalInstance = $modal.open({\n templateUrl: 'js/angular/import/templates/urlImport.html',\n controller: 'UrlCtrl',\n scope: $scope\n });\n\n modalInstance.result.then(function (data) {\n // URL may already exist\n const existing = _.find($scope.files, {type: 'url', name: data.url});\n if (existing) {\n existing.format = data.format;\n } else {\n $scope.files.unshift({type: 'url', name: data.url, format: data.format, data: data.url});\n }\n $scope.updateImport(data.url, true);\n if (data.startImport) {\n $scope.setSettingsFor(data.url, true);\n }\n });\n };\n\n $scope.init();\n}]);\n\nimportCtrl.controller('UrlCtrl', ['$scope', '$modalInstance', 'toastr', function ($scope, $modalInstance) {\n $scope.importFormat = {name: 'Auto', type: ''};\n $scope.startImport = true;\n\n $scope.cancel = function () {\n $modalInstance.dismiss();\n };\n\n $scope.ok = function () {\n $modalInstance.close({\n url: $scope.dataUrl,\n format: $scope.importFormat.type,\n startImport: $scope.startImport\n });\n };\n}]);\n\nimportCtrl.controller('TextCtrl', ['$scope', '$modalInstance', 'text', 'format', function ($scope, $modalInstance, text, format) {\n $scope.importFormats = [\n {name: 'RDF/JSON', type: 'application/rdf+json'},\n {name: 'JSON-LD', type: 'application/ld+json'},\n {name: 'RDF/XML', type: 'application/rdf+xml'},\n {name: 'N3', type: 'text/rdf+n3'},\n {name: 'N-Triples', type: 'text/plain'},\n {name: 'N-Quads', type: 'text/x-nquads'},\n {name: 'Turtle', type: 'text/turtle'},\n {name: 'Turtle*', type: 'application/x-turtlestar'},\n {name: 'TriX', type: 'application/trix'},\n {name: 'TriG', type: 'application/x-trig'},\n {name: 'TriG*', type: 'application/x-trigstar'},\n ];\n\n $scope.rdfText = text;\n $scope.importFormat = _.find($scope.importFormats, {type: format});\n $scope.startImport = true;\n\n $scope.setFormat = function (format) {\n $scope.importFormat = format;\n };\n\n $scope.cancel = function () {\n $modalInstance.dismiss();\n };\n\n $scope.ok = function () {\n $modalInstance.close({\n text: $scope.rdfText,\n format: $scope.importFormat.type,\n startImport: $scope.startImport\n });\n };\n}]);\n\nimportCtrl.controller('TabCtrl', ['$scope', '$location', function ($scope, $location) {\n $scope.viewType = $location.hash();\n if ($scope.viewType !== 'user' && $scope.viewType !== 'server') {\n $scope.viewType = 'user';\n }\n $scope.isCollapsed = false;\n if ($scope.viewType === 'user') {\n $scope.templateUrl = 'js/angular/import/templates/uploadInfo.html';\n } else {\n $scope.templateUrl = 'js/angular/import/templates/importInfo.html';\n }\n $scope.changeHelpTemplate = function (templateFile) {\n $scope.templateUrl = 'js/angular/import/templates/' + templateFile;\n };\n $scope.commonUrl = 'js/angular/import/templates/commonInfo.html';\n}]);\n\nimportCtrl.controller('SettingsModalCtrl', ['$scope', '$modalInstance', 'toastr', 'UriUtils', 'settings', 'hasParserSettings', 'defaultSettings', 'isMultiple', '$translate',\n function ($scope, $modalInstance, toastr, UriUtils, settings, hasParserSettings, defaultSettings, isMultiple, $translate) {\n $scope.hasError = function (error, input) {\n return _.find(error, function (o) {\n return input === o['$name'];\n });\n };\n\n $scope.settings = settings;\n $scope.hasParserSettings = hasParserSettings;\n if ($scope.settings.context) {\n if ($scope.settings.context === 'default') {\n $scope.target = 'default';\n $scope.settings.context = '';\n } else {\n $scope.target = 'named';\n }\n } else {\n $scope.target = 'data';\n }\n $scope.isMultiple = isMultiple;\n $scope.enableReplace = !!($scope.settings.replaceGraphs && $scope.settings.replaceGraphs.length);\n\n const fixSettings = function () {\n if ($scope.target === 'default') {\n $scope.settings.context = 'default';\n } else if ($scope.target === 'data') {\n $scope.settings.context = '';\n }\n if ($scope.enableReplace) {\n if ($scope.target === 'default' || $scope.target === 'named') {\n $scope.settings.replaceGraphs = [$scope.settings.context];\n }\n } else {\n $scope.settings.replaceGraphs = [];\n }\n };\n\n $scope.ok = function () {\n // resets the validity of a field only used for temporary things\n $scope.settingsForm.replaceGraph.$setValidity('replaceGraph', true);\n\n if ($scope.settingsForm.$valid) {\n fixSettings();\n $modalInstance.close($scope.settings);\n }\n };\n\n $scope.cancel = function () {\n fixSettings();\n $modalInstance.dismiss($scope.settings);\n };\n\n $scope.reset = function () {\n $scope.settings = angular.copy(defaultSettings);\n $scope.target = 'data';\n };\n\n $scope.addReplaceGraph = function (graph) {\n let valid = true;\n if (graph !== 'default') {\n valid = UriUtils.isValidIri(graph);\n }\n $scope.settingsForm.replaceGraph.$setTouched();\n $scope.settingsForm.replaceGraph.$setValidity('replaceGraph', valid);\n\n if ($scope.settingsForm.replaceGraph.$valid) {\n $scope.settings.replaceGraphs = $scope.settings.replaceGraphs || [];\n if (_.indexOf($scope.settings.replaceGraphs, graph) === -1) {\n $scope.replaceGraph = '';\n $scope.settings.replaceGraphs.push(graph);\n } else {\n toastr.warning($translate.instant('import.graph.already.in.list'));\n }\n }\n };\n\n $scope.checkEnterReplaceGraph = function (event, graph) {\n if (event.keyCode === 13) {\n event.preventDefault();\n\n $scope.addReplaceGraph(graph);\n }\n };\n\n $scope.showAdvancedSettings = false;\n $scope.switchParserSettings = function () {\n $scope.showAdvancedSettings = !$scope.showAdvancedSettings;\n };\n}]);\n","import 'angular/core/services';\nimport 'angular/utils/uri-utils';\n\nconst importDirectives = angular.module('graphdb.framework.impex.import.directives', [\n 'graphdb.framework.utils.uriutils'\n]);\n\nimportDirectives.directive('validateUri', ['UriUtils', function (UriUtils) {\n return {\n restrict: 'A',\n require: 'ngModel',\n link: function (scope, element, attr, ctrl) {\n ctrl.$parsers.unshift(function (value) {\n let valid = true;\n\n if (scope.target === 'named') {\n valid = UriUtils.isValidIri(value);\n }\n\n ctrl.$setValidity('validateUri', valid);\n\n return value;\n });\n }\n };\n}]);\n\nimportDirectives.directive('filesTable', function () {\n return {\n restrict: 'A',\n templateUrl: 'js/angular/import/templates/filesTable.html'\n };\n});\n\nimportDirectives.directive('filesOntoLoader', function () {\n return {\n link: function (scope, element, attr) {\n scope.$watch('file.status', function () {\n if (scope.file.status === 'IMPORTING' || scope.file.status === 'UPLOADING') {\n if (!$(element).has('object').length > 0) {\n $(element).append('<object width=\"' + attr.size + '\" height=\"' + attr.size + '\" data=\"js/angular/templates/loader/ot-loader.svg?v=2.1.0-RC1\">{{\\'common.loading\\' | translate}}</object>');\n }\n }\n });\n }\n };\n});\n"],"sourceRoot":""}
1
+ {"version":3,"sources":["webpack:///./src/js/angular/import/app.js","webpack:///./src/js/angular/import/controllers.js","webpack:///./src/js/angular/import/directives.js"],"names":["angular","module","FILE_STATUS","importCtrl","controller","$scope","$http","toastr","$interval","$repositories","$modal","$filter","$jwtAuth","$location","$translate","LicenseRestService","files","fileChecked","checkAll","popoverTemplateUrl","fileQuery","getAppData","getInfo","success","data","appData","properties","i","length","key","source","value","maxUploadFileSizeMB","error","msg","getError","instant","fileFormats","gzs","_","map","f","basics","fileFormatsExtended","reduce","union","el","all","fileFormatsHuman","textFileFormatsHuman","filter","updateListHttp","force","method","url","getBaseUrl","forEach","type","defaultType","rebatch","remoteStatus","find","matches","name","status","assign","viewType","undefined","showClearStatuses","file","savedSettings","mapKeys","loader","warning","$watch","$","tabId","is","hash","updateList","canWriteActiveRepo","init","setRestricted","isRestricted","getSettings","$on","pullList","timer","updating","cancel","getVisibleFiles","getTypeFilter","showItems","selectAllFiles","importable","getSettingsFor","fileName","withDefaultSettings","isEmpty","copy","defaultSettings","setSettingsFor","settingsFor","settings","open","templateUrl","resolve","hasParserSettings","isLocalLocation","isMultiple","size","result","then","importSelected","importFile","updateImport","stopImport","params","hasImportable","showTable","switchBatch","batch","newFileChecked","each","getSelectedFiles","overrideSettings","selectedFileNames","importNext","shift","resetStatusOrRemoveEntry","names","remove","headers","resetStatus","resetStatusSelected","removeEntry","removeEntrySelected","location","getActiveLocation","local","filterSettings","filtered","omitBy","isNull","omit","keys","getActiveRepository","viewUrl","pritifySettings","JSON","stringify","toTitleCase","s","upperFirst","toLowerCase","$controller","extend","this","importServerFiles","importSettings","fileNames","Upload","currentFiles","fileSelected","$files","$file","$newFiles","$duplicateFiles","$invalidFiles","Math","floor","$watchCollection","substr","lastIndexOf","fileIdx","indexOf","splice","uniqBy","startImport","nextCallback","fileIndex","findIndex","format","message","finally","jsonBlob","upload","progress","evt","progressPercentage","parseInt","loaded","total","updateTextImport","pastedDataIdx","formattedDate","date","Date","getFullYear","padStart","getMonth","getDate","getHours","getMinutes","getSeconds","getMilliseconds","pasteData","text","unshift","rdfDataFromURL","scope","existing","$modalInstance","importFormat","dismiss","ok","close","dataUrl","importFormats","rdfText","setFormat","isCollapsed","changeHelpTemplate","templateFile","commonUrl","UriUtils","hasError","input","o","context","target","enableReplace","replaceGraphs","fixSettings","settingsForm","replaceGraph","$setValidity","$valid","reset","addReplaceGraph","graph","valid","isValidIri","$setTouched","push","checkEnterReplaceGraph","event","keyCode","preventDefault","showAdvancedSettings","switchParserSettings","importDirectives","directive","restrict","require","link","element","attr","ctrl","$parsers","has","append"],"mappings":"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","file":"31.27bb6cb77874c106bdf3.bundle.js","sourcesContent":["import 'angular/core/services';\nimport 'angular/core/directives';\nimport 'angular/import/controllers';\nimport 'angular/import/directives';\nimport 'angular/core/services/repositories.service';\nimport 'ng-file-upload/dist/ng-file-upload.min';\nimport 'ng-file-upload/dist/ng-file-upload-shim.min';\n\nconst modules = [\n 'toastr',\n 'ngRoute',\n 'ngFileUpload',\n 'ui.bootstrap',\n 'graphdb.framework.impex.import.directives',\n 'graphdb.framework.impex.import.controllers',\n 'graphdb.framework.core.services.repositories',\n 'graphdb.framework.core.directives'\n];\n\nangular.module('graphdb.framework.impex.import', modules);\n","import 'angular/core/services';\nimport 'angular/utils/uri-utils';\n\nconst FILE_STATUS = {\n 'UPLOADING': 'UPLOADING',\n 'PENDING': 'PENDING',\n 'ERROR': 'ERROR',\n 'DONE': 'DONE',\n 'NONE': 'NONE'\n};\n\nconst modules = [\n 'ui.bootstrap',\n 'toastr',\n 'graphdb.framework.core.services.repositories',\n 'graphdb.framework.utils.uriutils'\n];\n\nconst importCtrl = angular.module('graphdb.framework.impex.import.controllers', modules);\n\nimportCtrl.controller('CommonCtrl', ['$scope', '$http', 'toastr', '$interval', '$repositories', '$modal', '$filter', '$jwtAuth', '$location', '$translate', 'LicenseRestService',\n function ($scope, $http, toastr, $interval, $repositories, $modal, $filter, $jwtAuth, $location, $translate, LicenseRestService) {\n $scope.files = [];\n $scope.fileChecked = {};\n $scope.checkAll = false;\n $scope.popoverTemplateUrl = 'settingsPopoverTemplate.html';\n $scope.fileQuery = '';\n\n $scope.getAppData = function () {\n LicenseRestService.getInfo().success(function (data) {\n $scope.appData = {};\n\n $scope.appData.properties = {};\n\n for (let i = 0; i < data.length; i++) {\n $scope.appData.properties[data[i].key] = {\n source: data[i].source,\n value: data[i].value\n };\n }\n $scope.maxUploadFileSizeMB = $scope.appData.properties['graphdb.workbench.maxUploadSize'].value / (1024 * 1024);\n }).error(function (data) {\n const msg = getError(data);\n toastr.error(msg, $translate.instant('common.error'));\n });\n };\n\n $scope.getAppData();\n\n $scope.fileFormats = ['ttl', 'ttls', 'rdf', 'rj', 'n3', 'nt', 'nq', 'trig', 'trigs', 'trix', 'brf', 'owl', 'jsonld'];\n\n {\n const gzs = _.map($scope.fileFormats, function (f) {\n return '.' + f + '.gz';\n });\n const basics = _.map($scope.fileFormats, function (f) {\n return '.' + f;\n });\n $scope.fileFormatsExtended = _.reduce(_.union(gzs, basics, ['.zip']), function (el, all) {\n return el + ', ' + all;\n });\n $scope.fileFormatsHuman = _.reduce(basics, function (el, all) {\n return el + ' ' + all;\n }) + $translate.instant('import.gz.zip');\n $scope.textFileFormatsHuman = _.reduce(_.filter(basics, function (el) {\n return el !== '.brf';\n }),\n function (el, all) {\n return el + ' ' + all;\n });\n }\n\n $scope.updateListHttp = function (force) {\n $http({\n method: 'GET',\n url: $scope.getBaseUrl()\n }).success(function (data) {\n if ($scope.files.length === 0 || force) {\n $scope.files = data;\n _.forEach($scope.files, function (f) {\n if (!f.type) {\n f.type = $scope.defaultType;\n }\n });\n $scope.rebatch();\n } else {\n $scope.files.forEach(function (f) {\n const remoteStatus = _.find(data, _.matches({'name': f.name}));\n if (f.status && remoteStatus) {\n _.assign(f, remoteStatus);\n }\n if (!f.type) {\n f.type = $scope.defaultType;\n }\n });\n }\n // Need new status here\n if (force && 'user' === $scope.viewType) {\n $scope.files = _.filter($scope.files, function (f) {\n return f.status !== undefined;\n });\n }\n $scope.showClearStatuses = _.filter($scope.files, function (file) {\n return file.status === FILE_STATUS.DONE || file.status === FILE_STATUS.ERROR;\n }).length > 0;\n\n $scope.savedSettings = _.mapKeys(_.filter($scope.files, 'parserSettings'), 'name');\n\n $scope.loader = false;\n }).error(function (data) {\n toastr.warning($translate.instant('import.error.could.not.get.files', {data: getError(data)}));\n $scope.loader = false;\n });\n };\n\n // update the list instantly when the tab is changed\n $scope.$watch(function () {\n return $($scope.tabId).is(':visible');\n }, function () {\n if ($($scope.tabId).is(':visible')) {\n $scope.updateListHttp(false);\n $location.hash($scope.viewType);\n }\n });\n\n $scope.updateList = function (force) {\n if (!$scope.canWriteActiveRepo()) {\n return;\n }\n\n if (!$($scope.tabId).is(':visible')) {\n return;\n }\n $scope.updateListHttp(force);\n };\n\n $scope.init = function () {\n // Update restricted on repositoryIsSet\n $scope.setRestricted();\n if ($scope.isRestricted) {\n return;\n }\n $scope.updateList(true);\n $scope.getSettings();\n };\n\n $scope.$on('repositoryIsSet', $scope.init);\n\n $scope.pullList = function () {\n const timer = $interval(function () {\n // Skip iteration if we are updating something\n if (!$scope.updating) {\n $scope.updateList(false);\n }\n }, 4000);\n $scope.$on('$destroy', function () {\n $interval.cancel(timer);\n });\n };\n\n $scope.getVisibleFiles = function () {\n return $filter('filter')($scope.files, {name: $scope.fileQuery, type: $scope.getTypeFilter()});\n };\n\n $scope.getTypeFilter = function () {\n if ($scope.viewType === 'server' && ($scope.showItems === 'file' || $scope.showItems === 'directory')) {\n return $scope.showItems;\n } else {\n return '';\n }\n };\n\n $scope.selectAllFiles = function () {\n $scope.getVisibleFiles().forEach(function (file) {\n $scope.fileChecked[file.name] = $scope.checkAll && $scope.importable(file);\n });\n };\n\n $scope.getSettingsFor = function (fileName, withDefaultSettings) {\n if (!withDefaultSettings && !_.isEmpty(fileName) && !_.isEmpty($scope.savedSettings[fileName])) {\n return $scope.savedSettings[fileName];\n } else {\n return angular.copy($scope.defaultSettings);\n }\n };\n\n $scope.setSettingsFor = function (fileName, withDefaultSettings) {\n $scope.settingsFor = fileName;\n $scope.settings = $scope.getSettingsFor(fileName, withDefaultSettings);\n\n const modalInstance = $modal.open({\n templateUrl: 'js/angular/import/templates/settingsModal.html',\n controller: 'SettingsModalCtrl',\n resolve: {\n settings: function () {\n return angular.copy($scope.settings);\n },\n hasParserSettings: $scope.isLocalLocation,\n defaultSettings: function () {\n return $scope.defaultSettings;\n },\n isMultiple: function () {\n return !fileName;\n }\n },\n size: 'lg'\n });\n\n\n modalInstance.result.then(function (settings) {\n $scope.settings = settings;\n if ($scope.settingsFor === '') {\n $scope.importSelected();\n } else {\n $scope.importFile($scope.settingsFor, true);\n }\n\n }, function (settings) {\n $scope.settings = settings;\n });\n };\n\n $scope.updateImport = function (fileName, withDefaultSettings) {\n $scope.settingsFor = fileName;\n $scope.settings = $scope.getSettingsFor(fileName, withDefaultSettings);\n\n $scope.importFile(fileName, false);\n };\n\n $scope.stopImport = function (file) {\n $http({\n method: 'DELETE',\n url: $scope.getBaseUrl(),\n params: {name: file.name, type: file.type}\n }).success(function () {\n $scope.updateList();\n }).error(function (data) {\n toastr.warning($translate.instant('import.error.could.not.stop', {data: getError(data)}));\n });\n };\n\n $scope.importable = function () {\n return true;\n };\n\n $scope.hasImportable = function () {\n return _.filter($scope.files, function (f) {\n return $scope.importable(f);\n }).length > 0;\n };\n\n $scope.showTable = function () {\n const showTable = $scope.files.length > 0 && ('user' === $scope.viewType || 'server' === $scope.viewType);\n if ($scope.checkAll) {\n $scope.switchBatch(true);\n }\n return showTable;\n };\n\n $scope.switchBatch = function (all) {\n if (all) {\n $scope.selectAllFiles();\n } else {\n if ($scope.checkAll) {\n $scope.checkAll = false;\n }\n }\n $scope.batch = _.map(_.filter($scope.files, function (f) {\n return $scope.fileChecked[f.name] && $scope.importable(f);\n }), 'name').length > 0;\n };\n\n $scope.rebatch = function () {\n const newFileChecked = {};\n $scope.batch = false;\n _.each($scope.files, function (file) {\n newFileChecked[file.name] = $scope.fileChecked[file.name];\n $scope.batch |= $scope.fileChecked[file.name];\n });\n if (!$scope.batch) {\n $scope.checkAll = false;\n }\n $scope.fileChecked = newFileChecked;\n };\n\n $scope.getSelectedFiles = function () {\n return _.map(_.filter($scope.getVisibleFiles(), function (f) {\n return $scope.fileChecked[f.name] && $scope.importable(f);\n }), 'name');\n };\n\n $scope.importSelected = function (overrideSettings) {\n const selectedFileNames = $scope.getSelectedFiles();\n\n // Calls the REST API sequentially for the selected files\n const importNext = function () {\n const fileName = selectedFileNames.shift();\n if (fileName) {\n if (overrideSettings) {\n $scope.settings = $scope.getSettingsFor(fileName);\n }\n $scope.importFile(fileName, true, importNext);\n }\n };\n\n importNext();\n };\n\n const resetStatusOrRemoveEntry = function (names, remove) {\n $http({\n method: 'DELETE',\n url: $scope.getBaseUrl() + '/status',\n params: {remove: remove},\n data: names,\n headers: {'Content-type': 'application/json;charset=utf-8'}\n }).success(function () {\n $scope.updateList(true);\n }).error(function (data) {\n toastr.warning($translate.instant('import.error.could.not.clear', {data: getError(data)}));\n });\n };\n\n $scope.resetStatus = function (names) {\n resetStatusOrRemoveEntry(names, false);\n };\n\n $scope.resetStatusSelected = function () {\n $scope.resetStatus($scope.getSelectedFiles());\n };\n\n $scope.removeEntry = function (names) {\n resetStatusOrRemoveEntry(names, true);\n };\n\n $scope.removeEntrySelected = function () {\n $scope.removeEntry($scope.getSelectedFiles());\n };\n\n $scope.isLocalLocation = function () {\n const location = $repositories.getActiveLocation();\n return location && location.local;\n };\n // Settings\n\n $scope.filterSettings = function (fileName) {\n let filtered = _.omitBy($scope.savedSettings[fileName], _.isNull);\n filtered = _.omit(filtered, ['repoLocationHash', 'status', 'message', 'name', 'data', 'type', 'format', 'fileNames', '$$hashKey']);\n return _.map(_.keys(filtered), function (key) {\n return [key, filtered[key]];\n });\n };\n\n $scope.getSettings = function () {\n if (!$scope.canWriteActiveRepo()) {\n return;\n }\n\n $http({\n method: 'GET',\n url: 'rest/repositories/' + $repositories.getActiveRepository() + '/import/settings/default'\n }).success(function (data) {\n $scope.defaultSettings = data;\n }).error(function (data) {\n toastr.warning($translate.instant('import.error.default.settings', {data: getError(data)}));\n });\n };\n\n $scope.getBaseUrl = function () {\n return 'rest/repositories/' + $repositories.getActiveRepository() + '/import/' + $scope.viewUrl;\n };\n\n $scope.pritifySettings = function (settings) {\n return JSON.stringify(settings, null, ' ');\n };\n\n $scope.toTitleCase = function (s) {\n if (!s) {\n return s;\n }\n return _.upperFirst(s.toLowerCase());\n };\n }]);\n\nimportCtrl.controller('ImportCtrl', ['$scope', '$http', 'toastr', '$controller', function ($scope, $http, toastr, $controller) {\n $scope.loader = true;\n angular.extend(this, $controller('CommonCtrl', {$scope: $scope}));\n $scope.viewUrl = 'server';\n $scope.defaultType = 'server';\n $scope.tabId = '#import-server';\n $scope.showItems = 'all';\n\n $scope.pullList();\n\n const importServerFiles = function (selectedFileNames, overrideSettings) {\n if (!$scope.canWriteActiveRepo()) {\n return;\n }\n\n $http({\n method: 'POST',\n url: $scope.getBaseUrl(),\n data: {importSettings: overrideSettings ? null : $scope.settings, fileNames: selectedFileNames}\n }).success(function () {\n $scope.updateList();\n $scope.batch = false;\n $scope.fileChecked = {};\n }).error(function (data) {\n toastr.error($translate.instant('import.could.not.send.file', {data: getError(data)}));\n });\n };\n\n $scope.importSelected = function (overrideSettings) {\n const selectedFileNames = $scope.getSelectedFiles();\n importServerFiles(selectedFileNames, overrideSettings);\n };\n\n $scope.importFile = function (fileName) {\n importServerFiles([fileName]);\n };\n\n $scope.init();\n}]);\n\nimportCtrl.controller('UploadCtrl', ['$scope', 'Upload', '$http', 'toastr', '$controller', '$modal', '$translate', function ($scope, Upload, $http, toastr, $controller, $modal, $translate) {\n $scope.loader = true;\n angular.extend(this, $controller('CommonCtrl', {$scope: $scope}));\n $scope.viewUrl = 'upload';\n $scope.defaultType = 'file';\n $scope.tabId = '#import-user';\n\n $scope.pullList();\n\n $scope.currentFiles = [];\n\n $scope.importable = function () {\n return true;\n };\n\n $scope.fileSelected = function ($files, $file, $newFiles, $duplicateFiles, $invalidFiles) {\n if ($invalidFiles.length > 0) {\n $invalidFiles.forEach(function (f) {\n toastr.warning($translate.instant('import.large.file', {name: f.name, size: Math.floor(f.size / (1024 * 1024))}));\n });\n }\n };\n\n $scope.$watchCollection('currentFiles', function () {\n function disallowBZip2Files() {\n $scope.currentFiles.forEach(function (f) {\n if (f.name.substr(f.name.lastIndexOf('.') + 1) === 'bz2') {\n const fileIdx = $scope.currentFiles.indexOf(f);\n if (fileIdx > -1) {\n $scope.currentFiles.splice(fileIdx, 1);\n }\n toastr.error($translate.instant('import.could.not.upload', {name: f.name}));\n }\n });\n }\n\n if ($scope.currentFiles) {\n // RDF4J does not support decompressing .bz2 files so we want to reject importing them\n disallowBZip2Files();\n }\n $scope.files = _.uniqBy(\n _.union(\n _.map($scope.currentFiles, function (file) {\n return {name: file.name, type: 'file', file: file}\n }),\n $scope.files\n ),\n function (file) {\n return file.name;\n }\n );\n $scope.savedSettings = _.mapKeys(_.filter($scope.files, 'parserSettings'), 'name');\n _.each($scope.currentFiles, function (file) {\n $scope.updateImport(file.name);\n });\n });\n\n $scope.importFile = function (fileName, startImport, nextCallback) {\n const fileIndex = _.findIndex($scope.files, {name: fileName});\n if (fileIndex < 0) {\n toastr.warning($translate.instant('import.no.such.file', {name: fileName}));\n } else {\n const file = $scope.files[fileIndex];\n if (file.type === 'text') {\n // Import text snippet\n $scope.settings.name = file.name;\n $scope.settings.type = file.type;\n $scope.settings.data = file.data;\n $scope.settings.format = file.format;\n file.status = FILE_STATUS.PENDING;\n $http({\n method: 'POST',\n url: $scope.getBaseUrl() + (startImport ? '' : '/update') + '/text',\n data: $scope.settings\n }).success(function () {\n $scope.updateList();\n }).error(function (data) {\n toastr.error($translate.instant('import.could.not.send.data', {data: getError(data)}));\n file.status = FILE_STATUS.ERROR;\n file.message = getError(data);\n }).finally(nextCallback || function () {\n });\n } else if (file.type === 'url') {\n // Submit URL\n $scope.settings.name = file.name;\n $scope.settings.type = file.type;\n $scope.settings.data = file.data;\n $scope.settings.format = file.format;\n file.status = FILE_STATUS.PENDING;\n $http({\n method: 'POST',\n url: $scope.getBaseUrl() + (startImport ? '' : '/update') + '/url',\n data: $scope.settings\n }).success(function () {\n $scope.updateList();\n }).error(function (data) {\n toastr.error($translate.instant('import.could.not.send.url', {data: getError(data)}));\n }).finally(nextCallback || function () {\n });\n } else {\n // Upload real file\n $scope.settings.name = file.name;\n let data;\n if (file.file) {\n data = {file: file.file, importSettings: Upload.jsonBlob($scope.settings)};\n } else {\n data = {importSettings: Upload.jsonBlob($scope.settings)};\n }\n Upload.upload({\n url: $scope.getBaseUrl() + (startImport ? '' : '/update') + '/file',\n data: data\n }).progress(function (evt) {\n if (file.file) {\n file.file = null;\n file.status = FILE_STATUS.UPLOADING;\n } else if (file.status !== FILE_STATUS.UPLOADING) {\n file.status = FILE_STATUS.PENDING;\n }\n\n if (file.status === FILE_STATUS.UPLOADING) {\n const progressPercentage = parseInt(100.0 * evt.loaded / evt.total);\n file.message = progressPercentage + '% uploaded';\n }\n }).success(function () {\n $scope.updateList();\n }).error(function (data) {\n toastr.error($translate.instant('import.could.not.upload.file', {data: getError(data)}));\n file.status = FILE_STATUS.ERROR;\n file.message = getError(data);\n }).finally(nextCallback || function () {\n });\n }\n }\n };\n\n $scope.updateTextImport = function (settings) {\n $scope.updating = true;\n $http({\n method: 'POST',\n url: $scope.getBaseUrl() + '/update/text',\n data: settings\n }).success(function (data) {\n }).error(function (data) {\n toastr.error($translate.instant('import.could.not.update.text', {data: getError(data)}));\n }).finally(function () {\n $scope.updating = false;\n });\n };\n\n $scope.pastedDataIdx = 1;\n\n const formattedDate = function () {\n const date = new Date();\n return date.getFullYear() + '-' + _.padStart(date.getMonth() + 1, 2, '0') + '-' + _.padStart(date.getDate(), 2, '0')\n + ' ' + _.padStart(date.getHours(), 2, '0') + ':' + _.padStart(date.getMinutes(), 2, '0') + ':' + _.padStart(date.getSeconds(), 2, '0')\n + '.' + _.padStart(date.getMilliseconds(), 3, '0');\n };\n\n $scope.pasteData = function (file) {\n const scope = {};\n if (file) {\n scope.rdfText = file.data;\n }\n const modalInstance = $modal.open({\n templateUrl: 'js/angular/import/templates/textSnippet.html',\n controller: 'TextCtrl',\n resolve: {\n text: function () {\n return file ? file.data : '';\n },\n format: function () {\n return file ? file.format : 'text/turtle';\n }\n }\n });\n\n modalInstance.result.then(function (data) {\n if (file) {\n if ((file.data !== data.text || file.format !== data.format) && file.status !== FILE_STATUS.NONE) {\n file.status = FILE_STATUS.NONE;\n file.message = $translate.instant('import.text.snippet.not.imported');\n }\n file.data = data.text;\n file.format = data.format;\n $scope.updateTextImport(file);\n } else {\n file = {type: 'text', name: 'Text snippet ' + formattedDate(), format: data.format, data: data.text};\n $scope.files.unshift(file);\n $scope.updateImport(file.name);\n }\n if (data.startImport) {\n $scope.setSettingsFor(file.name);\n }\n });\n };\n\n $scope.rdfDataFromURL = function () {\n const modalInstance = $modal.open({\n templateUrl: 'js/angular/import/templates/urlImport.html',\n controller: 'UrlCtrl',\n scope: $scope\n });\n\n modalInstance.result.then(function (data) {\n // URL may already exist\n const existing = _.find($scope.files, {type: 'url', name: data.url});\n if (existing) {\n existing.format = data.format;\n } else {\n $scope.files.unshift({type: 'url', name: data.url, format: data.format, data: data.url});\n }\n $scope.updateImport(data.url, true);\n if (data.startImport) {\n $scope.setSettingsFor(data.url, true);\n }\n });\n };\n\n $scope.init();\n}]);\n\nimportCtrl.controller('UrlCtrl', ['$scope', '$modalInstance', 'toastr', function ($scope, $modalInstance) {\n $scope.importFormat = {name: 'Auto', type: ''};\n $scope.startImport = true;\n\n $scope.cancel = function () {\n $modalInstance.dismiss();\n };\n\n $scope.ok = function () {\n $modalInstance.close({\n url: $scope.dataUrl,\n format: $scope.importFormat.type,\n startImport: $scope.startImport\n });\n };\n}]);\n\nimportCtrl.controller('TextCtrl', ['$scope', '$modalInstance', 'text', 'format', function ($scope, $modalInstance, text, format) {\n $scope.importFormats = [\n {name: 'RDF/JSON', type: 'application/rdf+json'},\n {name: 'JSON-LD', type: 'application/ld+json'},\n {name: 'RDF/XML', type: 'application/rdf+xml'},\n {name: 'N3', type: 'text/rdf+n3'},\n {name: 'N-Triples', type: 'text/plain'},\n {name: 'N-Quads', type: 'text/x-nquads'},\n {name: 'Turtle', type: 'text/turtle'},\n {name: 'Turtle*', type: 'application/x-turtlestar'},\n {name: 'TriX', type: 'application/trix'},\n {name: 'TriG', type: 'application/x-trig'},\n {name: 'TriG*', type: 'application/x-trigstar'},\n ];\n\n $scope.rdfText = text;\n $scope.importFormat = _.find($scope.importFormats, {type: format});\n $scope.startImport = true;\n\n $scope.setFormat = function (format) {\n $scope.importFormat = format;\n };\n\n $scope.cancel = function () {\n $modalInstance.dismiss();\n };\n\n $scope.ok = function () {\n $modalInstance.close({\n text: $scope.rdfText,\n format: $scope.importFormat.type,\n startImport: $scope.startImport\n });\n };\n}]);\n\nimportCtrl.controller('TabCtrl', ['$scope', '$location', function ($scope, $location) {\n $scope.viewType = $location.hash();\n if ($scope.viewType !== 'user' && $scope.viewType !== 'server') {\n $scope.viewType = 'user';\n }\n $scope.isCollapsed = false;\n if ($scope.viewType === 'user') {\n $scope.templateUrl = 'js/angular/import/templates/uploadInfo.html';\n } else {\n $scope.templateUrl = 'js/angular/import/templates/importInfo.html';\n }\n $scope.changeHelpTemplate = function (templateFile) {\n $scope.templateUrl = 'js/angular/import/templates/' + templateFile;\n };\n $scope.commonUrl = 'js/angular/import/templates/commonInfo.html';\n}]);\n\nimportCtrl.controller('SettingsModalCtrl', ['$scope', '$modalInstance', 'toastr', 'UriUtils', 'settings', 'hasParserSettings', 'defaultSettings', 'isMultiple', '$translate',\n function ($scope, $modalInstance, toastr, UriUtils, settings, hasParserSettings, defaultSettings, isMultiple, $translate) {\n $scope.hasError = function (error, input) {\n return _.find(error, function (o) {\n return input === o['$name'];\n });\n };\n\n $scope.settings = settings;\n $scope.hasParserSettings = hasParserSettings;\n if ($scope.settings.context) {\n if ($scope.settings.context === 'default') {\n $scope.target = 'default';\n $scope.settings.context = '';\n } else {\n $scope.target = 'named';\n }\n } else {\n $scope.target = 'data';\n }\n $scope.isMultiple = isMultiple;\n $scope.enableReplace = !!($scope.settings.replaceGraphs && $scope.settings.replaceGraphs.length);\n\n const fixSettings = function () {\n if ($scope.target === 'default') {\n $scope.settings.context = 'default';\n } else if ($scope.target === 'data') {\n $scope.settings.context = '';\n }\n if ($scope.enableReplace) {\n if ($scope.target === 'default' || $scope.target === 'named') {\n $scope.settings.replaceGraphs = [$scope.settings.context];\n }\n } else {\n $scope.settings.replaceGraphs = [];\n }\n };\n\n $scope.ok = function () {\n // resets the validity of a field only used for temporary things\n $scope.settingsForm.replaceGraph.$setValidity('replaceGraph', true);\n\n if ($scope.settingsForm.$valid) {\n fixSettings();\n $modalInstance.close($scope.settings);\n }\n };\n\n $scope.cancel = function () {\n fixSettings();\n $modalInstance.dismiss($scope.settings);\n };\n\n $scope.reset = function () {\n $scope.settings = angular.copy(defaultSettings);\n $scope.target = 'data';\n };\n\n $scope.addReplaceGraph = function (graph) {\n let valid = true;\n if (graph !== 'default') {\n valid = UriUtils.isValidIri(graph);\n }\n $scope.settingsForm.replaceGraph.$setTouched();\n $scope.settingsForm.replaceGraph.$setValidity('replaceGraph', valid);\n\n if ($scope.settingsForm.replaceGraph.$valid) {\n $scope.settings.replaceGraphs = $scope.settings.replaceGraphs || [];\n if (_.indexOf($scope.settings.replaceGraphs, graph) === -1) {\n $scope.replaceGraph = '';\n $scope.settings.replaceGraphs.push(graph);\n } else {\n toastr.warning($translate.instant('import.graph.already.in.list'));\n }\n }\n };\n\n $scope.checkEnterReplaceGraph = function (event, graph) {\n if (event.keyCode === 13) {\n event.preventDefault();\n\n $scope.addReplaceGraph(graph);\n }\n };\n\n $scope.showAdvancedSettings = false;\n $scope.switchParserSettings = function () {\n $scope.showAdvancedSettings = !$scope.showAdvancedSettings;\n };\n}]);\n","import 'angular/core/services';\nimport 'angular/utils/uri-utils';\n\nconst importDirectives = angular.module('graphdb.framework.impex.import.directives', [\n 'graphdb.framework.utils.uriutils'\n]);\n\nimportDirectives.directive('validateUri', ['UriUtils', function (UriUtils) {\n return {\n restrict: 'A',\n require: 'ngModel',\n link: function (scope, element, attr, ctrl) {\n ctrl.$parsers.unshift(function (value) {\n let valid = true;\n\n if (scope.target === 'named') {\n valid = UriUtils.isValidIri(value);\n }\n\n ctrl.$setValidity('validateUri', valid);\n\n return value;\n });\n }\n };\n}]);\n\nimportDirectives.directive('filesTable', function () {\n return {\n restrict: 'A',\n templateUrl: 'js/angular/import/templates/filesTable.html'\n };\n});\n\nimportDirectives.directive('filesOntoLoader', function () {\n return {\n link: function (scope, element, attr) {\n scope.$watch('file.status', function () {\n if (scope.file.status === 'IMPORTING' || scope.file.status === 'UPLOADING') {\n if (!$(element).has('object').length > 0) {\n $(element).append('<object width=\"' + attr.size + '\" height=\"' + attr.size + '\" data=\"js/angular/templates/loader/ot-loader.svg?v=2.1.0-RC2\">{{\\'common.loading\\' | translate}}</object>');\n }\n }\n });\n }\n };\n});\n"],"sourceRoot":""}
@@ -1,2 +1,2 @@
1
- (window.webpackJsonp=window.webpackJsonp||[]).push([[5,98],{47:function(e,t,o){"use strict";o.r(t),o.d(t,"STATIC_RULESETS",(function(){return i})),o.d(t,"REPOSITORY_TYPES",(function(){return n})),o.d(t,"FILENAME_PATTERN",(function(){return r})),o.d(t,"NUMBER_PATTERN",(function(){return a}));const i=[{id:"empty",name:"No inference"},{id:"rdfs-optimized",name:"RDFS (Optimized)"},{id:"rdfs",name:"RDFS"},{id:"rdfsplus-optimized",name:"RDFS-Plus (Optimized)"},{id:"owl-horst-optimized",name:"OWL-Horst (Optimized)"},{id:"owl-horst",name:"OWL-Horst"},{id:"owl2-ql-optimized",name:"OWL2-QL (Optimized)"},{id:"owl2-ql",name:"OWL2-QL"},{id:"owl-max-optimized",name:"OWL-Max (Optimized)"},{id:"owl-max",name:"OWL-Max"},{id:"owl2-rl-optimized",name:"OWL2-RL (Optimized)"},{id:"owl2-rl",name:"OWL2-RL"}],n={graphdbRepo:"graphdb",free:"free",eeWorker:"worker",eeMaster:"master",ontop:"ontop",se:"se",fedx:"fedx"},r=new RegExp("^[a-zA-Z0-9-_]+$"),a=new RegExp("^[0-9]+$")},52:function(e,t,o){"use strict";o.r(t),o.d(t,"getFileName",(function(){return r}));var i=o(47),n=o(0);const r=function(e){let t=e.lastIndexOf("/");-1===t&&(t=e.lastIndexOf("\\"));let o=e;return-1!==t&&(o=o.substring(t+1)),o},a=function(e){e&&(e.queryTimeout&&(e.queryTimeout.value=parseInt(e.queryTimeout.value)),e.queryLimitResults&&e.validationResultsLimitTotal&&e.validationResultsLimitPerConstraint?(e.queryLimitResults.value=parseInt(e.queryLimitResults.value),e.validationResultsLimitTotal.value=parseInt(e.validationResultsLimitTotal.value),e.validationResultsLimitPerConstraint.value=parseInt(e.validationResultsLimitPerConstraint.value)):e.leftJoinWorkerThreads&&e.boundJoinBlockSize&&e.joinWorkerThreads&&e.unionWorkerThreads&&(e.leftJoinWorkerThreads.value=parseInt(e.leftJoinWorkerThreads.value),e.boundJoinBlockSize.value=parseInt(e.boundJoinBlockSize.value),e.joinWorkerThreads.value=parseInt(e.joinWorkerThreads.value),e.unionWorkerThreads.value=parseInt(e.unionWorkerThreads.value)))},s=function(){const e=document.getElementById("shaclOptions");if(e){const t=e.getAttribute("aria-expanded");if(t&&"true"===t)return"fa fa-angle-down"}return"fa fa-angle-right"},l=function(e,t){e.queryTimeout&&(t.isInvalidQueryTimeout=!i.NUMBER_PATTERN.test(e.queryTimeout.value)),e.validationResultsLimitTotal&&e.validationResultsLimitPerConstraint&&e.queryLimitResults?(t.isInvalidValidationResultsLimitTotal=!i.NUMBER_PATTERN.test(e.validationResultsLimitTotal.value),t.isInvalidValidationResultsLimitPerConstraint=!i.NUMBER_PATTERN.test(e.validationResultsLimitPerConstraint.value),t.isInvalidQueryLimit=!i.NUMBER_PATTERN.test(e.queryLimitResults.value)):e.leftJoinWorkerThreads&&e.boundJoinBlockSize&&e.joinWorkerThreads&&e.unionWorkerThreads&&(t.isInvalidLeftJoinWorkerThreads=!i.NUMBER_PATTERN.test(e.leftJoinWorkerThreads.value),t.isInvalidBoundJoinBlockSize=!i.NUMBER_PATTERN.test(e.boundJoinBlockSize.value),t.isInvalidJoinWorkerThreads=!i.NUMBER_PATTERN.test(e.joinWorkerThreads.value),t.isInvalidUnionWorkerThreads=!i.NUMBER_PATTERN.test(e.unionWorkerThreads.value))},c=function(e,t){return"isInvalidQueryLimit"===e?t.instant("invalid.query.limit"):"isInvalidQueryTimeout"===e?t.instant("invalid.query.timeout"):"isInvalidValidationResultsLimitTotal"===e?t.instant("invalid.validation.results.limit.total"):"isInvalidValidationResultsLimitPerConstraint"===e?t.instant("invalid.validation.results.limit.per.constraint"):"isInvalidJoinWorkerThreads"===e?t.instant("invalid.join.worker.threads"):"isInvalidLeftJoinWorkerThreads"===e?t.instant("invalid.left.join.worker.threads"):"isInvalidUnionWorkerThreads"===e?t.instant("invalid.union.worker.threads"):"isInvalidBoundJoinBlockSize"===e?t.instant("invalid.bound.join.block.size"):void 0},d=function(e,t){const o=Object.keys(e),i=Object.values(e);for(let e=0;e<o.length;e++)if(i[e])return c(o[e],t);return""},u=function(e){return"https://graphdb.ontotext.com/documentation/"+e.productShortVersion},p=function(e){return e.getLocations().then(e=>e.filter(e=>!e.errorMsg&&!e.degradedReason))};function f(e,t,o,r,a,s,l,c,d,u,p,f,m){e.loader=!0,e.isLocationInactive=function(t){return!t.active||!e.hasActiveLocation()};const v=f.defer();function y(){return a.getLocations(v).then(t=>{e.locations=t}).finally(()=>e.loader=!1)}e.hasActiveLocation=function(){return a.hasActiveLocation()},e.getActiveLocation=function(){return a.getActiveLocation()},e.getLocationError=function(){return a.getLocationError()},e.getDegradedReason=function(){return a.getDegradedReason()},e.getRepositories=function(){return a.getRepositories()},e.isRepoActive=function(e){return a.isRepoActive(e)},e.deleteLocation=function(t){s.openSimpleModal({title:p.instant("location.confirm.detach"),message:p.instant("location.confirm.detach.warning",{uri:t}),warning:!0}).result.then((function(){e.loader=!0,a.deleteLocation(t).finally(()=>y())}))},e.addLocationHttp=function(t){e.loader=!0,c.addLocation(t).success((function(){a.init()})).error((function(e){const t=getError(e);r.error(t,p.instant("common.error"))})).finally(()=>y())},e.addLocation=function(){o.open({templateUrl:"js/angular/templates/modal/add-location.html",windowClass:"addLocationDialog",controller:"AddLocationCtrl"}).result.then((function(t){e.addLocationHttp(t)}))},e.editLocationHttp=function(t){e.loader=!0,c.editLocation(t).success((function(){a.init()})).error((function(e){const t=getError(e);r.error(t,p.instant("common.error"))})).finally(()=>y())},e.editLocation=function(t){o.open({templateUrl:"js/angular/templates/modal/edit-location.html",controller:"EditLocationCtrl",resolve:{location:function(){return t}}}).result.then((function(t){e.editLocationHttp(t)}),(function(){}))},e.setRepository=function(e){a.setRepository(e)},e.deleteRepository=function(t){s.openSimpleModal({title:p.instant("common.confirm.delete"),message:Object(n.decodeHTML)(p.instant("delete.repo.warning.msg",{repositoryId:t.id})),warning:!0}).result.then((function(){e.loader=!0,a.deleteRepository(t).finally(()=>{y()}),function(e){const t="dependencies-selectedGraph-"+e.id,o="classHierarchy-selectedGraph-"+e.id;angular.forEach(d.keys(),(function(e){(e.startsWith(o)||e.startsWith(t))&&d.remove(e)}))}(t)}))},e.restartRepository=function(t){s.openSimpleModal({title:p.instant("confirm.restart.repo"),message:Object(n.decodeHTML)(p.instant("confirm.restart.repo.warning.msg",{repositoryId:t.id})),warning:!0}).result.then((function(){e.loader=!0,a.restartRepository(t).finally(()=>y())}))},e.toggleDefaultRepository=function(t){e.getDefaultRepository()===t?a.setDefaultRepository(null):a.setDefaultRepository(t)},e.getDefaultRepository=function(){return a.getDefaultRepository()},e.getRepositoryDownloadLink=function(e){let t=`rest/repositories/${e.id}${e.type===i.REPOSITORY_TYPES.ontop?"/download-zip":"/download-ttl"}?location=${e.location}`;const o=l.getAuthToken();return o&&(t=`${t}&authToken=${encodeURIComponent(o)}`),t},e.copyToClipboard=function(e){s.openCopyToClipboardModal(e)},e.fromFile=function(){o.open({templateUrl:"js/angular/templates/modal/upload-repository-config.html",controller:"UploadRepositoryConfigCtrl"}).result.then((function(){a.init()}))},e.openActiveLocationSettings=function(){o.open({templateUrl:"js/angular/settings/modal/location-settings.html",controller:"ActiveLocationSettingsCtrl"})},y();const R=u((function(){m.isActive()&&!t.guidePaused||(a.initQuick(),y())}),5e3);e.$on("$destroy",(function(){u.cancel(R),v&&v.resolve()})),e.getRepositoriesFromLocation=function(e){return a.getRepositoriesFromLocation(e)}}function m(e,t,o,i,n){e.upload=function(t){t&&t.length&&(e.uploadFile=t[0])},e.ok=function(){e.uploadFile&&(e.uploadFileLoader=!0,o.upload({url:"rest/repositories",method:"POST",data:{config:e.uploadFile}}).success((function(){e.uploadFileLoader=!1,t.close()})).error((function(t){const o=getError(t);i.error(o,n.instant("common.error")),e.uploadFileLoader=!1})))},e.cancel=function(){t.dismiss("cancel")}}function v(e,t,o,i,n){e.newLocation={uri:"",authType:"none",username:"",password:"",active:!1},e.docBase=u(i),e.isValidLocation=function(){return(e.newLocation.uri.length<6||0===e.newLocation.uri.indexOf("http:")||0===e.newLocation.uri.indexOf("https:"))&&e.newLocation.uri.indexOf("/repositories")<=-1},e.ok=function(){e.newLocation?t.close(e.newLocation):o.error(n.instant("location.cannot.be.empty.error"))},e.cancel=function(){t.dismiss("cancel")}}function y(e,t,o,i){e.editedLocation=angular.copy(o),e.docBase=u(i),e.ok=function(){t.close(e.editedLocation)},e.cancel=function(){t.dismiss("cancel")}}function R(e,t){e.repositoryTypes=i.REPOSITORY_TYPES,e.chooseRepositoryType=function(e){t.path(`${t.path()}/${e}`)}}function T(e,t,o,n,r,c,u,f,m){var v;e.rulesets=i.STATIC_RULESETS.slice(),e.repositoryTypes=i.REPOSITORY_TYPES,e.params=u,e.repositoryType=u.repositoryType,e.enable=!0,e.loader=!0,e.pageTitle=m.instant("view.create.repo.title"),e.repositoryInfo={id:"",params:{},title:"",type:"",location:""},e.invalidValues={isInvalidQueryTimeout:!1,isInvalidQueryLimit:!1,isInvalidLeftJoinWorkerThreads:!1,isInvalidBoundJoinBlockSize:!1,isInvalidJoinWorkerThreads:!1,isInvalidUnionWorkerThreads:!1,isInvalidValidationResultsLimitPerConstraint:!1,isInvalidValidationResultsLimitTotal:!1},p(o).then(t=>{e.locations=t}),e.changedLocation=function(){e.$broadcast("changedLocation")},e.getConfig=function(o){f.getRepositoryConfiguration(o).success((function(t){var o;e.repositoryInfo.params=t.params,e.repositoryInfo.type=t.type,a(e.repositoryInfo.params),(o=e.repositoryInfo.params)&&o.member&&(o.member.value=[]),e.loader=!1,r((function(){angular.element(document).find("#id").focus()}),50)})).error((function(o){const i=getError(o);t.error(i,m.instant("common.error")),e.loader=!1}))},e.repositoryType&&(function(t){return e.isEnterprise()&&t===i.REPOSITORY_TYPES.graphdbRepo}(v=e.repositoryType)||function(t){return!e.isFreeEdition()&&!e.isEnterprise()&&t===i.REPOSITORY_TYPES.graphdbRepo}(v)||function(t){return e.isFreeEdition()&&t===i.REPOSITORY_TYPES.graphdbRepo}(v)||function(e){return e===i.REPOSITORY_TYPES.ontop}(v)||function(e){return e===i.REPOSITORY_TYPES.fedx}(v))?(e.repositoryInfo.type=e.repositoryType,e.getConfig(e.repositoryType),function(t){switch(t){case i.REPOSITORY_TYPES.graphdbRepo:e.pageTitle=m.instant("view.create.repo.title",{repoType:"GraphDB"});break;case i.REPOSITORY_TYPES.ontop:e.pageTitle=m.instant("view.create.repo.title",{repoType:"Ontop Virtual SPARQL"});break;case i.REPOSITORY_TYPES.fedx:e.pageTitle=m.instant("view.create.repo.title",{repoType:"FedX Virtual SPARQL"})}}(e.repositoryType)):n.path("/repository/create"),e.hasActiveLocation=function(){return o.hasActiveLocation()},e.activeLocation=function(){return o.getActiveLocation()};let y=!1;e.uploadRuleset=function(o){o&&o.length&&(e.uploadFile=o[0],e.uploadFileLoader=!0,c.upload({url:"rest/repositories/ruleset/upload",data:{ruleset:e.uploadFile,location:e.repositoryInfo.location}}).progress((function(e){})).success((function(o){if(o.success){const t=e.uploadFile.name,i={id:o.fileLocation,name:"Custom: "+t};e.rulesetPie?e.rulesets[0]=i:e.rulesets.unshift(i),e.rulesetPie=o.fileLocation,e.rulesetPieFile=t,e.repositoryInfo.params.ruleset.value=e.rulesetPie}else t.error(o.errorMessage),y=!0;e.uploadFileLoader=!1})).error((function(o){const i=getError(o);t.error(i,m.instant("common.error")),e.uploadFile="",e.uploadFileLoader=!1})))},e.noMembersError=function(){t.error(m.instant("fedx.create.repo.no.members.warning"))},e.goBackToPreviousLocation=function(){angular.isDefined(u.previous)?(delete n.$$search.previous,n.path("/")):n.path("/repository")},e.createRepoHttp=function(){e.loader=!0,f.createRepository(e.repositoryInfo).then((function(){t.success(m.instant("created.repo.success.msg",{repoId:e.repositoryInfo.id})),o.init().finally(()=>e.goBackToPreviousLocation())})).catch((function(e){const o=getError(e.data);t.error(o,m.instant("common.error"))})).finally(()=>e.loader=!1)},e.createRepo=function(){if(!e.repositoryInfo.id)return void t.error(m.instant("empty.repoid.warning"));e.isInvalidRepoName=!i.FILENAME_PATTERN.test(e.repositoryInfo.id),l(e.repositoryInfo.params,e.invalidValues);const o=d(e.invalidValues,m);y?t.error(m.instant("invalid.ruleset.file.error")):e.isInvalidRepoName?t.error(m.instant("wrong.repo.name.error")):"fedx"===e.repositoryType&&0===e.repositoryInfo.params.member.value.length?e.noMembersError():o?t.error(o):e.createRepoHttp()},e.rulesetWarning=function(){const t=e.repositoryInfo.params;return void 0===t||void 0===t.ruleset||void 0===t.disableSameAs?"":0===t.ruleset.value.indexOf("owl")&&"true"===t.disableSameAs.value?m.instant("repoTooltips.rulesetWarnings.needsSameAs"):0===t.ruleset.value.indexOf("rdfs")&&"false"===t.disableSameAs.value?m.instant("repoTooltips.rulesetWarnings.doesntNeedSameAs"):t.ruleset.value===e.rulesetPie?m.instant("repoTooltips.rulesetWarnings.customRuleset"):""},e.validateNumberInput=function(){l(e.repositoryInfo.params,e.invalidValues)},e.getShaclOptionsClass=function(){return s()},e.autofocusId="autofocus"}function g(e,t,o,i,n,r){i&&o.getRepositoryFileContent(i).success((function(t){e.fileContent=t})).error((function(e){const t=getError(e);n.error(t,r.instant("common.error"))})),e.ok=function(){t.close({content:e.fileContent,fileLocation:i})},e.cancel=function(){t.dismiss("cancel")}}function I(e,t,o,c,u,f,m,v){e.rulesets=i.STATIC_RULESETS.slice(),e.repositoryTypes=i.REPOSITORY_TYPES,e.editRepoPage=!0,e.canEditRepoId=!1,e.params=t,e.loader=!0,e.repositoryInfo={},e.repositoryInfo.id=e.params.repositoryId,e.repositoryInfo.location=e.params.location,e.repositoryInfo.restartRequested=!1,e.repositoryType="",e.saveRepoId=e.params.repositoryId,e.pageTitle=v.instant("view.edit.repo.title",{repositoryId:e.params.repositoryId}),e.invalidValues={isInvalidQueryTimeout:!1,isInvalidQueryLimit:!1,isInvalidLeftJoinWorkerThreads:!1,isInvalidBoundJoinBlockSize:!1,isInvalidJoinWorkerThreads:!1,isInvalidUnionWorkerThreads:!1,isInvalidValidationResultsLimitPerConstraint:!1,isInvalidValidationResultsLimitTotal:!1},e.hasActiveLocation=function(){return c.hasActiveLocation()},e.$watch(e.hasActiveLocation,(function(){e.hasActiveLocation&&p(c).then(t=>(e.locations=t,m.getRepository(e.repositoryInfo))).then((function(t){const o=t.data;if(angular.isDefined(o.params.ruleset)){let t=!1;if(angular.forEach(e.rulesets,(function(e){e.id===o.params.ruleset.value&&(t=!0)})),o.params.ruleset&&!t){const t=r(o.params.ruleset.value);e.rulesets.unshift({id:o.params.ruleset.value,name:"Custom: "+t})}}e.repositoryInfo=o,e.setRepositoryType(o.type),a(e.repositoryInfo.params),e.repositoryInfo.saveId=e.saveRepoId,e.loader=!1})).catch((function(i){const r=i.data,a=i.status,s=t.repositoryId;let l;l=404===a&&"system"!==s?Object(n.decodeHTML)(v.instant("edit.repo.error.not.exists",{repositoryId:s})):404===a&&"system"===s?Object(n.decodeHTML)(v.instant("edit.system.repo.warning")):getError(r),o.error(l,v.instant("common.error"),{allowHtml:!0}),404===a?setTimeout((function(){e.loader=!1,u.path("repository")}),1e3):e.loader=!1}))})),e.setRepositoryType=function(t){e.repositoryType=t},e.noMembersError=function(){o.error(v.instant("fedx.create.repo.no.members.warning"))},e.editRepoHttp=function(){e.loader=!0,m.editRepository(e.repositoryInfo.saveId,e.repositoryInfo).success((function(){o.success(v.instant("edit.repo.success.msg",{saveId:e.repositoryInfo.saveId})),c.init().finally(()=>e.goBackToPreviousLocation()),e.repositoryInfo.saveId===e.repositoryInfo.id&&e.repositoryInfo.restartRequested&&c.restartRepository(e.repositoryInfo.id)})).error((function(t){const i=getError(t);o.error(i,v.instant("common.error")),e.loader=!1}))},e.editRepository=function(){e.isInvalidRepoName=!i.FILENAME_PATTERN.test(e.repositoryInfo.id),l(e.repositoryInfo.params,e.invalidValues);const t=d(e.invalidValues,v);let r=Object(n.decodeHTML)(v.instant("edit.repo.save.changes.msg",{repoId:e.repositoryInfo.id}));e.repositoryInfo.saveId!==e.repositoryInfo.id?r+=Object(n.decodeHTML)(v.instant("edit.repo.rename.changes.msg")):e.repositoryInfo.restartRequested?r+=Object(n.decodeHTML)(v.instant("edit.repo.restart.requested.msg")):r+=Object(n.decodeHTML)(v.instant("edit.repo.restart.needed.msg")),e.isInvalidRepoName?o.error(v.instant("wrong.repo.name.error")):"fedx"===e.repositoryType&&0===e.repositoryInfo.params.member.value.length?e.noMembersError():t?o.error(t):f.openSimpleModal({title:v.instant("common.confirm.save"),message:r,warning:!0}).result.then((function(){e.editRepoHttp()}))},e.editRepositoryId=function(){let t=Object(n.decodeHTML)(v.instant("edit.repo.id.warning.msg"));e.isEnterprise()&&(t+=Object(n.decodeHTML)(v.instant("edit.repo.id.cluster.warning.msg"))),f.openSimpleModal({title:v.instant("confirm.enable.edit"),message:t,warning:!0}).result.then((function(){e.canEditRepoId=!0}))},e.goBackToPreviousLocation=function(){angular.isDefined(t.previous)?(delete u.$$search.previous,u.path("/")):u.path("/repository")},e.validateNumberInput=function(){l(e.repositoryInfo.params,e.invalidValues)},e.getShaclOptionsClass=function(){return s()}}angular.module("graphdb.framework.repositories.controllers",["ngCookies","ui.bootstrap","graphdb.framework.core.services.repositories","graphdb.framework.utils.localstorageadapter","toastr","ngFileUpload"]).controller("LocationsAndRepositoriesCtrl",f).controller("AddLocationCtrl",v).controller("EditLocationCtrl",y).controller("ChooseRepositoryCtrl",R).controller("AddRepositoryCtrl",T).controller("EditRepositoryCtrl",I).controller("EditRepositoryFileCtrl",g).controller("UploadRepositoryConfigCtrl",m),f.$inject=["$scope","$rootScope","$modal","toastr","$repositories","ModalService","$jwtAuth","LocationsRestService","LocalStorageAdapter","$interval","$translate","$q","GuidesService"],m.$inject=["$scope","$modalInstance","Upload","toastr","$translate"],v.$inject=["$scope","$modalInstance","toastr","productInfo","$translate"],y.$inject=["$scope","$modalInstance","location","productInfo"],R.$inject=["$scope","$location"],T.$inject=["$scope","toastr","$repositories","$location","$timeout","Upload","$routeParams","RepositoriesRestService","$translate"],g.$inject=["$scope","$modalInstance","RepositoriesRestService","file","toastr","$translate"],I.$inject=["$scope","$routeParams","toastr","$repositories","$location","ModalService","RepositoriesRestService","$translate"]}}]);
2
- //# sourceMappingURL=5.53c0a20d56d6828fa504.bundle.js.map
1
+ (window.webpackJsonp=window.webpackJsonp||[]).push([[5,98],{47:function(e,t,o){"use strict";o.r(t),o.d(t,"STATIC_RULESETS",(function(){return i})),o.d(t,"REPOSITORY_TYPES",(function(){return n})),o.d(t,"FILENAME_PATTERN",(function(){return r})),o.d(t,"NUMBER_PATTERN",(function(){return a}));const i=[{id:"empty",name:"No inference"},{id:"rdfs-optimized",name:"RDFS (Optimized)"},{id:"rdfs",name:"RDFS"},{id:"rdfsplus-optimized",name:"RDFS-Plus (Optimized)"},{id:"owl-horst-optimized",name:"OWL-Horst (Optimized)"},{id:"owl-horst",name:"OWL-Horst"},{id:"owl2-ql-optimized",name:"OWL2-QL (Optimized)"},{id:"owl2-ql",name:"OWL2-QL"},{id:"owl-max-optimized",name:"OWL-Max (Optimized)"},{id:"owl-max",name:"OWL-Max"},{id:"owl2-rl-optimized",name:"OWL2-RL (Optimized)"},{id:"owl2-rl",name:"OWL2-RL"}],n={graphdbRepo:"graphdb",free:"free",eeWorker:"worker",eeMaster:"master",ontop:"ontop",se:"se",fedx:"fedx"},r=new RegExp("^[a-zA-Z0-9-_]+$"),a=new RegExp("^[0-9]+$")},52:function(e,t,o){"use strict";o.r(t),o.d(t,"getFileName",(function(){return r}));var i=o(47),n=o(0);const r=function(e){let t=e.lastIndexOf("/");-1===t&&(t=e.lastIndexOf("\\"));let o=e;return-1!==t&&(o=o.substring(t+1)),o},a=function(e){e&&(e.queryTimeout&&(e.queryTimeout.value=parseInt(e.queryTimeout.value)),e.queryLimitResults&&e.validationResultsLimitTotal&&e.validationResultsLimitPerConstraint?(e.queryLimitResults.value=parseInt(e.queryLimitResults.value),e.validationResultsLimitTotal.value=parseInt(e.validationResultsLimitTotal.value),e.validationResultsLimitPerConstraint.value=parseInt(e.validationResultsLimitPerConstraint.value)):e.leftJoinWorkerThreads&&e.boundJoinBlockSize&&e.joinWorkerThreads&&e.unionWorkerThreads&&(e.leftJoinWorkerThreads.value=parseInt(e.leftJoinWorkerThreads.value),e.boundJoinBlockSize.value=parseInt(e.boundJoinBlockSize.value),e.joinWorkerThreads.value=parseInt(e.joinWorkerThreads.value),e.unionWorkerThreads.value=parseInt(e.unionWorkerThreads.value)))},s=function(){const e=document.getElementById("shaclOptions");if(e){const t=e.getAttribute("aria-expanded");if(t&&"true"===t)return"fa fa-angle-down"}return"fa fa-angle-right"},l=function(e,t){e.queryTimeout&&(t.isInvalidQueryTimeout=!i.NUMBER_PATTERN.test(e.queryTimeout.value)),e.validationResultsLimitTotal&&e.validationResultsLimitPerConstraint&&e.queryLimitResults?(t.isInvalidValidationResultsLimitTotal=!i.NUMBER_PATTERN.test(e.validationResultsLimitTotal.value),t.isInvalidValidationResultsLimitPerConstraint=!i.NUMBER_PATTERN.test(e.validationResultsLimitPerConstraint.value),t.isInvalidQueryLimit=!i.NUMBER_PATTERN.test(e.queryLimitResults.value)):e.leftJoinWorkerThreads&&e.boundJoinBlockSize&&e.joinWorkerThreads&&e.unionWorkerThreads&&(t.isInvalidLeftJoinWorkerThreads=!i.NUMBER_PATTERN.test(e.leftJoinWorkerThreads.value),t.isInvalidBoundJoinBlockSize=!i.NUMBER_PATTERN.test(e.boundJoinBlockSize.value),t.isInvalidJoinWorkerThreads=!i.NUMBER_PATTERN.test(e.joinWorkerThreads.value),t.isInvalidUnionWorkerThreads=!i.NUMBER_PATTERN.test(e.unionWorkerThreads.value))},c=function(e,t){return"isInvalidQueryLimit"===e?t.instant("invalid.query.limit"):"isInvalidQueryTimeout"===e?t.instant("invalid.query.timeout"):"isInvalidValidationResultsLimitTotal"===e?t.instant("invalid.validation.results.limit.total"):"isInvalidValidationResultsLimitPerConstraint"===e?t.instant("invalid.validation.results.limit.per.constraint"):"isInvalidJoinWorkerThreads"===e?t.instant("invalid.join.worker.threads"):"isInvalidLeftJoinWorkerThreads"===e?t.instant("invalid.left.join.worker.threads"):"isInvalidUnionWorkerThreads"===e?t.instant("invalid.union.worker.threads"):"isInvalidBoundJoinBlockSize"===e?t.instant("invalid.bound.join.block.size"):void 0},d=function(e,t){const o=Object.keys(e),i=Object.values(e);for(let e=0;e<o.length;e++)if(i[e])return c(o[e],t);return""},u=function(e){return"https://graphdb.ontotext.com/documentation/"+e.productShortVersion},p=function(e){return e.getLocations().then(e=>e.filter(e=>!e.errorMsg&&!e.degradedReason))};function f(e,t,o,r,a,s,l,c,d,u,p,f,m){e.loader=!0,e.isLocationInactive=function(t){return!t.active||!e.hasActiveLocation()};const v=f.defer();function y(){return a.getLocations(v).then(t=>{e.locations=t}).finally(()=>e.loader=!1)}e.hasActiveLocation=function(){return a.hasActiveLocation()},e.getActiveLocation=function(){return a.getActiveLocation()},e.getLocationError=function(){return a.getLocationError()},e.getDegradedReason=function(){return a.getDegradedReason()},e.getRepositories=function(){return a.getRepositories()},e.isRepoActive=function(e){return a.isRepoActive(e)},e.deleteLocation=function(t){s.openSimpleModal({title:p.instant("location.confirm.detach"),message:p.instant("location.confirm.detach.warning",{uri:t}),warning:!0}).result.then((function(){e.loader=!0,a.deleteLocation(t).finally(()=>y())}))},e.addLocationHttp=function(t){e.loader=!0,c.addLocation(t).success((function(){a.init()})).error((function(e){const t=getError(e);r.error(t,p.instant("common.error"))})).finally(()=>y())},e.addLocation=function(){o.open({templateUrl:"js/angular/templates/modal/add-location.html",windowClass:"addLocationDialog",controller:"AddLocationCtrl"}).result.then((function(t){e.addLocationHttp(t)}))},e.editLocationHttp=function(t){e.loader=!0,c.editLocation(t).success((function(){a.init()})).error((function(e){const t=getError(e);r.error(t,p.instant("common.error"))})).finally(()=>y())},e.editLocation=function(t){o.open({templateUrl:"js/angular/templates/modal/edit-location.html",controller:"EditLocationCtrl",resolve:{location:function(){return t}}}).result.then((function(t){e.editLocationHttp(t)}),(function(){}))},e.setRepository=function(e){a.setRepository(e)},e.deleteRepository=function(t){s.openSimpleModal({title:p.instant("common.confirm.delete"),message:Object(n.decodeHTML)(p.instant("delete.repo.warning.msg",{repositoryId:t.id})),warning:!0}).result.then((function(){e.loader=!0,a.deleteRepository(t).finally(()=>{y()}),function(e){const t="dependencies-selectedGraph-"+e.id,o="classHierarchy-selectedGraph-"+e.id;angular.forEach(d.keys(),(function(e){(e.startsWith(o)||e.startsWith(t))&&d.remove(e)}))}(t)}))},e.restartRepository=function(t){s.openSimpleModal({title:p.instant("confirm.restart.repo"),message:Object(n.decodeHTML)(p.instant("confirm.restart.repo.warning.msg",{repositoryId:t.id})),warning:!0}).result.then((function(){e.loader=!0,a.restartRepository(t).finally(()=>y())}))},e.toggleDefaultRepository=function(t){e.getDefaultRepository()===t?a.setDefaultRepository(null):a.setDefaultRepository(t)},e.getDefaultRepository=function(){return a.getDefaultRepository()},e.getRepositoryDownloadLink=function(e){let t=`rest/repositories/${e.id}${e.type===i.REPOSITORY_TYPES.ontop?"/download-zip":"/download-ttl"}?location=${e.location}`;const o=l.getAuthToken();return o&&(t=`${t}&authToken=${encodeURIComponent(o)}`),t},e.copyToClipboard=function(e){s.openCopyToClipboardModal(e)},e.fromFile=function(){o.open({templateUrl:"js/angular/templates/modal/upload-repository-config.html",controller:"UploadRepositoryConfigCtrl"}).result.then((function(){a.init()}))},e.openActiveLocationSettings=function(){o.open({templateUrl:"js/angular/settings/modal/location-settings.html",controller:"ActiveLocationSettingsCtrl"})},y();const R=u((function(){m.isActive()&&!t.guidePaused||(a.initQuick(),y())}),5e3);e.$on("$destroy",(function(){u.cancel(R),v&&v.resolve()})),e.getRepositoriesFromLocation=function(e){return a.getRepositoriesFromLocation(e)}}function m(e,t,o,i,n){e.upload=function(t){t&&t.length&&(e.uploadFile=t[0])},e.ok=function(){e.uploadFile&&(e.uploadFileLoader=!0,o.upload({url:"rest/repositories",method:"POST",data:{config:e.uploadFile}}).success((function(){e.uploadFileLoader=!1,t.close()})).error((function(t){const o=getError(t);i.error(o,n.instant("common.error")),e.uploadFileLoader=!1})))},e.cancel=function(){t.dismiss("cancel")}}function v(e,t,o,i,n){e.newLocation={uri:"",authType:"none",username:"",password:"",active:!1},e.docBase=u(i),e.isValidLocation=function(){return(e.newLocation.uri.length<6||0===e.newLocation.uri.indexOf("http:")||0===e.newLocation.uri.indexOf("https:"))&&e.newLocation.uri.indexOf("/repositories")<=-1},e.ok=function(){e.newLocation?t.close(e.newLocation):o.error(n.instant("location.cannot.be.empty.error"))},e.cancel=function(){t.dismiss("cancel")}}function y(e,t,o,i){e.editedLocation=angular.copy(o),e.docBase=u(i),e.ok=function(){t.close(e.editedLocation)},e.cancel=function(){t.dismiss("cancel")}}function R(e,t){e.repositoryTypes=i.REPOSITORY_TYPES,e.chooseRepositoryType=function(e){t.path(`${t.path()}/${e}`)}}function T(e,t,o,n,r,c,u,f,m){var v;e.rulesets=i.STATIC_RULESETS.slice(),e.repositoryTypes=i.REPOSITORY_TYPES,e.params=u,e.repositoryType=u.repositoryType,e.enable=!0,e.loader=!0,e.pageTitle=m.instant("view.create.repo.title"),e.repositoryInfo={id:"",params:{},title:"",type:"",location:""},e.invalidValues={isInvalidQueryTimeout:!1,isInvalidQueryLimit:!1,isInvalidLeftJoinWorkerThreads:!1,isInvalidBoundJoinBlockSize:!1,isInvalidJoinWorkerThreads:!1,isInvalidUnionWorkerThreads:!1,isInvalidValidationResultsLimitPerConstraint:!1,isInvalidValidationResultsLimitTotal:!1},p(o).then(t=>{e.locations=t}),e.changedLocation=function(){e.$broadcast("changedLocation")},e.getConfig=function(o){f.getRepositoryConfiguration(o).success((function(t){var o;e.repositoryInfo.params=t.params,e.repositoryInfo.type=t.type,a(e.repositoryInfo.params),(o=e.repositoryInfo.params)&&o.member&&(o.member.value=[]),e.loader=!1,r((function(){angular.element(document).find("#id").focus()}),50)})).error((function(o){const i=getError(o);t.error(i,m.instant("common.error")),e.loader=!1}))},e.repositoryType&&(function(t){return e.isEnterprise()&&t===i.REPOSITORY_TYPES.graphdbRepo}(v=e.repositoryType)||function(t){return!e.isFreeEdition()&&!e.isEnterprise()&&t===i.REPOSITORY_TYPES.graphdbRepo}(v)||function(t){return e.isFreeEdition()&&t===i.REPOSITORY_TYPES.graphdbRepo}(v)||function(e){return e===i.REPOSITORY_TYPES.ontop}(v)||function(e){return e===i.REPOSITORY_TYPES.fedx}(v))?(e.repositoryInfo.type=e.repositoryType,e.getConfig(e.repositoryType),function(t){switch(t){case i.REPOSITORY_TYPES.graphdbRepo:e.pageTitle=m.instant("view.create.repo.title",{repoType:"GraphDB"});break;case i.REPOSITORY_TYPES.ontop:e.pageTitle=m.instant("view.create.repo.title",{repoType:"Ontop Virtual SPARQL"});break;case i.REPOSITORY_TYPES.fedx:e.pageTitle=m.instant("view.create.repo.title",{repoType:"FedX Virtual SPARQL"})}}(e.repositoryType)):n.path("/repository/create"),e.hasActiveLocation=function(){return o.hasActiveLocation()},e.activeLocation=function(){return o.getActiveLocation()};let y=!1;e.uploadRuleset=function(o){o&&o.length&&(e.uploadFile=o[0],e.uploadFileLoader=!0,c.upload({url:"rest/repositories/ruleset/upload",data:{ruleset:e.uploadFile,location:e.repositoryInfo.location}}).progress((function(e){})).success((function(o){if(o.success){const t=e.uploadFile.name,i={id:o.fileLocation,name:"Custom: "+t};e.rulesetPie?e.rulesets[0]=i:e.rulesets.unshift(i),e.rulesetPie=o.fileLocation,e.rulesetPieFile=t,e.repositoryInfo.params.ruleset.value=e.rulesetPie}else t.error(o.errorMessage),y=!0;e.uploadFileLoader=!1})).error((function(o){const i=getError(o);t.error(i,m.instant("common.error")),e.uploadFile="",e.uploadFileLoader=!1})))},e.noMembersError=function(){t.error(m.instant("fedx.create.repo.no.members.warning"))},e.goBackToPreviousLocation=function(){angular.isDefined(u.previous)?(delete n.$$search.previous,n.path("/")):n.path("/repository")},e.createRepoHttp=function(){e.loader=!0,f.createRepository(e.repositoryInfo).then((function(){t.success(m.instant("created.repo.success.msg",{repoId:e.repositoryInfo.id})),o.init().finally(()=>e.goBackToPreviousLocation())})).catch((function(e){const o=getError(e.data);t.error(o,m.instant("common.error"))})).finally(()=>e.loader=!1)},e.createRepo=function(){if(!e.repositoryInfo.id)return void t.error(m.instant("empty.repoid.warning"));e.isInvalidRepoName=!i.FILENAME_PATTERN.test(e.repositoryInfo.id),l(e.repositoryInfo.params,e.invalidValues);const o=d(e.invalidValues,m);y?t.error(m.instant("invalid.ruleset.file.error")):e.isInvalidRepoName?t.error(m.instant("wrong.repo.name.error")):"fedx"===e.repositoryType&&0===e.repositoryInfo.params.member.value.length?e.noMembersError():o?t.error(o):e.createRepoHttp()},e.rulesetWarning=function(){const t=e.repositoryInfo.params;return void 0===t||void 0===t.ruleset||void 0===t.disableSameAs?"":0===t.ruleset.value.indexOf("owl")&&"true"===t.disableSameAs.value?m.instant("repoTooltips.rulesetWarnings.needsSameAs"):0===t.ruleset.value.indexOf("rdfs")&&"false"===t.disableSameAs.value?m.instant("repoTooltips.rulesetWarnings.doesntNeedSameAs"):t.ruleset.value===e.rulesetPie?m.instant("repoTooltips.rulesetWarnings.customRuleset"):""},e.validateNumberInput=function(){l(e.repositoryInfo.params,e.invalidValues)},e.getShaclOptionsClass=function(){return s()},e.autofocusId="autofocus"}function g(e,t,o,i,n,r){i&&o.getRepositoryFileContent(i).success((function(t){e.fileContent=t})).error((function(e){const t=getError(e);n.error(t,r.instant("common.error"))})),e.ok=function(){t.close({content:e.fileContent,fileLocation:i})},e.cancel=function(){t.dismiss("cancel")}}function I(e,t,o,c,u,f,m,v){e.rulesets=i.STATIC_RULESETS.slice(),e.repositoryTypes=i.REPOSITORY_TYPES,e.editRepoPage=!0,e.canEditRepoId=!1,e.params=t,e.loader=!0,e.repositoryInfo={},e.repositoryInfo.id=e.params.repositoryId,e.repositoryInfo.location=e.params.location,e.repositoryInfo.restartRequested=!1,e.repositoryType="",e.saveRepoId=e.params.repositoryId,e.pageTitle=v.instant("view.edit.repo.title",{repositoryId:e.params.repositoryId}),e.invalidValues={isInvalidQueryTimeout:!1,isInvalidQueryLimit:!1,isInvalidLeftJoinWorkerThreads:!1,isInvalidBoundJoinBlockSize:!1,isInvalidJoinWorkerThreads:!1,isInvalidUnionWorkerThreads:!1,isInvalidValidationResultsLimitPerConstraint:!1,isInvalidValidationResultsLimitTotal:!1},e.hasActiveLocation=function(){return c.hasActiveLocation()},e.$watch(e.hasActiveLocation,(function(){e.hasActiveLocation&&p(c).then(t=>(e.locations=t,m.getRepository(e.repositoryInfo))).then((function(t){const o=t.data;if(angular.isDefined(o.params.ruleset)){let t=!1;if(angular.forEach(e.rulesets,(function(e){e.id===o.params.ruleset.value&&(t=!0)})),o.params.ruleset&&!t){const t=r(o.params.ruleset.value);e.rulesets.unshift({id:o.params.ruleset.value,name:"Custom: "+t})}}e.repositoryInfo=o,e.setRepositoryType(o.type),a(e.repositoryInfo.params),e.repositoryInfo.saveId=e.saveRepoId,e.loader=!1})).catch((function(i){const r=i.data,a=i.status,s=t.repositoryId;let l;l=404===a&&"system"!==s?Object(n.decodeHTML)(v.instant("edit.repo.error.not.exists",{repositoryId:s})):404===a&&"system"===s?Object(n.decodeHTML)(v.instant("edit.system.repo.warning")):getError(r),o.error(l,v.instant("common.error"),{allowHtml:!0}),404===a?setTimeout((function(){e.loader=!1,u.path("repository")}),1e3):e.loader=!1}))})),e.setRepositoryType=function(t){e.repositoryType=t},e.noMembersError=function(){o.error(v.instant("fedx.create.repo.no.members.warning"))},e.editRepoHttp=function(){e.loader=!0,m.editRepository(e.repositoryInfo.saveId,e.repositoryInfo).success((function(){o.success(v.instant("edit.repo.success.msg",{saveId:e.repositoryInfo.saveId})),c.init().finally(()=>e.goBackToPreviousLocation()),e.repositoryInfo.saveId===e.repositoryInfo.id&&e.repositoryInfo.restartRequested&&c.restartRepository(e.repositoryInfo)})).error((function(t){const i=getError(t);o.error(i,v.instant("common.error")),e.loader=!1}))},e.editRepository=function(){e.isInvalidRepoName=!i.FILENAME_PATTERN.test(e.repositoryInfo.id),l(e.repositoryInfo.params,e.invalidValues);const t=d(e.invalidValues,v);let r=Object(n.decodeHTML)(v.instant("edit.repo.save.changes.msg",{repoId:e.repositoryInfo.id}));e.repositoryInfo.saveId!==e.repositoryInfo.id?r+=Object(n.decodeHTML)(v.instant("edit.repo.rename.changes.msg")):e.repositoryInfo.restartRequested?r+=Object(n.decodeHTML)(v.instant("edit.repo.restart.requested.msg")):r+=Object(n.decodeHTML)(v.instant("edit.repo.restart.needed.msg")),e.isInvalidRepoName?o.error(v.instant("wrong.repo.name.error")):"fedx"===e.repositoryType&&0===e.repositoryInfo.params.member.value.length?e.noMembersError():t?o.error(t):f.openSimpleModal({title:v.instant("common.confirm.save"),message:r,warning:!0}).result.then((function(){e.editRepoHttp()}))},e.editRepositoryId=function(){let t=Object(n.decodeHTML)(v.instant("edit.repo.id.warning.msg"));e.isEnterprise()&&(t+=Object(n.decodeHTML)(v.instant("edit.repo.id.cluster.warning.msg"))),f.openSimpleModal({title:v.instant("confirm.enable.edit"),message:t,warning:!0}).result.then((function(){e.canEditRepoId=!0}))},e.goBackToPreviousLocation=function(){angular.isDefined(t.previous)?(delete u.$$search.previous,u.path("/")):u.path("/repository")},e.validateNumberInput=function(){l(e.repositoryInfo.params,e.invalidValues)},e.getShaclOptionsClass=function(){return s()}}angular.module("graphdb.framework.repositories.controllers",["ngCookies","ui.bootstrap","graphdb.framework.core.services.repositories","graphdb.framework.utils.localstorageadapter","toastr","ngFileUpload"]).controller("LocationsAndRepositoriesCtrl",f).controller("AddLocationCtrl",v).controller("EditLocationCtrl",y).controller("ChooseRepositoryCtrl",R).controller("AddRepositoryCtrl",T).controller("EditRepositoryCtrl",I).controller("EditRepositoryFileCtrl",g).controller("UploadRepositoryConfigCtrl",m),f.$inject=["$scope","$rootScope","$modal","toastr","$repositories","ModalService","$jwtAuth","LocationsRestService","LocalStorageAdapter","$interval","$translate","$q","GuidesService"],m.$inject=["$scope","$modalInstance","Upload","toastr","$translate"],v.$inject=["$scope","$modalInstance","toastr","productInfo","$translate"],y.$inject=["$scope","$modalInstance","location","productInfo"],R.$inject=["$scope","$location"],T.$inject=["$scope","toastr","$repositories","$location","$timeout","Upload","$routeParams","RepositoriesRestService","$translate"],g.$inject=["$scope","$modalInstance","RepositoriesRestService","file","toastr","$translate"],I.$inject=["$scope","$routeParams","toastr","$repositories","$location","ModalService","RepositoriesRestService","$translate"]}}]);
2
+ //# sourceMappingURL=5.e6ebc1c858a5b922c8fb.bundle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["webpack:///./src/js/angular/repositories/repository.constants.js","webpack:///./src/js/angular/repositories/controllers.js"],"names":["STATIC_RULESETS","id","name","REPOSITORY_TYPES","graphdbRepo","free","eeWorker","eeMaster","ontop","se","fedx","FILENAME_PATTERN","RegExp","NUMBER_PATTERN","getFileName","path","lastIdx","lastIndexOf","substring","parseNumberParamsIfNeeded","params","queryTimeout","value","parseInt","queryLimitResults","validationResultsLimitTotal","validationResultsLimitPerConstraint","leftJoinWorkerThreads","boundJoinBlockSize","joinWorkerThreads","unionWorkerThreads","getShaclOptionsClass","optionsModule","document","getElementById","isAriaExpanded","getAttribute","validateNumberFields","invalidValues","isInvalidQueryTimeout","test","isInvalidValidationResultsLimitTotal","isInvalidValidationResultsLimitPerConstraint","isInvalidQueryLimit","isInvalidLeftJoinWorkerThreads","isInvalidBoundJoinBlockSize","isInvalidJoinWorkerThreads","isInvalidUnionWorkerThreads","getInvalidParameterErrorMessage","param","$translate","instant","checkInvalidValues","invalidValuesKeys","Object","keys","invalidValuesVal","values","i","length","getDocBase","productInfo","productShortVersion","getFilteredLocations","$repositories","getLocations","then","locations","filter","location","errorMsg","degradedReason","LocationsAndRepositoriesCtrl","$scope","$rootScope","$modal","toastr","ModalService","$jwtAuth","LocationsRestService","LocalStorageAdapter","$interval","$q","GuidesService","loader","isLocationInactive","active","hasActiveLocation","getLocationsAbortRequestPromise","defer","finally","getActiveLocation","getLocationError","getDegradedReason","getRepositories","isRepoActive","repo","deleteLocation","uri","openSimpleModal","title","message","warning","result","addLocationHttp","dataAddLocation","addLocation","success","init","error","data","msg","getError","open","templateUrl","windowClass","controller","editLocationHttp","dataEditLocation","editLocation","resolve","setRepository","deleteRepository","repository","repositoryId","cashedDependenciesGraphPrefix","cashedClassHierarchyGraphPrefix","angular","forEach","key","startsWith","remove","removeCachedGraphsOnDelete","restartRepository","toggleDefaultRepository","getDefaultRepository","setDefaultRepository","getRepositoryDownloadLink","url","type","token","getAuthToken","encodeURIComponent","copyToClipboard","openCopyToClipboardModal","fromFile","openActiveLocationSettings","timer","isActive","guidePaused","initQuick","$on","cancel","getRepositoriesFromLocation","locationId","UploadRepositoryConfigCtrl","$modalInstance","Upload","upload","files","uploadFile","ok","uploadFileLoader","method","config","close","dismiss","AddLocationCtrl","newLocation","docBase","isValidLocation","indexOf","EditLocationCtrl","editedLocation","copy","ChooseRepositoryCtrl","$location","repositoryTypes","chooseRepositoryType","repoType","AddRepositoryCtrl","$timeout","$routeParams","RepositoriesRestService","repositoryType","rulesets","slice","enable","pageTitle","repositoryInfo","changedLocation","$broadcast","getConfig","getRepositoryConfiguration","member","element","find","focus","isEnterprise","isValidEERepository","isFreeEdition","isValidSERepository","isValidFRRepository","isValidOntopRepository","isValidFedXRepository","setPageTitle","activeLocation","isInvalidPieFile","uploadRuleset","ruleset","progress","evt","fileName","newValue","fileLocation","rulesetPie","unshift","rulesetPieFile","errorMessage","noMembersError","goBackToPreviousLocation","isDefined","previous","$$search","createRepoHttp","createRepository","repoId","catch","createRepo","isInvalidRepoName","rulesetWarning","pp","undefined","disableSameAs","validateNumberInput","autofocusId","EditRepositoryFileCtrl","file","getRepositoryFileContent","fileContent","content","EditRepositoryCtrl","editRepoPage","canEditRepoId","restartRequested","saveRepoId","$watch","getRepository","response","ifRulesetExists","item","setRepositoryType","saveId","status","toastrMsg","allowHtml","setTimeout","editRepoHttp","editRepository","modalMsg","editRepositoryId","module","$inject"],"mappings":"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","file":"5.e6ebc1c858a5b922c8fb.bundle.js","sourcesContent":["export const STATIC_RULESETS = [\n {id: 'empty', name: 'No inference'},\n {id: 'rdfs-optimized', name: 'RDFS (Optimized)'},\n {id: 'rdfs', name: 'RDFS'},\n {id: 'rdfsplus-optimized', name: 'RDFS-Plus (Optimized)'},\n {id: 'owl-horst-optimized', name: 'OWL-Horst (Optimized)'},\n {id: 'owl-horst', name: 'OWL-Horst'},\n {id: 'owl2-ql-optimized', name: 'OWL2-QL (Optimized)'},\n {id: 'owl2-ql', name: 'OWL2-QL'},\n {id: 'owl-max-optimized', name: 'OWL-Max (Optimized)'},\n {id: 'owl-max', name: 'OWL-Max'},\n {id: 'owl2-rl-optimized', name: 'OWL2-RL (Optimized)'},\n {id: 'owl2-rl', name: 'OWL2-RL'},\n\n];\n\nexport const REPOSITORY_TYPES = {graphdbRepo: 'graphdb', free: 'free', eeWorker: 'worker', eeMaster: 'master', ontop: 'ontop', se: 'se', fedx: 'fedx'};\nexport const FILENAME_PATTERN = new RegExp('^[a-zA-Z0-9-_]+$');\nexport const NUMBER_PATTERN = new RegExp('^[0-9]+$');\n","import {\n FILENAME_PATTERN,\n NUMBER_PATTERN,\n REPOSITORY_TYPES,\n STATIC_RULESETS\n} from \"./repository.constants\";\nimport {decodeHTML} from \"../../../app\";\n\nexport const getFileName = function (path) {\n let lastIdx = path.lastIndexOf('/');\n if (lastIdx === -1) {\n lastIdx = path.lastIndexOf('\\\\');\n }\n let name = path;\n if (lastIdx !== -1) {\n name = name.substring(lastIdx + 1);\n }\n return name;\n};\n\nconst parseNumberParamsIfNeeded = function (params) {\n if (params) {\n if (params.queryTimeout) {\n params.queryTimeout.value = parseInt(params.queryTimeout.value);\n }\n if (params.queryLimitResults && params.validationResultsLimitTotal && params.validationResultsLimitPerConstraint) {\n // Parse parameters properly to number\n params.queryLimitResults.value = parseInt(params.queryLimitResults.value);\n params.validationResultsLimitTotal.value = parseInt(params.validationResultsLimitTotal.value);\n params.validationResultsLimitPerConstraint.value = parseInt(params.validationResultsLimitPerConstraint.value);\n } else if (params.leftJoinWorkerThreads && params.boundJoinBlockSize && params.joinWorkerThreads && params.unionWorkerThreads) {\n params.leftJoinWorkerThreads.value = parseInt(params.leftJoinWorkerThreads.value);\n params.boundJoinBlockSize.value = parseInt(params.boundJoinBlockSize.value);\n params.joinWorkerThreads.value = parseInt(params.joinWorkerThreads.value);\n params.unionWorkerThreads.value = parseInt(params.unionWorkerThreads.value);\n }\n }\n};\n\nconst parseMemberParamIfNeeded = function (param) {\n if (param && param.member) {\n param.member.value = [];\n }\n};\n\nconst getShaclOptionsClass = function () {\n const optionsModule = document.getElementById('shaclOptions');\n\n if (optionsModule) {\n const isAriaExpanded = optionsModule.getAttribute('aria-expanded');\n if (isAriaExpanded && isAriaExpanded === 'true') {\n return 'fa fa-angle-down';\n }\n }\n return 'fa fa-angle-right';\n};\n\nconst validateNumberFields = function (params, invalidValues) {\n if (params.queryTimeout) {\n invalidValues.isInvalidQueryTimeout = !NUMBER_PATTERN.test(params.queryTimeout.value);\n }\n if (params.validationResultsLimitTotal && params.validationResultsLimitPerConstraint && params.queryLimitResults) {\n invalidValues.isInvalidValidationResultsLimitTotal = !NUMBER_PATTERN.test(params.validationResultsLimitTotal.value);\n invalidValues.isInvalidValidationResultsLimitPerConstraint = !NUMBER_PATTERN.test(params.validationResultsLimitPerConstraint.value);\n invalidValues.isInvalidQueryLimit = !NUMBER_PATTERN.test(params.queryLimitResults.value);\n } else if (params.leftJoinWorkerThreads && params.boundJoinBlockSize && params.joinWorkerThreads\n && params.unionWorkerThreads) {\n invalidValues.isInvalidLeftJoinWorkerThreads = !NUMBER_PATTERN.test(params.leftJoinWorkerThreads.value);\n invalidValues.isInvalidBoundJoinBlockSize = !NUMBER_PATTERN.test(params.boundJoinBlockSize.value);\n invalidValues.isInvalidJoinWorkerThreads = !NUMBER_PATTERN.test(params.joinWorkerThreads.value);\n invalidValues.isInvalidUnionWorkerThreads = !NUMBER_PATTERN.test(params.unionWorkerThreads.value);\n }\n};\n\nconst getInvalidParameterErrorMessage = function (param, $translate) {\n if (param === \"isInvalidQueryLimit\") {\n return $translate.instant('invalid.query.limit');\n } else if (param === \"isInvalidQueryTimeout\") {\n return $translate.instant('invalid.query.timeout');\n } else if (param === \"isInvalidValidationResultsLimitTotal\") {\n return $translate.instant('invalid.validation.results.limit.total');\n } else if (param === \"isInvalidValidationResultsLimitPerConstraint\") {\n return $translate.instant('invalid.validation.results.limit.per.constraint');\n } else if (param === \"isInvalidJoinWorkerThreads\") {\n return $translate.instant('invalid.join.worker.threads');\n } else if (param === \"isInvalidLeftJoinWorkerThreads\") {\n return $translate.instant('invalid.left.join.worker.threads');\n } else if (param === \"isInvalidUnionWorkerThreads\") {\n return $translate.instant('invalid.union.worker.threads');\n } else if (param === \"isInvalidBoundJoinBlockSize\") {\n return $translate.instant('invalid.bound.join.block.size');\n }\n};\n\nconst checkInvalidValues = function (invalidValues, $translate) {\n const invalidValuesKeys = Object.keys(invalidValues);\n const invalidValuesVal = Object.values(invalidValues);\n\n for (let i = 0; i < invalidValuesKeys.length; i++) {\n if (invalidValuesVal[i]) {\n return getInvalidParameterErrorMessage(invalidValuesKeys[i], $translate);\n }\n }\n return '';\n};\n\nconst getDocBase = function (productInfo) {\n return `https://graphdb.ontotext.com/documentation/${productInfo.productShortVersion}`;\n};\nconst filterLocations = function (result) {\n return result.filter((location) => !location.errorMsg && !location.degradedReason);\n};\n\n/**\n * Gets the remote locations that are error free and without degraded reason\n * @param {*} $repositories the repositories service\n * @return {[] | Promise} returns the locations as array or a promise of the array\n */\nconst getFilteredLocations = function ($repositories) {\n // Don't allow the user to create repository on location with error or degradeded reason\n return $repositories.getLocations().then((locations) => filterLocations(locations));\n};\n\nconst modules = [\n 'ngCookies',\n 'ui.bootstrap',\n 'graphdb.framework.core.services.repositories',\n 'graphdb.framework.utils.localstorageadapter',\n 'toastr',\n 'ngFileUpload'\n];\n\nangular.module('graphdb.framework.repositories.controllers', modules)\n .controller('LocationsAndRepositoriesCtrl', LocationsAndRepositoriesCtrl)\n .controller('AddLocationCtrl', AddLocationCtrl)\n .controller('EditLocationCtrl', EditLocationCtrl)\n .controller('ChooseRepositoryCtrl', ChooseRepositoryCtrl)\n .controller('AddRepositoryCtrl', AddRepositoryCtrl)\n .controller('EditRepositoryCtrl', EditRepositoryCtrl)\n .controller('EditRepositoryFileCtrl', EditRepositoryFileCtrl)\n .controller('UploadRepositoryConfigCtrl', UploadRepositoryConfigCtrl);\n\nLocationsAndRepositoriesCtrl.$inject = ['$scope', '$rootScope', '$modal', 'toastr', '$repositories', 'ModalService', '$jwtAuth', 'LocationsRestService',\n 'LocalStorageAdapter', '$interval', '$translate', '$q', 'GuidesService'];\n\nfunction LocationsAndRepositoriesCtrl($scope, $rootScope, $modal, toastr, $repositories, ModalService, $jwtAuth, LocationsRestService,\n LocalStorageAdapter, $interval, $translate, $q, GuidesService) {\n $scope.loader = true;\n\n $scope.isLocationInactive = function (location) {\n return !location.active || !$scope.hasActiveLocation();\n };\n\n const getLocationsAbortRequestPromise = $q.defer();\n //Get locations\n function getLocations() {\n return $repositories.getLocations(getLocationsAbortRequestPromise)\n .then((locations) => {\n $scope.locations = locations;\n })\n .finally(() => $scope.loader = false);\n }\n\n $scope.hasActiveLocation = function () {\n return $repositories.hasActiveLocation();\n };\n\n $scope.getActiveLocation = function () {\n return $repositories.getActiveLocation();\n };\n\n $scope.getLocationError = function () {\n return $repositories.getLocationError();\n };\n\n $scope.getDegradedReason = function () {\n return $repositories.getDegradedReason();\n };\n\n $scope.getRepositories = function () {\n return $repositories.getRepositories();\n };\n\n $scope.isRepoActive = function (repo) {\n return $repositories.isRepoActive(repo);\n };\n\n //Delete location\n $scope.deleteLocation = function (uri) {\n ModalService.openSimpleModal({\n title: $translate.instant('location.confirm.detach'),\n message: $translate.instant('location.confirm.detach.warning', {uri: uri}),\n warning: true\n }).result\n .then(function () {\n $scope.loader = true;\n $repositories.deleteLocation(uri).finally(() => getLocations());\n });\n };\n\n //Add new location\n\n $scope.addLocationHttp = function (dataAddLocation) {\n $scope.loader = true;\n LocationsRestService.addLocation(dataAddLocation)\n .success(function () {\n //Reload locations and repositories\n $repositories.init();\n })\n .error(function (data) {\n const msg = getError(data);\n toastr.error(msg, $translate.instant('common.error'));\n })\n .finally(() => getLocations());\n };\n\n $scope.addLocation = function () {\n $modal.open({\n templateUrl: 'js/angular/templates/modal/add-location.html',\n windowClass: 'addLocationDialog',\n controller: 'AddLocationCtrl'\n }).result\n .then(function (dataAddLocation) {\n $scope.addLocationHttp(dataAddLocation);\n });\n };\n\n //Edit location\n $scope.editLocationHttp = function (dataEditLocation) {\n $scope.loader = true;\n LocationsRestService.editLocation(dataEditLocation)\n .success(function () {\n //Reload locations and repositories\n $repositories.init();\n })\n .error(function (data) {\n const msg = getError(data);\n toastr.error(msg, $translate.instant('common.error'));\n })\n .finally(() => getLocations());\n };\n\n $scope.editLocation = function (location) {\n const modalInstance = $modal.open({\n templateUrl: 'js/angular/templates/modal/edit-location.html',\n controller: 'EditLocationCtrl',\n resolve: {\n location: function () {\n return location;\n }\n }\n });\n\n modalInstance.result.then(function (dataEditLocation) {\n $scope.editLocationHttp(dataEditLocation);\n }, function () {\n });\n };\n\n //Change repository\n $scope.setRepository = function (repo) {\n $repositories.setRepository(repo);\n };\n\n //Delete repository\n $scope.deleteRepository = function (repository) {\n ModalService.openSimpleModal({\n title: $translate.instant('common.confirm.delete'),\n message: decodeHTML($translate.instant('delete.repo.warning.msg', {repositoryId: repository.id})),\n warning: true\n }).result\n .then(function () {\n $scope.loader = true;\n $repositories.deleteRepository(repository).finally(() => {\n getLocations();\n });\n removeCachedGraphsOnDelete(repository);\n });\n };\n\n $scope.restartRepository = function (repository) {\n ModalService.openSimpleModal({\n title: $translate.instant('confirm.restart.repo'),\n message: decodeHTML($translate.instant('confirm.restart.repo.warning.msg', {repositoryId: repository.id})),\n warning: true\n }).result\n .then(function () {\n $scope.loader = true;\n $repositories.restartRepository(repository).finally(() => getLocations());\n });\n };\n\n $scope.toggleDefaultRepository = function (repositoryId) {\n if ($scope.getDefaultRepository() === repositoryId) {\n // unset\n $repositories.setDefaultRepository(null);\n } else {\n // set\n $repositories.setDefaultRepository(repositoryId);\n }\n };\n\n $scope.getDefaultRepository = function () {\n return $repositories.getDefaultRepository();\n };\n\n /* Unused, data urls don't behave well in all browsers, avoid them when possible\n $scope.getRepoTurtleConfig = function (repository) {\n function downloadRepoConfig(repoTurtleConfig, repository) {\n $('.download-turtle-config')\n .mouseup(function () {\n $(this)\n .attr('href', repoTurtleConfig)\n .attr('download', repository.id + '-config.ttl')\n });\n }\n\n $repositories.getRepositoryTurtleConfig(repository)\n .success(function (response) {\n var repoTurtleConfigDownload = 'data:application/octet-stream;charset=utf-8;base64,'\n + btoa(unescape(encodeURIComponent(response)));\n downloadRepoConfig(repoTurtleConfigDownload, repository);\n })\n .error(function () {\n toastr.error('Error getting repository configuration for '' + repository.id + ''');\n });\n };\n */\n\n $scope.getRepositoryDownloadLink = function (repository) {\n let url = `rest/repositories/${repository.id}${(repository.type === REPOSITORY_TYPES.ontop ? '/download-zip'\n : '/download-ttl')}?location=${repository.location}`;\n const token = $jwtAuth.getAuthToken();\n if (token) {\n url = `${url}&authToken=${encodeURIComponent(token)}`;\n }\n return url;\n };\n\n ///Copy to clipboard popover options\n $scope.copyToClipboard = function (uri) {\n ModalService.openCopyToClipboardModal(uri);\n };\n\n $scope.fromFile = function () {\n const modalInstance = $modal.open({\n templateUrl: 'js/angular/templates/modal/upload-repository-config.html',\n controller: 'UploadRepositoryConfigCtrl'\n });\n modalInstance.result.then(function () {\n $repositories.init();\n });\n };\n\n //Delete repository\n $scope.openActiveLocationSettings = function () {\n $modal.open({\n templateUrl: 'js/angular/settings/modal/location-settings.html',\n controller: 'ActiveLocationSettingsCtrl'\n });\n };\n\n getLocations();\n const timer = $interval(function () {\n if (GuidesService.isActive() && !$rootScope.guidePaused) {\n // Don't refresh list while a guide is active\n return;\n }\n\n // Update repositories state\n $repositories.initQuick();\n getLocations();\n }, 5000);\n\n $scope.$on('$destroy', function () {\n $interval.cancel(timer);\n // If there is a getLocations request in progress, abort it so the service can properly clear flags\n if (getLocationsAbortRequestPromise) {\n getLocationsAbortRequestPromise.resolve();\n }\n });\n\n function removeCachedGraphsOnDelete(repo) {\n const cashedDependenciesGraphPrefix = `dependencies-selectedGraph-${repo.id}`;\n const cashedClassHierarchyGraphPrefix = `classHierarchy-selectedGraph-${repo.id}`;\n angular.forEach(LocalStorageAdapter.keys(), function (key) {\n // remove everything but the hide prefixes setting, it should always persist\n if (key.startsWith(cashedClassHierarchyGraphPrefix) || key.startsWith(cashedDependenciesGraphPrefix)) {\n LocalStorageAdapter.remove(key);\n }\n });\n }\n\n $scope.getRepositoriesFromLocation = function (locationId) {\n return $repositories.getRepositoriesFromLocation(locationId);\n };\n}\n\nUploadRepositoryConfigCtrl.$inject = ['$scope', '$modalInstance', 'Upload', 'toastr', '$translate'];\n\nfunction UploadRepositoryConfigCtrl($scope, $modalInstance, Upload, toastr, $translate) {\n $scope.upload = function (files) {\n if (files && files.length) {\n $scope.uploadFile = files[0];\n }\n };\n $scope.ok = function () {\n if ($scope.uploadFile) {\n $scope.uploadFileLoader = true;\n Upload.upload({\n url: 'rest/repositories',\n method: 'POST',\n data: {config: $scope.uploadFile}\n })\n .success(function () {\n $scope.uploadFileLoader = false;\n $modalInstance.close();\n })\n .error(function (data) {\n const msg = getError(data);\n toastr.error(msg, $translate.instant('common.error'));\n $scope.uploadFileLoader = false;\n });\n }\n };\n $scope.cancel = function () {\n $modalInstance.dismiss('cancel');\n };\n}\n\nAddLocationCtrl.$inject = ['$scope', '$modalInstance', 'toastr', 'productInfo', '$translate'];\n\nfunction AddLocationCtrl($scope, $modalInstance, toastr, productInfo, $translate) {\n\n $scope.newLocation = {\n 'uri': '',\n 'authType': 'none',\n 'username': '',\n 'password': '',\n 'active': false\n };\n $scope.docBase = getDocBase(productInfo);\n\n $scope.isValidLocation = function () {\n return ($scope.newLocation.uri.length < 6 ||\n $scope.newLocation.uri.indexOf('http:') === 0 || $scope.newLocation.uri.indexOf('https:') === 0)\n && $scope.newLocation.uri.indexOf('/repositories') <= -1;\n };\n\n $scope.ok = function () {\n if (!$scope.newLocation) {\n toastr.error($translate.instant('location.cannot.be.empty.error'));\n return;\n }\n $modalInstance.close($scope.newLocation);\n };\n\n $scope.cancel = function () {\n $modalInstance.dismiss('cancel');\n };\n}\n\nEditLocationCtrl.$inject = ['$scope', '$modalInstance', 'location', 'productInfo'];\n\nfunction EditLocationCtrl($scope, $modalInstance, location, productInfo) {\n\n $scope.editedLocation = angular.copy(location);\n $scope.docBase = getDocBase(productInfo);\n\n $scope.ok = function () {\n $modalInstance.close($scope.editedLocation);\n };\n\n $scope.cancel = function () {\n $modalInstance.dismiss('cancel');\n };\n}\n\nChooseRepositoryCtrl.$inject = ['$scope', '$location'];\n\nfunction ChooseRepositoryCtrl($scope, $location) {\n $scope.repositoryTypes = REPOSITORY_TYPES;\n $scope.chooseRepositoryType = function (repoType) {\n $location.path(`${$location.path()}/${repoType}`);\n };\n}\n\nAddRepositoryCtrl.$inject = ['$scope', 'toastr', '$repositories', '$location', '$timeout', 'Upload', '$routeParams',\n 'RepositoriesRestService', '$translate'];\n\nfunction AddRepositoryCtrl($scope, toastr, $repositories, $location, $timeout, Upload, $routeParams, RepositoriesRestService, $translate) {\n $scope.rulesets = STATIC_RULESETS.slice();\n $scope.repositoryTypes = REPOSITORY_TYPES;\n $scope.params = $routeParams;\n $scope.repositoryType = $routeParams.repositoryType;\n $scope.enable = true;\n\n $scope.loader = true;\n $scope.pageTitle = $translate.instant('view.create.repo.title');\n $scope.repositoryInfo = {\n id: '',\n params: {},\n title: '',\n type: '',\n location: ''\n };\n\n $scope.invalidValues = {\n isInvalidQueryTimeout: false,\n isInvalidQueryLimit: false,\n isInvalidLeftJoinWorkerThreads: false,\n isInvalidBoundJoinBlockSize: false,\n isInvalidJoinWorkerThreads: false,\n isInvalidUnionWorkerThreads: false,\n isInvalidValidationResultsLimitPerConstraint: false,\n isInvalidValidationResultsLimitTotal: false\n };\n\n getFilteredLocations($repositories)\n .then((locations) => {\n $scope.locations = locations;\n });\n\n $scope.changedLocation = function () {\n $scope.$broadcast('changedLocation');\n };\n\n function isValidEERepository(repositoryType) {\n return $scope.isEnterprise() && (repositoryType === REPOSITORY_TYPES.graphdbRepo);\n }\n\n function isValidSERepository(repositoryType) {\n return !$scope.isFreeEdition() && !$scope.isEnterprise() && repositoryType === REPOSITORY_TYPES.graphdbRepo;\n }\n\n function isValidFRRepository(repositoryType) {\n return $scope.isFreeEdition() && repositoryType === REPOSITORY_TYPES.graphdbRepo;\n }\n\n function isValidOntopRepository(repositoryType) {\n return repositoryType === REPOSITORY_TYPES.ontop;\n }\n\n function isValidFedXRepository(repositoryType) {\n return repositoryType === REPOSITORY_TYPES.fedx;\n }\n\n function isRepositoryTypeValid(repositoryType) {\n return isValidEERepository(repositoryType) || isValidSERepository(repositoryType)\n || isValidFRRepository(repositoryType) || isValidOntopRepository(repositoryType)\n || isValidFedXRepository(repositoryType);\n }\n\n function setPageTitle(repositoryType) {\n switch (repositoryType) {\n case REPOSITORY_TYPES.graphdbRepo:\n $scope.pageTitle = $translate.instant('view.create.repo.title', {repoType: 'GraphDB'});\n break;\n case REPOSITORY_TYPES.ontop:\n $scope.pageTitle = $translate.instant('view.create.repo.title', {repoType: 'Ontop Virtual SPARQL'});\n break;\n case REPOSITORY_TYPES.fedx:\n $scope.pageTitle = $translate.instant('view.create.repo.title', {repoType: 'FedX Virtual SPARQL'});\n break;\n }\n }\n\n $scope.getConfig = function (repoType) {\n RepositoriesRestService.getRepositoryConfiguration(repoType).success(function (data) {\n $scope.repositoryInfo.params = data.params;\n $scope.repositoryInfo.type = data.type;\n parseNumberParamsIfNeeded($scope.repositoryInfo.params);\n parseMemberParamIfNeeded($scope.repositoryInfo.params);\n $scope.loader = false;\n // The clean way is the \"autofocus\" attribute and we use it but it doesn't seem to\n // work in all browsers because of the way dynamic content is handled so give it another\n // try here.\n $timeout(function () {\n // Focus the ID field\n angular.element(document).find('#id').focus();\n }, 50);\n }).error(function (data) {\n const msg = getError(data);\n toastr.error(msg, $translate.instant('common.error'));\n $scope.loader = false;\n });\n };\n\n if ($scope.repositoryType && isRepositoryTypeValid($scope.repositoryType)) {\n $scope.repositoryInfo.type = $scope.repositoryType;\n $scope.getConfig($scope.repositoryType);\n setPageTitle($scope.repositoryType);\n } else {\n $location.path('/repository/create');\n }\n\n $scope.hasActiveLocation = function () {\n return $repositories.hasActiveLocation();\n };\n\n $scope.activeLocation = function () {\n return $repositories.getActiveLocation();\n };\n\n let isInvalidPieFile = false;\n $scope.uploadRuleset = function (files) {\n if (files && files.length) {\n $scope.uploadFile = files[0];\n $scope.uploadFileLoader = true;\n Upload.upload({\n url: 'rest/repositories/ruleset/upload',\n data: {ruleset: $scope.uploadFile, location: $scope.repositoryInfo.location}\n }).progress(function (evt) {\n /*\t\t\t\t\t\tvar progressPercentage = parseInt(100.0 * evt.loaded / evt.total);\n console.log('progress: ' + progressPercentage + '% ' + evt.config.file.name);*/\n }).success(function (data) {\n if (!data.success) {\n toastr.error(data.errorMessage);\n isInvalidPieFile = true;\n } else {\n const fileName = $scope.uploadFile.name;\n const newValue = {id: data.fileLocation, name: 'Custom: ' + fileName};\n if ($scope.rulesetPie) {\n // file was previously uploaded\n $scope.rulesets[0] = newValue;\n } else {\n // file uploaded for the first time\n $scope.rulesets.unshift(newValue);\n }\n $scope.rulesetPie = data.fileLocation;\n $scope.rulesetPieFile = fileName;\n $scope.repositoryInfo.params.ruleset.value = $scope.rulesetPie;\n }\n $scope.uploadFileLoader = false;\n }).error(function (data) {\n const msg = getError(data);\n toastr.error(msg, $translate.instant('common.error'));\n $scope.uploadFile = '';\n $scope.uploadFileLoader = false;\n });\n }\n };\n\n $scope.noMembersError = function () {\n toastr.error($translate.instant('fedx.create.repo.no.members.warning'));\n };\n\n $scope.goBackToPreviousLocation = function () {\n if (angular.isDefined($routeParams.previous)) {\n delete $location.$$search.previous;\n $location.path('/');\n } else {\n $location.path('/repository');\n }\n };\n\n $scope.createRepoHttp = function () {\n $scope.loader = true;\n RepositoriesRestService.createRepository($scope.repositoryInfo)\n .then(function () {\n toastr.success($translate.instant('created.repo.success.msg', {repoId: $scope.repositoryInfo.id}));\n $repositories.init().finally(() => $scope.goBackToPreviousLocation());\n })\n .catch(function (error) {\n const msg = getError(error.data);\n toastr.error(msg, $translate.instant('common.error'));\n })\n .finally(() => $scope.loader = false);\n };\n\n $scope.createRepo = function () {\n if (!$scope.repositoryInfo.id) {\n toastr.error($translate.instant('empty.repoid.warning'));\n return;\n }\n\n $scope.isInvalidRepoName = !FILENAME_PATTERN.test($scope.repositoryInfo.id);\n validateNumberFields($scope.repositoryInfo.params, $scope.invalidValues);\n const invalidValues = checkInvalidValues($scope.invalidValues, $translate);\n\n if (isInvalidPieFile) {\n toastr.error($translate.instant('invalid.ruleset.file.error'));\n } else if ($scope.isInvalidRepoName) {\n toastr.error($translate.instant('wrong.repo.name.error'));\n } else if ($scope.repositoryType === \"fedx\" && $scope.repositoryInfo.params.member.value.length === 0) {\n $scope.noMembersError();\n } else if (invalidValues) {\n toastr.error(invalidValues);\n } else {\n $scope.createRepoHttp();\n }\n };\n\n $scope.rulesetWarning = function () {\n const pp = $scope.repositoryInfo.params;\n if (pp === undefined || pp.ruleset === undefined || pp.disableSameAs === undefined) {\n return '';\n }\n\n if (pp.ruleset.value.indexOf('owl') === 0 && pp.disableSameAs.value === 'true') {\n return $translate.instant('repoTooltips.rulesetWarnings.needsSameAs');\n } else if (pp.ruleset.value.indexOf('rdfs') === 0 && pp.disableSameAs.value === 'false') {\n return $translate.instant('repoTooltips.rulesetWarnings.doesntNeedSameAs');\n } else if (pp.ruleset.value === $scope.rulesetPie) {\n return $translate.instant('repoTooltips.rulesetWarnings.customRuleset');\n } else {\n return '';\n }\n };\n\n $scope.validateNumberInput = function () {\n validateNumberFields($scope.repositoryInfo.params, $scope.invalidValues);\n };\n\n $scope.getShaclOptionsClass = function () {\n return getShaclOptionsClass();\n };\n //TODO - check if repositoryID exist\n\n // Request auto-focus of the ID input when creating a repo (but not when editing)\n $scope.autofocusId = 'autofocus';\n}\n\nEditRepositoryFileCtrl.$inject = ['$scope', '$modalInstance', 'RepositoriesRestService', 'file', 'toastr', '$translate'];\n\nfunction EditRepositoryFileCtrl($scope, $modalInstance, RepositoriesRestService, file, toastr, $translate) {\n\n if (file) {\n RepositoriesRestService.getRepositoryFileContent(file).success(function (data) {\n $scope.fileContent = data;\n }).error(function (data) {\n const msg = getError(data);\n toastr.error(msg, $translate.instant('common.error'));\n });\n }\n\n $scope.ok = function () {\n $modalInstance.close({\n content: $scope.fileContent,\n fileLocation: file\n });\n };\n\n $scope.cancel = function () {\n $modalInstance.dismiss('cancel');\n };\n}\n\nEditRepositoryCtrl.$inject = ['$scope', '$routeParams', 'toastr', '$repositories', '$location', 'ModalService', 'RepositoriesRestService',\n '$translate'];\n\nfunction EditRepositoryCtrl($scope, $routeParams, toastr, $repositories, $location, ModalService, RepositoriesRestService, $translate) {\n\n $scope.rulesets = STATIC_RULESETS.slice();\n $scope.repositoryTypes = REPOSITORY_TYPES;\n\n $scope.editRepoPage = true;\n $scope.canEditRepoId = false;\n $scope.params = $routeParams;\n $scope.loader = true;\n $scope.repositoryInfo = {};\n $scope.repositoryInfo.id = $scope.params.repositoryId;\n $scope.repositoryInfo.location = $scope.params.location;\n $scope.repositoryInfo.restartRequested = false;\n $scope.repositoryType = '';\n $scope.saveRepoId = $scope.params.repositoryId;\n $scope.pageTitle = $translate.instant('view.edit.repo.title', {repositoryId: $scope.params.repositoryId});\n $scope.invalidValues = {\n isInvalidQueryTimeout: false,\n isInvalidQueryLimit: false,\n isInvalidLeftJoinWorkerThreads: false,\n isInvalidBoundJoinBlockSize: false,\n isInvalidJoinWorkerThreads: false,\n isInvalidUnionWorkerThreads: false,\n isInvalidValidationResultsLimitPerConstraint: false,\n isInvalidValidationResultsLimitTotal: false\n };\n $scope.hasActiveLocation = function () {\n return $repositories.hasActiveLocation();\n };\n\n $scope.$watch($scope.hasActiveLocation, function () {\n if ($scope.hasActiveLocation) {\n // Should get locations before getting repository info\n getFilteredLocations($repositories).then((locations) => {\n $scope.locations = locations;\n return RepositoriesRestService.getRepository($scope.repositoryInfo);\n })\n .then(function (response) {\n const data = response.data;\n if (angular.isDefined(data.params.ruleset)) {\n let ifRulesetExists = false;\n angular.forEach($scope.rulesets, function (item) {\n if (item.id === data.params.ruleset.value) {\n ifRulesetExists = true;\n }\n });\n if (data.params.ruleset && !ifRulesetExists) {\n const name = getFileName(data.params.ruleset.value);\n $scope.rulesets.unshift({id: data.params.ruleset.value, name: 'Custom: ' + name});\n }\n }\n $scope.repositoryInfo = data;\n $scope.setRepositoryType(data.type);\n parseNumberParamsIfNeeded($scope.repositoryInfo.params);\n $scope.repositoryInfo.saveId = $scope.saveRepoId;\n $scope.loader = false;\n })\n .catch(function (response) {\n const data = response.data;\n const status = response.status;\n const repositoryId = $routeParams.repositoryId;\n let toastrMsg;\n\n if (status === 404 && repositoryId !== 'system') {\n toastrMsg = decodeHTML($translate.instant('edit.repo.error.not.exists', {repositoryId}));\n } else if (status === 404 && repositoryId === 'system') {\n toastrMsg = decodeHTML($translate.instant('edit.system.repo.warning'));\n } else {\n toastrMsg = getError(data);\n }\n\n toastr.error(toastrMsg, $translate.instant('common.error'), {allowHtml: true});\n\n if (status === 404) {\n setTimeout(function () {\n $scope.loader = false;\n $location.path('repository');\n }, 1000);\n } else {\n $scope.loader = false;\n }\n });\n }\n });\n\n $scope.setRepositoryType = function (type) {\n $scope.repositoryType = type;\n };\n\n $scope.noMembersError = function () {\n toastr.error($translate.instant('fedx.create.repo.no.members.warning'));\n };\n\n $scope.editRepoHttp = function () {\n $scope.loader = true;\n RepositoriesRestService.editRepository($scope.repositoryInfo.saveId, $scope.repositoryInfo)\n .success(function () {\n toastr.success($translate.instant('edit.repo.success.msg', {saveId: $scope.repositoryInfo.saveId}));\n $repositories.init().finally(() => $scope.goBackToPreviousLocation());\n if ($scope.repositoryInfo.saveId === $scope.repositoryInfo.id && $scope.repositoryInfo.restartRequested) {\n $repositories.restartRepository($scope.repositoryInfo);\n }\n }).error(function (data) {\n const msg = getError(data);\n toastr.error(msg, $translate.instant('common.error'));\n $scope.loader = false;\n });\n };\n\n $scope.editRepository = function () {\n $scope.isInvalidRepoName = !FILENAME_PATTERN.test($scope.repositoryInfo.id);\n validateNumberFields($scope.repositoryInfo.params, $scope.invalidValues);\n const invalidValues = checkInvalidValues($scope.invalidValues, $translate);\n let modalMsg = decodeHTML($translate.instant('edit.repo.save.changes.msg', {repoId: $scope.repositoryInfo.id}));\n if ($scope.repositoryInfo.saveId !== $scope.repositoryInfo.id) {\n modalMsg += decodeHTML($translate.instant('edit.repo.rename.changes.msg'));\n } else if ($scope.repositoryInfo.restartRequested) {\n modalMsg += decodeHTML($translate.instant('edit.repo.restart.requested.msg'));\n } else {\n modalMsg += decodeHTML($translate.instant('edit.repo.restart.needed.msg'));\n }\n if ($scope.isInvalidRepoName) {\n toastr.error($translate.instant('wrong.repo.name.error'));\n } else if ($scope.repositoryType === \"fedx\" && $scope.repositoryInfo.params.member.value.length === 0) {\n $scope.noMembersError();\n } else if (invalidValues) {\n toastr.error(invalidValues);\n } else {\n ModalService.openSimpleModal({\n title: $translate.instant('common.confirm.save'),\n message: modalMsg,\n warning: true\n }).result\n .then(function () {\n $scope.editRepoHttp();\n });\n }\n };\n\n $scope.editRepositoryId = function () {\n let msg = decodeHTML($translate.instant('edit.repo.id.warning.msg'));\n if ($scope.isEnterprise()) {\n msg += decodeHTML($translate.instant('edit.repo.id.cluster.warning.msg'));\n }\n ModalService.openSimpleModal({\n title: $translate.instant('confirm.enable.edit'),\n message: msg,\n warning: true\n }).result.then(function () {\n $scope.canEditRepoId = true;\n });\n };\n\n $scope.goBackToPreviousLocation = function () {\n if (angular.isDefined($routeParams.previous)) {\n delete $location.$$search.previous;\n $location.path('/');\n } else {\n $location.path('/repository');\n }\n };\n\n $scope.validateNumberInput = function () {\n validateNumberFields($scope.repositoryInfo.params, $scope.invalidValues);\n };\n\n $scope.getShaclOptionsClass = function () {\n return getShaclOptionsClass();\n };\n}\n"],"sourceRoot":""}
@@ -0,0 +1,2 @@
1
+ (window.webpackJsonp=window.webpackJsonp||[]).push([[73],{114:function(e,t){PluginRegistry.add("guide.step",[{guideBlockName:"enable-autocomplete",getSteps:(e,t)=>{const o=t.GuideUtils,n=t.toastr,l=t.$translate,a=t.$interpolate;return e.mainAction="enable-autocomplete",[{guideBlockName:"click-main-menu",options:angular.extend({},{menu:"autocomplete",showIntro:!0},e)},{guideBlockName:"clickable-element",options:angular.extend({},{content:"guide.step_plugin.enable-autocomplete.content",url:"/autocomplete",elementSelector:o.getGuideElementSelector("autocompleteCheckbox"),onNextValidate:t=>!!o.isVisible()||(o.noNextErrorToast(n,l,a,"guide.step_plugin.enable-autocomplete.error",e),!1)},e)},{guideBlockName:"read-only-element",options:angular.extend({},{content:"guide.step_plugin.enable-autocomplete.status_info.content",url:"/autocomplete",elementSelector:o.getGuideElementSelector("autocompleteStatus"),canBePaused:!1},e)}]}}])}}]);
2
+ //# sourceMappingURL=73.86adae641bf117fce3fe.bundle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["webpack:///./src/js/angular/guides/steps/complex/enable-autocomplete/plugin.js"],"names":["PluginRegistry","add","guideBlockName","getSteps","options","services","GuideUtils","toastr","$translate","$interpolate","mainAction","angular","extend","menu","showIntro","content","url","elementSelector","getGuideElementSelector","onNextValidate","step","isVisible","noNextErrorToast","canBePaused"],"mappings":"4EAAAA,eAAeC,IAAI,aAAc,CAC7B,CACIC,eAAgB,sBAChBC,SAAU,CAACC,EAASC,KAChB,MAAMC,EAAaD,EAASC,WACtBC,EAASF,EAASE,OAClBC,EAAaH,EAASG,WACtBC,EAAeJ,EAASI,aAG9B,OAFAL,EAAQM,WAAa,sBAEd,CACH,CACIR,eAAgB,kBAChBE,QAASO,QAAQC,OAAO,GAAI,CACxBC,KAAM,eACNC,WAAW,GACZV,IACJ,CACHF,eAAgB,oBAChBE,QAASO,QAAQC,OAAO,GAAI,CACxBG,QAAS,gDACTC,IAAK,gBACLC,gBAAiBX,EAAWY,wBAAwB,wBACpDC,eAAiBC,KAERd,EAAWe,cACZf,EAAWgB,iBAAiBf,EAAQC,EAAYC,EAC5C,8CAA+CL,IAC5C,IAIhBA,IAEH,CACIF,eAAgB,oBAChBE,QAASO,QAAQC,OAAO,GAAI,CACxBG,QAAS,4DACTC,IAAK,gBACLC,gBAAiBX,EAAWY,wBAAwB,sBACpDK,aAAa,GACdnB","file":"73.86adae641bf117fce3fe.bundle.js","sourcesContent":["PluginRegistry.add('guide.step', [\n {\n guideBlockName: 'enable-autocomplete',\n getSteps: (options, services) => {\n const GuideUtils = services.GuideUtils;\n const toastr = services.toastr;\n const $translate = services.$translate;\n const $interpolate = services.$interpolate;\n options.mainAction = 'enable-autocomplete';\n\n return [\n {\n guideBlockName: 'click-main-menu',\n options: angular.extend({}, {\n menu: 'autocomplete',\n showIntro: true\n }, options)\n }, {\n guideBlockName: 'clickable-element',\n options: angular.extend({}, {\n content: 'guide.step_plugin.enable-autocomplete.content',\n url: '/autocomplete',\n elementSelector: GuideUtils.getGuideElementSelector('autocompleteCheckbox'),\n onNextValidate: (step) => {\n\n if (!GuideUtils.isVisible()) {\n GuideUtils.noNextErrorToast(toastr, $translate, $interpolate,\n 'guide.step_plugin.enable-autocomplete.error', options);\n return false;\n }\n return true;\n }\n }, options)\n },\n {\n guideBlockName: 'read-only-element',\n options: angular.extend({}, {\n content: 'guide.step_plugin.enable-autocomplete.status_info.content',\n url: '/autocomplete',\n elementSelector: GuideUtils.getGuideElementSelector('autocompleteStatus'),\n canBePaused: false\n }, options)\n }\n ]\n }\n }\n]);\n"],"sourceRoot":""}
@@ -0,0 +1,2 @@
1
+ (window.webpackJsonp=window.webpackJsonp||[]).push([[75],{116:function(e,t){PluginRegistry.add("guide.step",[{guideBlockName:"import-rdf-file",getSteps:(e,t)=>{const i=t.GuideUtils,n=t.toastr,o=t.$translate,l=t.$interpolate;e.mainAction="import-file";const r=[{guideBlockName:"click-main-menu",options:angular.extend({},{menu:"import",showIntro:!0},e)}];e.resourcePath&&r.push({guideBlockName:"download-guide-resource",options:angular.extend({},{title:""},e)});const u=i.getGuideElementSelector("import-settings-import-button");return r.push({guideBlockName:"clickable-element",options:angular.extend({},{content:"guide.step_plugin.import_rdf_file.content",url:"/import",elementSelector:i.getGuideElementSelector("uploadRdfFileButton"),onNextValidate:()=>!!$(i.getGuideElementSelector("import-file-"+e.resourceFile)).length||(i.noNextErrorToast(n,o,l,"guide.step_plugin.import_rdf_file.file-must-be-uploaded",e),!1)},e)},{guideBlockName:"clickable-element",options:angular.extend({},{content:"guide.step_plugin.import_rdf_file.import-file.button.content",elementSelector:i.getGuideElementSelector("import-file-"+e.resourceFile),url:"/import",placement:"left",onNextClick:()=>i.clickOnGuideElement("import-file-"+e.resourceFile)()},e)},{guideBlockName:"clickable-element",options:angular.extend({},{content:"guide.step_plugin.import_rdf_file.import-settings.import.button.content",elementSelector:u,placement:"top",onPreviousClick:()=>new Promise((function(e){i.clickOnGuideElement("import-settings-cancel-button")().then(()=>e())})),beforeShowPromise:()=>new Promise((function(e,i){t.GuideUtils.deferredShow(300)().then(()=>{t.GuideUtils.waitFor(u,3).then(()=>{e()}).catch(e=>{t.toastr.error(t.$translate.instant("guide.unexpected.error.message")),i(e)})})})),onNextClick:()=>i.clickOnGuideElement("import-settings-import-button")(),canBePaused:!1},e)},{guideBlockName:"read-only-element",options:angular.extend({},{content:"guide.step_plugin.import_status_info.content",url:"/import",elementSelector:i.getGuideElementSelector("import-status-info"),onPreviousClick:()=>new Promise((function(t){i.clickOnGuideElement("import-file-"+e.resourceFile)().then(()=>t())}))},e)}),r}}])}}]);
2
+ //# sourceMappingURL=75.9923d34e550b5358194c.bundle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["webpack:///./src/js/angular/guides/steps/complex/import-rdf-file/plugin.js"],"names":["PluginRegistry","add","guideBlockName","getSteps","options","services","GuideUtils","toastr","$translate","$interpolate","mainAction","steps","angular","extend","menu","showIntro","resourcePath","push","title","importSettingsButtonSelector","getGuideElementSelector","content","url","elementSelector","onNextValidate","$","resourceFile","length","noNextErrorToast","placement","onNextClick","clickOnGuideElement","onPreviousClick","Promise","resolve","then","beforeShowPromise","reject","deferredShow","waitFor","catch","error","instant","canBePaused"],"mappings":"4EAAAA,eAAeC,IAAI,aAAc,CAC7B,CACIC,eAAgB,kBAChBC,SAAU,CAACC,EAASC,KAChB,MAAMC,EAAaD,EAASC,WACtBC,EAASF,EAASE,OAClBC,EAAaH,EAASG,WACtBC,EAAeJ,EAASI,aAC9BL,EAAQM,WAAa,cAErB,MAAMC,EAAQ,CACV,CACIT,eAAgB,kBAChBE,QAASQ,QAAQC,OAAO,GAAI,CACxBC,KAAM,SACNC,WAAW,GACZX,KAIPA,EAAQY,cACRL,EAAMM,KACF,CACIf,eAAgB,0BAChBE,QAASQ,QAAQC,OAAO,GAAI,CACxBK,MAAO,IACRd,KAKf,MAAMe,EAA+Bb,EAAWc,wBAAwB,iCAsExE,OArEAT,EAAMM,KACF,CACIf,eAAgB,oBAChBE,QAASQ,QAAQC,OAAO,GAAI,CACxBQ,QAAS,4CACTC,IAAK,UACLC,gBAAiBjB,EAAWc,wBAAwB,uBACpDI,eAAgB,MACPC,EAAEnB,EAAWc,wBAAwB,eAAiBhB,EAAQsB,eAAeC,SAC9ErB,EAAWsB,iBAAiBrB,EAAQC,EAAYC,EAC5C,0DAA2DL,IACxD,IAKhBA,IAEP,CACIF,eAAgB,oBAChBE,QAASQ,QAAQC,OAAO,GAAI,CACxBQ,QAAS,+DACTE,gBAAiBjB,EAAWc,wBAAwB,eAAiBhB,EAAQsB,cAC7EJ,IAAK,UACLO,UAAW,OACXC,YAAa,IAAMxB,EAAWyB,oBAAoB,eAAiB3B,EAAQsB,aAAxDpB,IACpBF,IAEP,CACIF,eAAgB,oBAChBE,QAASQ,QAAQC,OAAO,GAAI,CACxBQ,QAAS,0EACTE,gBAAiBJ,EACjBU,UAAW,MACXG,gBAAiB,IAAM,IAAIC,SAAQ,SAAUC,GACzC5B,EAAWyB,oBAAoB,gCAA/BzB,GACK6B,KAAK,IAAMD,QAEpBE,kBAAmB,IAAM,IAAIH,SAAQ,SAAUC,EAASG,GACpDhC,EAASC,WAAWgC,aAAa,IAAjCjC,GACK8B,KAAK,KACF9B,EAASC,WAAWiC,QAAQpB,EAA8B,GACrDgB,KAAK,KACFD,MAEHM,MAAOC,IACJpC,EAASE,OAAOkC,MAAMpC,EAASG,WAAWkC,QAAQ,mCAClDL,EAAOI,UAI3BX,YAAa,IAAMxB,EAAWyB,oBAAoB,gCAA/BzB,GACnBqC,aAAa,GACdvC,IAEP,CACIF,eAAgB,oBAChBE,QAASQ,QAAQC,OAAO,GAAI,CACxBQ,QAAS,+CACTC,IAAK,UACLC,gBAAiBjB,EAAWc,wBAAwB,sBACpDY,gBAAiB,IAAM,IAAIC,SAAQ,SAAUC,GACzC5B,EAAWyB,oBAAoB,eAAiB3B,EAAQsB,aAAxDpB,GACK6B,KAAK,IAAMD,SAErB9B,KAIJO","file":"75.9923d34e550b5358194c.bundle.js","sourcesContent":["PluginRegistry.add('guide.step', [\n {\n guideBlockName: 'import-rdf-file',\n getSteps: (options, services) => {\n const GuideUtils = services.GuideUtils;\n const toastr = services.toastr;\n const $translate = services.$translate;\n const $interpolate = services.$interpolate;\n options.mainAction = 'import-file';\n\n const steps = [\n {\n guideBlockName: 'click-main-menu',\n options: angular.extend({}, {\n menu: 'import',\n showIntro: true\n }, options)\n }\n ];\n\n if (options.resourcePath) {\n steps.push(\n {\n guideBlockName: 'download-guide-resource',\n options: angular.extend({}, {\n title: ''\n }, options)\n }\n );\n }\n\n const importSettingsButtonSelector = GuideUtils.getGuideElementSelector('import-settings-import-button');\n steps.push(...[\n {\n guideBlockName: 'clickable-element',\n options: angular.extend({}, {\n content: 'guide.step_plugin.import_rdf_file.content',\n url: '/import',\n elementSelector: GuideUtils.getGuideElementSelector('uploadRdfFileButton'),\n onNextValidate: () => {\n if (!$(GuideUtils.getGuideElementSelector('import-file-' + options.resourceFile)).length) {\n GuideUtils.noNextErrorToast(toastr, $translate, $interpolate,\n 'guide.step_plugin.import_rdf_file.file-must-be-uploaded', options);\n return false;\n } else {\n return true;\n }\n }\n }, options)\n },\n {\n guideBlockName: 'clickable-element',\n options: angular.extend({}, {\n content: 'guide.step_plugin.import_rdf_file.import-file.button.content',\n elementSelector: GuideUtils.getGuideElementSelector('import-file-' + options.resourceFile),\n url: '/import',\n placement: 'left',\n onNextClick: () => GuideUtils.clickOnGuideElement('import-file-' + options.resourceFile)()\n }, options)\n },\n {\n guideBlockName: 'clickable-element',\n options: angular.extend({}, {\n content: 'guide.step_plugin.import_rdf_file.import-settings.import.button.content',\n elementSelector: importSettingsButtonSelector,\n placement: 'top',\n onPreviousClick: () => new Promise(function (resolve) {\n GuideUtils.clickOnGuideElement('import-settings-cancel-button')()\n .then(() => resolve());\n }),\n beforeShowPromise: () => new Promise(function (resolve, reject) {\n services.GuideUtils.deferredShow(300)()\n .then(() => {\n services.GuideUtils.waitFor(importSettingsButtonSelector, 3)\n .then(() => {\n resolve();\n })\n .catch((error) => {\n services.toastr.error(services.$translate.instant('guide.unexpected.error.message'));\n reject(error);\n });\n });\n }),\n onNextClick: () => GuideUtils.clickOnGuideElement('import-settings-import-button')(),\n canBePaused: false\n }, options)\n },\n {\n guideBlockName: 'read-only-element',\n options: angular.extend({}, {\n content: 'guide.step_plugin.import_status_info.content',\n url: '/import',\n elementSelector: GuideUtils.getGuideElementSelector('import-status-info'),\n onPreviousClick: () => new Promise(function (resolve) {\n GuideUtils.clickOnGuideElement('import-file-' + options.resourceFile)()\n .then(() => resolve());\n })\n }, options)\n }\n ]);\n\n return steps;\n }\n }\n]);\n"],"sourceRoot":""}
@@ -0,0 +1,2 @@
1
+ (window.webpackJsonp=window.webpackJsonp||[]).push([[77],{118:function(e,t){PluginRegistry.add("guide.step",[{guideBlockName:"select-repository-dropdown",getSteps:(e,t)=>{const o=t.GuideUtils;e.mainAction="select-repository";let n=o.getGuideElementSelector(`repository-${e.repositoryId}-button`);return[{guideBlockName:"clickable-element",options:angular.extend({},{skipPoint:!0,content:"guide.step_plugin.choose-repository.content",elementSelector:o.getGuideElementSelector("repositoriesGroupButton"),onNextClick:e=>o.clickOnGuideElement("repositoriesGroupButton")().then(()=>e.next())},e)},{guideBlockName:"clickable-element",options:angular.extend({},{content:"guide.step_plugin.select-repository.content",elementSelector:n,beforeShowPromise:()=>new Promise((function(e,o){t.GuideUtils.waitFor(n,1).then(()=>e()).catch(e=>{t.toastr.error(t.$translate.instant("guide.unexpected.error.message")),o(e)})})),onNextClick:t=>o.clickOnGuideElement(`repository-${e.repositoryId}-button`)().then(()=>t.next()),canBePaused:!1},e)}]}},{guideBlockName:"select-repository-plug",getSteps:(e,t)=>{const o=t.GuideUtils;return[{guideBlockName:"clickable-element",options:angular.extend({},{content:"guide.step_plugin.select-repository-plug.content",elementSelector:o.getGuideElementSelector(`repository-${e.repositoryId}-plug`),onNextClick:o.getGuideElementSelector(`repository-${e.repositoryId}-plug`)},e)}]}}])}}]);
2
+ //# sourceMappingURL=77.4e84abd9b025b1812617.bundle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["webpack:///./src/js/angular/guides/steps/complex/select-repository/plugin.js"],"names":["PluginRegistry","add","guideBlockName","getSteps","options","services","GuideUtils","mainAction","repositoryButtonSelector","getGuideElementSelector","repositoryId","angular","extend","skipPoint","content","elementSelector","onNextClick","guide","clickOnGuideElement","then","next","beforeShowPromise","Promise","resolve","reject","waitFor","catch","error","toastr","$translate","instant","canBePaused"],"mappings":"4EAAAA,eAAeC,IAAI,aAAc,CAC7B,CACIC,eAAgB,6BAChBC,SAAU,CAACC,EAASC,KAChB,MAAMC,EAAaD,EAASC,WAC5BF,EAAQG,WAAa,oBAErB,IAAIC,EAA2BF,EAAWG,wBAAwB,cAAcL,EAAQM,uBACxF,MAAO,CAAC,CACJR,eAAgB,oBAChBE,QAASO,QAAQC,OAAO,GAAI,CACxBC,WAAW,EACXC,QAAS,8CACTC,gBAAiBT,EAAWG,wBAAwB,2BACpDO,YAAcC,GAAUX,EAAWY,oBAAoB,0BAA/BZ,GAA4Da,KAAK,IAAMF,EAAMG,SACtGhB,IACJ,CACCF,eAAgB,oBAChBE,QAASO,QAAQC,OAAO,GAAI,CACxBE,QAAS,8CACTC,gBAAiBP,EACjBa,kBAAmB,IAAM,IAAIC,SAAQ,SAAUC,EAASC,GACpDnB,EAASC,WAAWmB,QAAQjB,EAA0B,GACjDW,KAAK,IAAMI,KACXG,MAAOC,IACJtB,EAASuB,OAAOD,MAAMtB,EAASwB,WAAWC,QAAQ,mCAClDN,EAAOG,QAGnBX,YAAcC,GAAUX,EAAWY,oBAAoB,cAAcd,EAAQM,sBAArDJ,GAA8Ea,KAAK,IAAMF,EAAMG,QACvHW,aAAa,GACd3B,OAKf,CACIF,eAAgB,yBAChBC,SAAU,CAACC,EAASC,KAChB,MAAMC,EAAaD,EAASC,WAC5B,MAAO,CAAC,CACJJ,eAAgB,oBAChBE,QAASO,QAAQC,OAAO,GAAI,CACxBE,QAAS,mDACTC,gBAAiBT,EAAWG,wBAAwB,cAAcL,EAAQM,qBAC1EM,YAAaV,EAAWG,wBAAwB,cAAcL,EAAQM,sBACvEN","file":"77.4e84abd9b025b1812617.bundle.js","sourcesContent":["PluginRegistry.add('guide.step', [\n {\n guideBlockName: 'select-repository-dropdown',\n getSteps: (options, services) => {\n const GuideUtils = services.GuideUtils;\n options.mainAction = 'select-repository';\n\n let repositoryButtonSelector = GuideUtils.getGuideElementSelector(`repository-${options.repositoryId}-button`);\n return [{\n guideBlockName: 'clickable-element',\n options: angular.extend({}, {\n skipPoint: true,\n content: 'guide.step_plugin.choose-repository.content',\n elementSelector: GuideUtils.getGuideElementSelector('repositoriesGroupButton'),\n onNextClick: (guide) => GuideUtils.clickOnGuideElement('repositoriesGroupButton')().then(() => guide.next())\n }, options)\n }, {\n guideBlockName: 'clickable-element',\n options: angular.extend({}, {\n content: 'guide.step_plugin.select-repository.content',\n elementSelector: repositoryButtonSelector,\n beforeShowPromise: () => new Promise(function (resolve, reject) {\n services.GuideUtils.waitFor(repositoryButtonSelector, 1)\n .then(() => resolve())\n .catch((error) => {\n services.toastr.error(services.$translate.instant('guide.unexpected.error.message'));\n reject(error);\n });\n }),\n onNextClick: (guide) => GuideUtils.clickOnGuideElement(`repository-${options.repositoryId}-button`)().then(() => guide.next()),\n canBePaused: false\n }, options)\n }\n ];\n }\n },\n {\n guideBlockName: 'select-repository-plug',\n getSteps: (options, services) => {\n const GuideUtils = services.GuideUtils;\n return [{\n guideBlockName: 'clickable-element',\n options: angular.extend({}, {\n content: 'guide.step_plugin.select-repository-plug.content',\n elementSelector: GuideUtils.getGuideElementSelector(`repository-${options.repositoryId}-plug`),\n onNextClick: GuideUtils.getGuideElementSelector(`repository-${options.repositoryId}-plug`)\n }, options)\n }\n ];\n }\n }\n]);\n"],"sourceRoot":""}