graphdb-workbench 2.3.0-TR7 → 2.3.0-TR8

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 (55) hide show
  1. package/dist/{108.112426f55d9e34a78ab3.bundle.js → 108.7199f12abac98c8182cd.bundle.js} +1 -1
  2. package/dist/{108.112426f55d9e34a78ab3.bundle.js.map → 108.7199f12abac98c8182cd.bundle.js.map} +1 -1
  3. package/dist/11.4928d8d13ff46f3872bb.bundle.js +1 -1
  4. package/dist/11.4928d8d13ff46f3872bb.bundle.js.map +1 -1
  5. package/dist/148.45985ae23de642595544.bundle.js +1 -1
  6. package/dist/148.45985ae23de642595544.bundle.js.map +1 -1
  7. package/dist/20.4eb25ede434dc329ecf1.bundle.js +1 -1
  8. package/dist/20.4eb25ede434dc329ecf1.bundle.js.map +1 -1
  9. package/dist/{21.62777310f384dd7b71a4.bundle.js → 21.b8c57ce9c9688adcf29c.bundle.js} +1 -1
  10. package/dist/{21.62777310f384dd7b71a4.bundle.js.map → 21.b8c57ce9c9688adcf29c.bundle.js.map} +1 -1
  11. package/dist/27.fef157d9275358c9f1a0.bundle.js +1 -1
  12. package/dist/27.fef157d9275358c9f1a0.bundle.js.map +1 -1
  13. package/dist/33.fde8076c81c87c25c367.bundle.js +1 -1
  14. package/dist/33.fde8076c81c87c25c367.bundle.js.map +1 -1
  15. package/dist/40.10f42e3f6d8d87bd3221.bundle.js +1 -1
  16. package/dist/40.10f42e3f6d8d87bd3221.bundle.js.map +1 -1
  17. package/dist/5.5e565a2f6404b3c60148.bundle.js +2 -0
  18. package/dist/5.5e565a2f6404b3c60148.bundle.js.map +1 -0
  19. package/dist/94.94158487a9024ff3a623.bundle.js +1 -1
  20. package/dist/94.94158487a9024ff3a623.bundle.js.map +1 -1
  21. package/dist/{bundle.896281e5e7a26024597b.bundle.js → bundle.0cdc9c2787cb0740de6d.bundle.js} +3 -3
  22. package/dist/{bundle.896281e5e7a26024597b.bundle.js.map → bundle.0cdc9c2787cb0740de6d.bundle.js.map} +1 -1
  23. package/dist/index.html +3 -3
  24. package/dist/js/angular/core/directives/rdfresourcesearch/templates/rdfResourceSearchTemplate.html +1 -1
  25. package/dist/pages/autocomplete.html +1 -1
  26. package/dist/pages/choose-repository-type.html +1 -1
  27. package/dist/pages/cluster-management/clusterInfo.html +3 -3
  28. package/dist/pages/create-index.html +4 -4
  29. package/dist/pages/dependencies.html +1 -1
  30. package/dist/pages/domainRangeInfo.html +2 -2
  31. package/dist/pages/edit.html +1 -1
  32. package/dist/pages/explore.html +1 -1
  33. package/dist/pages/export.html +1 -1
  34. package/dist/pages/find.html +1 -1
  35. package/dist/pages/graph-config/saveGraphConfig.html +11 -11
  36. package/dist/pages/graphs-visualizations.html +7 -7
  37. package/dist/pages/guides.html +1 -1
  38. package/dist/pages/import.html +1 -1
  39. package/dist/pages/jdbc-create.html +5 -5
  40. package/dist/pages/monitor/queries.html +1 -1
  41. package/dist/pages/monitor/resources.html +2 -2
  42. package/dist/pages/namespaces.html +2 -2
  43. package/dist/pages/plugins.html +1 -1
  44. package/dist/pages/rdfClassHierarchyInfo.html +7 -7
  45. package/dist/pages/rdfrank.html +2 -2
  46. package/dist/pages/repositories.html +2 -2
  47. package/dist/pages/repository.html +2 -2
  48. package/dist/pages/similarity-indexes.html +1 -1
  49. package/dist/pages/sparql-template-create.html +5 -5
  50. package/dist/pages/sparql.html +3 -3
  51. package/dist/pages/webapi.html +2 -2
  52. package/dist/res/swagger/index.html +27 -27
  53. package/package.json +1 -1
  54. package/dist/5.b0829613ef25834bf1ab.bundle.js +0 -2
  55. package/dist/5.b0829613ef25834bf1ab.bundle.js.map +0 -1
@@ -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","convertAdditionalPropertiesParamIfNeeded","values","additionalProperties","Object","valuesAsStrings","keys","map","key","join","getShaclOptionsClass","optionsModule","document","getElementById","isAriaExpanded","getAttribute","validateNumberFields","invalidValues","isInvalidQueryTimeout","test","isInvalidValidationResultsLimitTotal","isInvalidValidationResultsLimitPerConstraint","isInvalidQueryLimit","isInvalidLeftJoinWorkerThreads","isInvalidBoundJoinBlockSize","isInvalidJoinWorkerThreads","isInvalidUnionWorkerThreads","getInvalidParameterErrorMessage","param","$translate","instant","checkInvalidValues","invalidValuesKeys","invalidValuesVal","i","length","getDocBase","productInfo","productShortVersion","getFilteredLocations","$repositories","getLocations","then","locations","filter","location","errorMsg","degradedReason","LocationsAndRepositoriesCtrl","$scope","$rootScope","$uibModal","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","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","$uibModalInstance","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","resp","member","element","find","focus","catch","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","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.5e565a2f6404b3c60148.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 convertAdditionalPropertiesParamIfNeeded = function (params) {\n const values = params && params.additionalProperties && params.additionalProperties.value;\n\n if (values && values instanceof Object) {\n const values = params.additionalProperties.value;\n const valuesAsStrings = Object.keys(values).map((key) => `${key}=${values[key]}`);\n params.additionalProperties.value = valuesAsStrings.join('\\n');\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', '$uibModal', 'toastr', '$repositories', 'ModalService', '$jwtAuth', 'LocationsRestService',\n 'LocalStorageAdapter', '$interval', '$translate', '$q', 'GuidesService'];\n\nfunction LocationsAndRepositoriesCtrl($scope, $rootScope, $uibModal, 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 $uibModal.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 = $uibModal.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)\n .finally(() => {\n getLocations();\n $scope.loader = false;\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 = $uibModal.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 $uibModal.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', '$uibModalInstance', 'Upload', 'toastr', '$translate'];\n\nfunction UploadRepositoryConfigCtrl($scope, $uibModalInstance, 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 $uibModalInstance.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 $uibModalInstance.dismiss('cancel');\n };\n}\n\nAddLocationCtrl.$inject = ['$scope', '$uibModalInstance', 'toastr', 'productInfo', '$translate'];\n\nfunction AddLocationCtrl($scope, $uibModalInstance, 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 $uibModalInstance.close($scope.newLocation);\n };\n\n $scope.cancel = function () {\n $uibModalInstance.dismiss('cancel');\n };\n}\n\nEditLocationCtrl.$inject = ['$scope', '$uibModalInstance', 'location', 'productInfo'];\n\nfunction EditLocationCtrl($scope, $uibModalInstance, location, productInfo) {\n\n $scope.editedLocation = angular.copy(location);\n $scope.docBase = getDocBase(productInfo);\n\n $scope.ok = function () {\n $uibModalInstance.close($scope.editedLocation);\n };\n\n $scope.cancel = function () {\n $uibModalInstance.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).then(function (resp) {\n const data = resp.data;\n $scope.repositoryInfo.params = data.params;\n $scope.repositoryInfo.type = data.type;\n parseNumberParamsIfNeeded($scope.repositoryInfo.params);\n parseMemberParamIfNeeded($scope.repositoryInfo.params);\n convertAdditionalPropertiesParamIfNeeded($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 }).catch(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 return $repositories.init();\n })\n .then(() => $scope.goBackToPreviousLocation())\n .catch(function (error) {\n const msg = getError(error.data);\n toastr.error(msg, $translate.instant('common.error'));\n })\n .finally(() => {\n $scope.loader = false;\n });\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', '$uibModalInstance', 'RepositoriesRestService', 'file', 'toastr', '$translate'];\n\nfunction EditRepositoryFileCtrl($scope, $uibModalInstance, 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 $uibModalInstance.close({\n content: $scope.fileContent,\n fileLocation: file\n });\n };\n\n $scope.cancel = function () {\n $uibModalInstance.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 convertAdditionalPropertiesParamIfNeeded($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":""}
@@ -1,2 +1,2 @@
1
- (window.webpackJsonp=window.webpackJsonp||[]).push([[94],{91:function(t,e,i){"use strict";i.r(e);i(4),i(14);const r=angular.module("graphdb.framework.impex.import.directives",["graphdb.framework.utils.uriutils"]);r.directive("validateUri",["UriUtils",function(t){return{restrict:"A",require:"ngModel",link:function(e,i,r,a){a.$parsers.unshift((function(i){let r=!0;return"named"===e.target&&(r=t.isValidIri(i)),a.$setValidity("validateUri",r),i}))}}}]),r.directive("filesTable",(function(){return{restrict:"A",templateUrl:"js/angular/import/templates/filesTable.html"}})),r.directive("filesOntoLoader",(function(){return{link:function(t,e,i){t.$watch("file.status",(function(){"IMPORTING"!==t.file.status&&"UPLOADING"!==t.file.status||!$(e).has("object").length>0&&$(e).append('<object width="'+i.size+'" height="'+i.size+'" data="js/angular/templates/loader/ot-loader.svg?v=2.3.0-TR7">{{\'common.loading\' | translate}}</object>')}))}}}))}}]);
1
+ (window.webpackJsonp=window.webpackJsonp||[]).push([[94],{91:function(t,e,i){"use strict";i.r(e);i(4),i(14);const r=angular.module("graphdb.framework.impex.import.directives",["graphdb.framework.utils.uriutils"]);r.directive("validateUri",["UriUtils",function(t){return{restrict:"A",require:"ngModel",link:function(e,i,r,a){a.$parsers.unshift((function(i){let r=!0;return"named"===e.target&&(r=t.isValidIri(i)),a.$setValidity("validateUri",r),i}))}}}]),r.directive("filesTable",(function(){return{restrict:"A",templateUrl:"js/angular/import/templates/filesTable.html"}})),r.directive("filesOntoLoader",(function(){return{link:function(t,e,i){t.$watch("file.status",(function(){"IMPORTING"!==t.file.status&&"UPLOADING"!==t.file.status||!$(e).has("object").length>0&&$(e).append('<object width="'+i.size+'" height="'+i.size+'" data="js/angular/templates/loader/ot-loader.svg?v=2.3.0-TR8">{{\'common.loading\' | translate}}</object>')}))}}}))}}]);
2
2
  //# sourceMappingURL=94.94158487a9024ff3a623.bundle.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["webpack:///./src/js/angular/import/directives.js"],"names":["importDirectives","angular","module","directive","UriUtils","restrict","require","link","scope","element","attr","ctrl","$parsers","unshift","value","valid","target","isValidIri","$setValidity","templateUrl","$watch","file","status","$","has","length","append","size"],"mappings":"0FAAA,kBAGA,MAAMA,EAAmBC,QAAQC,OAAO,4CAA6C,CACjF,qCAGJF,EAAiBG,UAAU,cAAe,CAAC,WAAY,SAAUC,GAC7D,MAAO,CACHC,SAAU,IACVC,QAAS,UACTC,KAAM,SAAUC,EAAOC,EAASC,EAAMC,GAClCA,EAAKC,SAASC,SAAQ,SAAUC,GAC5B,IAAIC,GAAQ,EAQZ,MANqB,UAAjBP,EAAMQ,SACND,EAAQX,EAASa,WAAWH,IAGhCH,EAAKO,aAAa,cAAeH,GAE1BD,UAMvBd,EAAiBG,UAAU,cAAc,WACrC,MAAO,CACHE,SAAU,IACVc,YAAa,kDAIrBnB,EAAiBG,UAAU,mBAAmB,WAC1C,MAAO,CACHI,KAAM,SAAUC,EAAOC,EAASC,GAC5BF,EAAMY,OAAO,eAAe,WACE,cAAtBZ,EAAMa,KAAKC,QAAgD,cAAtBd,EAAMa,KAAKC,SAC3CC,EAAEd,GAASe,IAAI,UAAUC,OAAS,GACnCF,EAAEd,GAASiB,OAAO,kBAAoBhB,EAAKiB,KAAO,aAAejB,EAAKiB,KAAO","file":"94.94158487a9024ff3a623.bundle.js","sourcesContent":["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.3.0-TR7\">{{\\'common.loading\\' | translate}}</object>');\n }\n }\n });\n }\n };\n});\n"],"sourceRoot":""}
1
+ {"version":3,"sources":["webpack:///./src/js/angular/import/directives.js"],"names":["importDirectives","angular","module","directive","UriUtils","restrict","require","link","scope","element","attr","ctrl","$parsers","unshift","value","valid","target","isValidIri","$setValidity","templateUrl","$watch","file","status","$","has","length","append","size"],"mappings":"0FAAA,kBAGA,MAAMA,EAAmBC,QAAQC,OAAO,4CAA6C,CACjF,qCAGJF,EAAiBG,UAAU,cAAe,CAAC,WAAY,SAAUC,GAC7D,MAAO,CACHC,SAAU,IACVC,QAAS,UACTC,KAAM,SAAUC,EAAOC,EAASC,EAAMC,GAClCA,EAAKC,SAASC,SAAQ,SAAUC,GAC5B,IAAIC,GAAQ,EAQZ,MANqB,UAAjBP,EAAMQ,SACND,EAAQX,EAASa,WAAWH,IAGhCH,EAAKO,aAAa,cAAeH,GAE1BD,UAMvBd,EAAiBG,UAAU,cAAc,WACrC,MAAO,CACHE,SAAU,IACVc,YAAa,kDAIrBnB,EAAiBG,UAAU,mBAAmB,WAC1C,MAAO,CACHI,KAAM,SAAUC,EAAOC,EAASC,GAC5BF,EAAMY,OAAO,eAAe,WACE,cAAtBZ,EAAMa,KAAKC,QAAgD,cAAtBd,EAAMa,KAAKC,SAC3CC,EAAEd,GAASe,IAAI,UAAUC,OAAS,GACnCF,EAAEd,GAASiB,OAAO,kBAAoBhB,EAAKiB,KAAO,aAAejB,EAAKiB,KAAO","file":"94.94158487a9024ff3a623.bundle.js","sourcesContent":["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.3.0-TR8\">{{\\'common.loading\\' | translate}}</object>');\n }\n }\n });\n }\n };\n});\n"],"sourceRoot":""}