graphdb-workbench 2.0.0-M3-RC2 → 2.0.0-M3-RC3
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.
- package/dist/11.32f5a72d66bb699e9e8b.bundle.js +1 -1
- package/dist/11.32f5a72d66bb699e9e8b.bundle.js.map +1 -1
- package/dist/120.80843604737b7c260788.bundle.js +1 -1
- package/dist/120.80843604737b7c260788.bundle.js.map +1 -1
- package/dist/18.44723ea06155c72f46ae.bundle.js +1 -1
- package/dist/18.44723ea06155c72f46ae.bundle.js.map +1 -1
- package/dist/19.50d07be48e86feaaa2a8.bundle.js +2 -0
- package/dist/{19.cafe4adeaab529231727.bundle.js.map → 19.50d07be48e86feaaa2a8.bundle.js.map} +1 -1
- package/dist/25.fffc5233e718b047a34f.bundle.js +1 -1
- package/dist/25.fffc5233e718b047a34f.bundle.js.map +1 -1
- package/dist/29.9bdb27c21d6eacac1341.bundle.js +1 -1
- package/dist/29.9bdb27c21d6eacac1341.bundle.js.map +1 -1
- package/dist/30.e2cd19e99cf6ecdad6ac.bundle.js +1 -1
- package/dist/30.e2cd19e99cf6ecdad6ac.bundle.js.map +1 -1
- package/dist/68.e25480b7770a679a9654.bundle.js +1 -1
- package/dist/68.e25480b7770a679a9654.bundle.js.map +1 -1
- package/dist/{82.37392f6b8c81e32a27b5.bundle.js → 82.6f82f4ca0efec1b20486.bundle.js} +2 -2
- package/dist/{82.37392f6b8c81e32a27b5.bundle.js.map → 82.6f82f4ca0efec1b20486.bundle.js.map} +1 -1
- package/dist/{bundle.75e471af3a644493fb37.bundle.js → bundle.e65c5ca8080546fe24d7.bundle.js} +3 -3
- package/dist/{bundle.75e471af3a644493fb37.bundle.js.map → bundle.e65c5ca8080546fe24d7.bundle.js.map} +1 -1
- package/dist/index.html +3 -3
- package/dist/js/angular/core/directives/rdfresourcesearch/templates/rdfResourceSearchTemplate.html +1 -1
- package/dist/pages/autocomplete.html +1 -1
- package/dist/pages/choose-repository-type.html +1 -1
- package/dist/pages/cluster-management/clusterInfo.html +3 -3
- package/dist/pages/create-index.html +4 -4
- package/dist/pages/dependencies.html +1 -1
- package/dist/pages/domainRangeInfo.html +2 -2
- package/dist/pages/edit.html +1 -1
- package/dist/pages/explore.html +1 -1
- package/dist/pages/export.html +1 -1
- package/dist/pages/find.html +1 -1
- package/dist/pages/graph-config/saveGraphConfig.html +11 -11
- package/dist/pages/graphs-visualizations.html +7 -7
- package/dist/pages/import.html +1 -1
- package/dist/pages/jdbc-create.html +5 -5
- package/dist/pages/monitor/queries.html +1 -1
- package/dist/pages/monitor/resources.html +2 -2
- package/dist/pages/namespaces.html +2 -2
- package/dist/pages/plugins.html +1 -1
- package/dist/pages/rdfClassHierarchyInfo.html +7 -7
- package/dist/pages/rdfrank.html +2 -2
- package/dist/pages/repositories.html +2 -2
- package/dist/pages/repository.html +2 -2
- package/dist/pages/similarity-indexes.html +1 -1
- package/dist/pages/sparql-template-create.html +5 -5
- package/dist/pages/sparql.html +3 -3
- package/dist/pages/webapi.html +2 -2
- package/dist/res/swagger/index.html +27 -27
- package/package.json +1 -1
- package/dist/19.cafe4adeaab529231727.bundle.js +0 -2
package/dist/{19.cafe4adeaab529231727.bundle.js.map → 19.50d07be48e86feaaa2a8.bundle.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["webpack:///./src/js/angular/repositories/app.js","webpack:///./src/js/angular/settings/controllers.js","webpack:///./src/js/angular/repositories/ontop-repo.directive.js","webpack:///./src/js/angular/repositories/fedx-repo.directive.js","webpack:///./src/js/angular/settings/app.js"],"names":["angular","module","ActiveLocationSettingsCtrl","$scope","toastr","$modalInstance","LicenseRestService","$translate","supportsStatistics","settings","statistics","getSettings","loader","getStatistics","then","response","data","status","msg","getError","error","instant","setSettings","toggleStatistics","close","success","submitForm","cancel","dismiss","LicenseCtrl","$licenseService","$rootScope","ModalService","loadingLicense","checkLicenseStatus","revertToFree","openSimpleModal","title","message","warning","result","unregisterLicense","RegisterLicenseCtrl","$location","$modal","$window","$jwtAuth","$on","isAdmin","path","sendLicenseToValidateAndActivate","textAreaSel","$","licenseCode","sendLicenseToValidate","validatedLicense","licensee","val","license","open","templateUrl","controller","size","resolve","decodedLicense","atob","replace","registerLicense","history","back","confirmWantedNewLicenseDetails","$watch","currentFile","file","extractFromLicenseFile","getBackToPreviousPage","ValidateLicenseModalCtrl","ok","LoaderSamplesCtrl","setLoader","$inject","ontopRepoDirective","RepositoriesRestService","Upload","restrict","scope","link","selectedDriver","driverType","driverName","jdbc","hostName","port","databaseName","userName","password","driverClass","url","urlTemplate","downloadDriverUrl","ontopRepoFileNames","supportedDriversData","ontopRepoFileLabels","propertiesFile","obdaFile","owlFile","constraintFile","dbMetadataFile","ontopRepoFiles","Object","keys","forEach","key","repositoryInfo","params","value","supportedDriverLabels","propertiesFileParams","classAvailable","genericDriverType","REQUIRED_ONTOP_REPO_PARAMS","REQUIRED_PROPERTIES_FIELD_PARAMS","updateProperties","filter","requiredField","length","Promise","reject","uploadFileLoader","updatePropertiesFile","location","fileLocation","showErrorMsg","loadDriverByClass","foundDriver","find","driver","copyDriverProperties","selectDriverByType","concatURL","portRequired","isReadOnly","labelName","editFile","updateRepositoryFileContent","content","uploadOntopRepoFile","files","param","uploadFile","upload","name","errorMessage","getInputType","checkForRequiredOntopFiles","requiredFile","validateOntopPropertiesConnection","isOntopRepoFileUploaded","isRequiredOntopRepoFile","indexOf","isRequiredField","field","getFieldTooltip","repoTooltips","ontop","editOntopRepo","editRepository","catch","err","createOntopRepo","id","createRepo","goBackToPrevious","goBackToPreviousLocation","getSupportedDriversData","editRepoPage","loadPropertiesFile","driverData","parseInt","directive","fedxRepoDirective","LOCAL_REPO_STORE","fedxMembers","knownRepos","allAttachedRepos","member","slice","populateKnownRepos","repo","repositoryServer","repositoryName","local","getKnownRepos","getRepositories","repos","_","values","push","apply","cloneDeep","setWritableRepo","currentWritable","writable","store","JSON","stringify","getActiveClass","checkIfRepoExist","getRepositoryServer","localReposTimer","setInterval","updateMembers","removeEndingSlash","checkEditMode","model","editMode","clearInterval","addMember","repository","repoType","type","respectRights","username","supportsASKQueries","removeMember","el","endpoint","repositoryLocation","addRemoteMember","mode","sparqlEndpoint","getMemberIcon","editFedXRepository","resolveName","resolvedName","config","$httpProvider","interceptors","run","isLicenseHardcoded"],"mappings":"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","file":"19.cafe4adeaab529231727.bundle.js","sourcesContent":["import 'angular/core/services';\nimport 'angular/core/directives';\nimport 'angular/core/controllers';\nimport 'angular/repositories/controllers';\nimport 'angular/repositories/ontop-repo.directive';\nimport 'angular/repositories/fedx-repo.directive';\nimport 'angular/core/services/repositories.service';\nimport 'angular/settings/app';\nimport 'ng-file-upload/dist/ng-file-upload.min';\nimport 'ng-file-upload/dist/ng-file-upload-shim.min';\n\nconst modules = [\n 'ui.bootstrap',\n 'toastr',\n 'ngCookies',\n 'ngRoute',\n 'graphdb.framework.repositories.controllers',\n 'graphdb.framework.repositories.ontop-repo.directive',\n 'graphdb.framework.repositories.fedx-repo.directive',\n 'graphdb.framework.core.services.repositories',\n 'graphdb.framework.core.directives',\n 'graphdb.framework.core.controllers',\n 'graphdb.framework.settings'\n];\n\nangular.module('graphdb.framework.repositories', modules);\n","import 'angular/core/services';\nimport 'angular/core/services/jwt-auth.service';\n\nangular\n .module('graphdb.framework.settings.controllers', [\n 'ngCookies',\n 'ui.bootstrap',\n 'graphdb.framework.core.services.jwtauth',\n 'toastr'\n ])\n .controller('ActiveLocationSettingsCtrl', ActiveLocationSettingsCtrl)\n .controller('ValidateLicenseModalCtrl', ValidateLicenseModalCtrl)\n .controller('LicenseCtrl', LicenseCtrl)\n .controller('RegisterLicenseCtrl', RegisterLicenseCtrl)\n .controller('LoaderSamplesCtrl', LoaderSamplesCtrl);\n\nActiveLocationSettingsCtrl.$inject = ['$scope', 'toastr', '$modalInstance', 'LicenseRestService', '$translate'];\n\nfunction ActiveLocationSettingsCtrl($scope, toastr, $modalInstance, LicenseRestService, $translate) {\n $scope.supportsStatistics = true;\n $scope.settings = {statistics: false};\n $scope.getSettings = getSettings;\n\n function getSettings() {\n $scope.loader = true;\n LicenseRestService.getStatistics().then(function (response) {\n $scope.settings.statistics = response.data === 'true';\n $scope.supportsStatistics = true;\n }, function (response) {\n if (response.status === 404) {\n $scope.supportsStatistics = false;\n } else {\n const msg = getError(response.data);\n toastr.error(msg, $translate.instant('error.getting.settings'));\n }\n });\n }\n\n $scope.getSettings();\n\n $scope.setSettings = function () {\n $scope.loader = true;\n LicenseRestService.toggleStatistics($scope.settings.statistics).then(function () {\n $modalInstance.close();\n toastr.success($translate.instant('saving.settings.success'));\n }, function (response) {\n const msg = getError(response.data);\n toastr.error(msg, $translate.instant('saving.settings.error'));\n });\n };\n\n $scope.submitForm = function () {\n $scope.setSettings();\n };\n\n $scope.cancel = function () {\n $modalInstance.dismiss('cancel');\n };\n}\n\nLicenseCtrl.$inject = ['$scope', 'LicenseRestService', '$licenseService', 'toastr', '$rootScope', 'ModalService', '$translate'];\n\nfunction LicenseCtrl($scope, LicenseRestService, $licenseService, toastr, $rootScope, ModalService, $translate) {\n\n $scope.loadingLicense = function() {\n return $licenseService.loadingLicense;\n };\n\n $licenseService.checkLicenseStatus();\n\n $scope.revertToFree = function () {\n ModalService.openSimpleModal({\n title: $translate.instant('confirm.operation'),\n message: $translate.instant(\"revert.to.free.warning.msg\"),\n warning: true\n }).result\n .then(function () {\n LicenseRestService.unregisterLicense()\n .success(function () {\n $licenseService.checkLicenseStatus();\n });\n });\n };\n}\n\nRegisterLicenseCtrl.$inject = ['$scope', 'LicenseRestService', '$location', '$modal', 'toastr', '$window', '$jwtAuth', '$translate'];\n\nfunction RegisterLicenseCtrl($scope, LicenseRestService, $location, $modal, toastr, $window, $jwtAuth, $translate) {\n $scope.$on('securityInit', function () {\n if (!$jwtAuth.isAdmin()) {\n $location.path('/license');\n }\n });\n\n $scope.sendLicenseToValidateAndActivate = sendLicenseToValidateAndActivate;\n\n const textAreaSel = $('.license-textarea');\n\n // watch for uploaded license file\n $scope.$watch('currentFile', function () {\n if ($scope.currentFile) {\n const file = $scope.currentFile;\n LicenseRestService.extractFromLicenseFile(file)\n .success(function (licenseCode) {\n sendLicenseToValidateAndActivate(licenseCode);\n }).error(function () {\n toastr.error($translate.instant('could.not.upload.file.error'));\n });\n }\n });\n\n $scope.getBackToPreviousPage = function () {\n $window.history.back();\n };\n\n // send license code for validation and activation\n function sendLicenseToValidateAndActivate(licenseCode) {\n LicenseRestService.sendLicenseToValidate(licenseCode)\n .success(function (validatedLicense) {\n if (validatedLicense.licensee !== 'Invalid') {\n // write code to textarea\n textAreaSel.val(licenseCode);\n // pop dialog for license details confirmation\n confirmWantedNewLicenseDetails(validatedLicense, licenseCode);\n } else {\n // clear textarea on invalid license\n textAreaSel.val('');\n // show error\n toastr.error(validatedLicense.message);\n }\n })\n .error(function () {\n toastr.error($translate.instant('invalid.license'));\n });\n }\n\n\n // pops a modal dialog which asks you if your expected license details are correct\n // and sends license to GraphDB upon confirmation\n function confirmWantedNewLicenseDetails(license, licenseCode) {\n const modalInstance = $modal.open({\n templateUrl: 'js/angular/settings/modal/validate-license.html',\n controller: 'ValidateLicenseModalCtrl',\n size: 'lg',\n resolve: {\n license: function () {\n return license;\n }\n }\n });\n\n modalInstance.result.then(function () {\n registerLicense(licenseCode);\n });\n }\n\n // send license code to GraphDB for activation\n function registerLicense(licenseCode) {\n if (!licenseCode) {\n licenseCode = textAreaSel.val();\n }\n\n if (licenseCode) {\n // replacing whitespace makes this work on Safari too,\n // whereas other browser happily ignore the whitespace\n const decodedLicense = atob(licenseCode.replace(/\\s/g, ''));\n LicenseRestService.registerLicense(decodedLicense)\n .success(function () {\n $window.history.back();\n }).error(function () {\n toastr.error($translate.instant('license.register.error'));\n });\n } else {\n toastr.error($translate.instant('no.license.code.error'));\n }\n }\n}\n\nValidateLicenseModalCtrl.$inject = ['$scope', '$modalInstance', 'license'];\n\nfunction ValidateLicenseModalCtrl($scope, $modalInstance, license) {\n $scope.ok = ok;\n $scope.cancel = cancel;\n $scope.license = license;\n\n function ok() {\n $modalInstance.close();\n }\n\n function cancel() {\n $modalInstance.dismiss('cancel');\n }\n}\n\nLoaderSamplesCtrl.$inject = ['$scope'];\n\nfunction LoaderSamplesCtrl($scope) {\n $scope.loader = true;\n $scope.setLoader = function (loader) {\n $scope.loader = loader;\n };\n}\n","import {getFileName} from \"./controllers\";\n\nangular\n .module('graphdb.framework.repositories.ontop-repo.directive', [])\n .directive('ontopRepo', ontopRepoDirective);\n\nontopRepoDirective.$inject = ['$modal', 'RepositoriesRestService', 'toastr', 'Upload', '$translate'];\n\nfunction ontopRepoDirective($modal, RepositoriesRestService, toastr, Upload, $translate) {\n return {\n restrict: 'E',\n scope: false,\n templateUrl: 'js/angular/repositories/templates/ontop-repo.html',\n\n link: linkFunc\n };\n\n function linkFunc($scope) {\n\n $scope.selectedDriver = {\n driverType: \"generic\",\n driverName: \"Generic JDBC Driver\",\n jdbc: {\n hostName: \"\",\n port: \"\",\n databaseName: \"\",\n userName: \"\",\n password: \"\",\n driverClass: \"\",\n url: \"\"\n },\n urlTemplate: \"\",\n downloadDriverUrl: \"\"\n };\n $scope.ontopRepoFileNames = {};\n $scope.supportedDriversData = [];\n $scope.ontopRepoFileLabels =\n {propertiesFile: 'JDBC properties', obdaFile: 'OBDA or R2RML', owlFile: 'ontology file',\n constraintFile: 'constraint file', dbMetadataFile: 'DB metadata file'};\n $scope.ontopRepoFiles = Object.keys($scope.ontopRepoFileLabels);\n $scope.ontopRepoFiles.forEach(function(key) {\n if ($scope.repositoryInfo.params[key]) {\n $scope.ontopRepoFileNames[key] = getFileName($scope.repositoryInfo.params[key].value);\n }\n });\n $scope.supportedDriverLabels = {hostName: 'Hostname', port: \"Port\", databaseName: 'Database name',\n userName: 'Username', password: 'Password', driverClass: 'Driver class', url: 'URL'};\n $scope.propertiesFileParams = Object.keys($scope.supportedDriverLabels);\n $scope.classAvailable = false;\n $scope.genericDriverType = 'generic';\n $scope.propertiesFile = 'propertiesFile';\n\n const REQUIRED_ONTOP_REPO_PARAMS = [$scope.propertiesFile, 'obdaFile'];\n const REQUIRED_PROPERTIES_FIELD_PARAMS = ['hostName', 'databaseName', 'userName'];\n\n function getSupportedDriversData() {\n return RepositoriesRestService.getSupportedDriversData($scope.repositoryInfo)\n .success(function (response) {\n $scope.supportedDriversData = response;\n }).error(function (response) {\n showErrorMsg($translate.instant('common.error'), response);\n });\n }\n\n $scope.loadDriverByClass = function (driverClass) {\n const foundDriver = $scope.supportedDriversData\n .find((driver) => driver.driverClass === driverClass);\n if (foundDriver) {\n $scope.copyDriverProperties(foundDriver);\n }\n return foundDriver;\n };\n\n $scope.selectDriverByType = function (driverType) {\n $scope.copyDriverProperties($scope.supportedDriversData\n .find((driver) => driver.driverType === driverType));\n // Call concatURL with proper labelName to apply changes to url field\n $scope.concatURL('hostName', $scope);\n };\n\n $scope.copyDriverProperties = function (driver) {\n $scope.selectedDriver.driverType = driver.driverType;\n $scope.selectedDriver.jdbc.driverClass = driver.driverClass;\n $scope.selectedDriver.jdbc.url = driver.urlTemplate;\n $scope.selectedDriver.urlTemplate = driver.urlTemplate;\n $scope.selectedDriver.downloadDriverUrl = driver.downloadDriverUrl;\n $scope.selectedDriver.portRequired = driver.portRequired;\n $scope.classAvailable = driver.classAvailable;\n };\n\n $scope.isReadOnly = function (labelName) {\n return labelName === 'driverClass' || labelName === 'url';\n }\n\n $scope.editFile = function(file) {\n const modalInstance = $modal.open({\n templateUrl: 'js/angular/templates/modal/editRepoFile.html',\n controller: 'EditRepositoryFileCtrl',\n resolve: {\n file: function () {\n return $scope.repositoryInfo.params[file] ? $scope.repositoryInfo.params[file].value : '';\n }\n }\n });\n\n modalInstance.result.then(function (data) {\n // send data to backend\n RepositoriesRestService.updateRepositoryFileContent(data.fileLocation, data.content, $scope.repositoryInfo.location).success(function(result) {\n $scope.ontopRepoFileNames[file] = getFileName(result.fileLocation);\n $scope.repositoryInfo.params[file].value = result.fileLocation;\n }).error(function (error) {\n showErrorMsg($translate.instant('common.error'), error);\n })\n });\n }\n\n $scope.uploadOntopRepoFile = function(files, param) {\n if (files && files.length) {\n $scope.uploadFile = files[0];\n $scope.uploadFileLoader = true;\n Upload.upload({\n url: 'rest/repositories/file/upload',\n data: {uploadFile: $scope.uploadFile, location: $scope.repositoryInfo.location}\n })\n .success(function (data) {\n if (!data.success) {\n toastr.error(data.errorMessage);\n } else {\n $scope.ontopRepoFileNames[param] = $scope.uploadFile.name;\n $scope.repositoryInfo.params[param].value = data.fileLocation;\n }\n $scope.uploadFileLoader = false;\n }).error(function (data) {\n showErrorMsg($translate.instant('common.error'), data);\n $scope.uploadFile = '';\n $scope.uploadFileLoader = false;\n });\n }\n }\n\n $scope.concatURL = function(labelName) {\n if (labelName === 'hostName' || labelName === 'port' || labelName === 'databaseName') {\n let result = $scope.selectedDriver.urlTemplate;\n if ($scope.selectedDriver.jdbc.hostName) {\n if ($scope.selectedDriver.jdbc.port) {\n result = result.replace('{hostport}',\n `${$scope.selectedDriver.jdbc.hostName}:${$scope.selectedDriver.jdbc.port}`);\n } else {\n result = result.replace('{hostport}', $scope.selectedDriver.jdbc.hostName);\n }\n }\n\n if ($scope.selectedDriver.jdbc.databaseName) {\n result = result.replace('{database}', $scope.selectedDriver.jdbc.databaseName);\n }\n\n $scope.selectedDriver.jdbc.url = result;\n }\n }\n\n $scope.getInputType = function (labelName) {\n switch (labelName) {\n case 'password':\n return 'password';\n case 'port':\n return 'number';\n default:\n return 'text';\n }\n }\n\n $scope.checkForRequiredOntopFiles = function () {\n // Should guarantee that code will be executed in sequential manner,\n // because properties file is not created yet\n return updateProperties()\n .then(function () {\n const missingRequired = REQUIRED_ONTOP_REPO_PARAMS.filter(function (requiredFile) {\n return !$scope.repositoryInfo.params[requiredFile].value;\n });\n if (missingRequired.length > 0) {\n toastr.error($translate.instant('ontop.repo.missing.required.file.error'));\n return Promise.reject($translate.instant('ontop.repo.missing.required.file.error'));\n }\n return Promise.resolve();\n });\n }\n\n function loadPropertiesFile() {\n RepositoriesRestService.loadPropertiesFile($scope.repositoryInfo.params[$scope.propertiesFile].value, $scope.repositoryInfo.location)\n .success(function (driverData) {\n const driver = $scope.loadDriverByClass(driverData.driverClass);\n // If driver class is not found means that the selected driver is a GENERIC ONE\n if (driver) {\n $scope.selectedDriver.jdbc.hostName = driverData.hostName;\n $scope.selectedDriver.jdbc.port = parseInt(driverData.port);\n $scope.selectedDriver.jdbc.databaseName = driverData.databaseName;\n $scope.selectedDriver.jdbc.userName = driverData.userName;\n $scope.selectedDriver.jdbc.password = driverData.password;\n $scope.selectedDriver.jdbc.url = driverData.url;\n }\n }).error(function (data) {\n showErrorMsg($translate.instant('common.error'), data);\n $scope.uploadFileLoader = false;\n });\n }\n\n $scope.validateOntopPropertiesConnection = function () {\n updateProperties()\n .then(function () {\n RepositoriesRestService.validateOntopPropertiesConnection($scope.repositoryInfo)\n .success(function () {\n toastr.success($translate.instant('ontop.repo.successful.connection.msg'));\n }).error(function (data) {\n showErrorMsg($translate.instant('ontop.repo.failed.to.connect'), data);\n });\n });\n }\n\n $scope.isOntopRepoFileUploaded = function() {\n return $scope.repositoryInfo.params.propertiesFile &&\n $scope.repositoryInfo.params.propertiesFile.value.length > 0\n };\n\n function missingRequiredField() {\n const missing = REQUIRED_PROPERTIES_FIELD_PARAMS\n .filter(function (requiredField) {\n return !$scope.selectedDriver.jdbc[requiredField]\n });\n if (missing.length > 0) {\n toastr.error($translate.instant('missing.required.field.error'));\n return true;\n }\n return false;\n }\n\n function updateProperties() {\n if ($scope.selectedDriver.driverType !== $scope.genericDriverType) {\n if (missingRequiredField()) {\n return Promise.reject($translate.instant('missing.required.field.error'));\n }\n return updatePropertiesFile();\n }\n return Promise.resolve();\n }\n\n function updatePropertiesFile() {\n $scope.uploadFileLoader = true;\n return RepositoriesRestService\n .updatePropertiesFile($scope.repositoryInfo.params[$scope.propertiesFile].value, $scope.selectedDriver.jdbc, $scope.repositoryInfo.location)\n .success(function (data) {\n $scope.ontopRepoFileNames[$scope.propertiesFile] = getFileName(data.fileLocation);\n $scope.repositoryInfo.params[$scope.propertiesFile].value = data.fileLocation;\n $scope.uploadFileLoader = false;\n }).error(function (data) {\n showErrorMsg($translate.instant('common.error'), data);\n $scope.uploadFileLoader = false;\n });\n }\n\n $scope.isRequiredOntopRepoFile = function(file) {\n return REQUIRED_ONTOP_REPO_PARAMS.indexOf(file) > -1;\n };\n\n $scope.isRequiredField = function (field) {\n return REQUIRED_PROPERTIES_FIELD_PARAMS.indexOf(field) > -1\n || field === 'port' && $scope.selectedDriver.portRequired;\n };\n\n $scope.getFieldTooltip = function (field) {\n if (field === 'port' && $scope.selectedDriver.portRequired) {\n field = 'portIfRequired';\n }\n return $scope.repoTooltips.ontop[field];\n };\n\n $scope.editOntopRepo = function () {\n $scope.checkForRequiredOntopFiles()\n .then(function () {\n $scope.editRepository();\n }).catch(function (err) {\n // The catch block is empty, because error is handled in promise\n });\n }\n\n $scope.createOntopRepo = function () {\n if (!$scope.repositoryInfo.id) {\n toastr.error($translate.instant('empty.repoid.warning'));\n return;\n }\n\n $scope.checkForRequiredOntopFiles()\n .then(function () {\n $scope.createRepo();\n }).catch(function (err) {\n // The catch block is empty, because error is handled in promise\n });\n };\n\n $scope.goBackToPrevious = function () {\n $scope.goBackToPreviousLocation();\n }\n\n function showErrorMsg (title, data) {\n const msg = getError(data);\n toastr.error(msg, title);\n }\n\n getSupportedDriversData()\n .then(function () {\n if ($scope.editRepoPage) {\n loadPropertiesFile();\n }\n });\n }\n}\n","angular\n .module('graphdb.framework.repositories.fedx-repo.directive', [])\n .directive('fedxRepo', fedxRepoDirective);\n\nfedxRepoDirective.$inject = ['$modal', 'RepositoriesRestService', 'toastr', '$translate'];\n\nfunction fedxRepoDirective($modal, RepositoriesRestService, toastr, $translate) {\n return {\n restrict: 'E',\n scope: true,\n templateUrl: 'js/angular/repositories/templates/fedx-repo.html',\n\n link: linkFunc\n };\n\n function linkFunc($scope) {\n\n const LOCAL_REPO_STORE = 'ResolvableRepository';\n const REMOTE_REPO_STORE = 'RemoteRepository';\n const SPARQL_ENDPOINT_STORE = 'SPARQLEndpoint';\n const NATIVE_STORE = 'NativeStore';\n\n $scope.fedxMembers = [];\n $scope.knownRepos = [];\n $scope.allAttachedRepos = [];\n\n if ($scope.editRepoPage) {\n $scope.fedxMembers = $scope.repositoryInfo.params.member.value.slice();\n }\n\n function getRepositories() {\n return RepositoriesRestService.getRepositories($scope.repositoryInfo.location)\n .success(function (response) {\n let repos = [];\n _.values(response).forEach((value) => {\n repos.push.apply(repos, value);\n });\n $scope.allAttachedRepos = _.cloneDeep(repos);\n }).error(function (response) {\n const msg = getError(response);\n toastr.error(msg, $translate.instant('common.error'));\n });\n }\n\n function populateKnownRepos() {\n for (const member of $scope.fedxMembers) {\n $scope.knownRepos = $scope.knownRepos.filter(function (repo) {\n if (member.repositoryServer) {\n // if the member is a remote attached member\n return repo.id !== member.repositoryName || repo.location !== member.repositoryServer;\n } else {\n // if the member is a local one\n return repo.id !== member.repositoryName || !repo.local;\n }\n });\n }\n }\n\n $scope.setWritableRepo = function (member) {\n let currentWritable = getWritableRepo();\n if (currentWritable) {\n if (currentWritable.store === LOCAL_REPO_STORE && (member.store !== LOCAL_REPO_STORE || currentWritable.repositoryName !== member.repositoryName) ) {\n currentWritable.writable = 'false';\n } else if (currentWritable.store === REMOTE_REPO_STORE && (member.store !== REMOTE_REPO_STORE || currentWritable.repositoryName !== member.repositoryName || currentWritable.repositoryServer !== member.repositoryServer)) {\n currentWritable.writable = 'false';\n }\n }\n member.writable = JSON.stringify(member.writable === 'false');\n }\n\n $scope.getActiveClass = function (member) {\n return member.writable === 'true' ? ' active' : '';\n }\n\n function getWritableRepo() {\n return $scope.fedxMembers.find(member => member.writable === \"true\");\n }\n\n function getKnownRepos() {\n getRepositories()\n .then(function () {\n $scope.knownRepos = $scope.allAttachedRepos.slice();\n populateKnownRepos();\n });\n }\n\n $scope.checkIfRepoExist = function (member) {\n if (!$scope.allAttachedRepos.length) {\n return true;\n }\n if (member.store === LOCAL_REPO_STORE) {\n return $scope.allAttachedRepos.find(repo => repo.id === member.repositoryName && !repo.location);\n } else if (member.store === REMOTE_REPO_STORE) {\n return $scope.allAttachedRepos.find(repo => repo.id === member.repositoryName && repo.location === member.repositoryServer);\n } else {\n return true;\n }\n }\n\n $scope.getRepositoryServer = function (repo) {\n if (repo.local) {\n return \"Local\";\n } else {\n return repo.location;\n }\n }\n\n const localReposTimer = setInterval(function () {\n getKnownRepos();\n }, 5000);\n\n $scope.$on('$destroy', function () {\n clearInterval(localReposTimer);\n });\n\n $scope.addMember = function(repository) {\n let member;\n if ($scope.getRepositoryServer(repository) === \"Local\") {\n member = {\n store: LOCAL_REPO_STORE,\n repositoryName: repository.id,\n repoType: repository.type,\n respectRights: \"true\",\n writable: \"false\"\n };\n } else {\n member = {\n store: REMOTE_REPO_STORE,\n repositoryName: repository.id,\n repositoryServer: repository.location,\n username: '',\n password: '',\n supportsASKQueries: \"true\",\n writable: \"false\"\n };\n }\n $scope.knownRepos = $scope.knownRepos.filter(repo => repo.id !== repository.id || repo.location !== repository.location);\n updateMembers(member);\n }\n\n $scope.removeMember = function (member) {\n if (member.store && member.store === LOCAL_REPO_STORE) {\n $scope.fedxMembers = $scope.fedxMembers.filter(el => el.store !== member.store || el.repositoryName !== member.repositoryName && !el.repositoryServer);\n getKnownRepos();\n } else if (member.store && member.store === SPARQL_ENDPOINT_STORE) {\n $scope.fedxMembers = $scope.fedxMembers.filter(el => el.endpoint !== member.endpoint);\n } else if (member.store && member.store === NATIVE_STORE) {\n $scope.fedxMembers = $scope.fedxMembers.filter(el => el.repositoryLocation !== member.repositoryLocation);\n } else if (member.store && member.store === REMOTE_REPO_STORE) {\n $scope.fedxMembers = $scope.fedxMembers.filter(el => el.store !== member.store || el.repositoryName !== member.repositoryName\n || el.repositoryServer !== member.repositoryServer);\n getKnownRepos();\n }\n $scope.repositoryInfo.params['member'].value = $scope.fedxMembers;\n }\n\n $scope.addRemoteMember = function () {\n $scope.mode = 'remote';\n $scope.model = {\n editMode: false,\n store: REMOTE_REPO_STORE,\n repositoryName: '',\n repositoryServer: '',\n sparqlEndpoint: '',\n username: '',\n password: '',\n supportsASKQueries: \"true\",\n writable: \"false\"\n }\n\n $scope.$modalInstance = $modal.open({\n templateUrl: 'js/angular/templates/modal/add-fedx-remote-repo.html',\n scope: $scope,\n });\n };\n\n $scope.getMemberIcon = function (member) {\n if (member.repoType) {\n return 'icon-repo-' + member.repoType;\n } else if (member.store === NATIVE_STORE) {\n return 'icon-warning';\n } else {\n return 'icon-link';\n }\n }\n\n $scope.editFedXRepository = function (member) {\n if (member.store === LOCAL_REPO_STORE) {\n $scope.mode = 'local';\n $scope.model = {\n editMode: true,\n store: member.store,\n respectRights: member.respectRights,\n repositoryName: member.repositoryName,\n repoType: member.repoType,\n writable: member.writable\n }\n } else {\n $scope.mode = 'remote';\n $scope.model = {\n editMode: true,\n store: member.store,\n repositoryName: member.repositoryName,\n repositoryServer: member.repositoryServer,\n sparqlEndpoint: member.store === SPARQL_ENDPOINT_STORE ? member.endpoint : member.repositoryLocation,\n username: member.username,\n password: member.password,\n supportsASKQueries: member.supportsASKQueries,\n writable: member.writable\n }\n }\n\n $scope.$modalInstance = $modal.open({\n templateUrl: 'js/angular/templates/modal/add-fedx-remote-repo.html',\n scope: $scope\n });\n };\n\n $scope.resolveName = function (member) {\n switch (member.store) {\n case LOCAL_REPO_STORE : {\n return member.repositoryName;\n }\n case REMOTE_REPO_STORE : {\n return member.repositoryName + '@' + member.repositoryServer;\n }\n case SPARQL_ENDPOINT_STORE : {\n return member.endpoint;\n }\n case NATIVE_STORE : {\n return member.repositoryLocation;\n }\n default :\n return \"\";\n }\n }\n\n $scope.cancel = function () {\n $scope.$modalInstance.dismiss('cancel');\n };\n\n function updateMembers(member) {\n $scope.fedxMembers.push(member);\n $scope.repositoryInfo.params['member'].value = $scope.fedxMembers;\n }\n\n function removeEndingSlash(url) {\n return url.slice(-1) === '/' ? url.slice(0, -1) : url\n }\n\n function checkEditMode() {\n return $scope.editRepoPage && !$scope.editRepoPage || !$scope.model.editMode;\n }\n\n $scope.ok = function () {\n let member;\n if ($scope.model.repositoryName && $scope.model.store === LOCAL_REPO_STORE) {\n member = {\n store: LOCAL_REPO_STORE,\n repositoryName: $scope.model.repositoryName,\n repoType: $scope.model.repoType,\n respectRights: $scope.model.respectRights,\n writable: $scope.model.writable\n }\n $scope.fedxMembers = $scope.fedxMembers.filter(el => el.repositoryName !== member.repositoryName || el.store !== member.store );\n } else if ($scope.model.repositoryName && $scope.model.store === REMOTE_REPO_STORE) {\n member = {\n store: REMOTE_REPO_STORE,\n repositoryName: $scope.model.repositoryName,\n repositoryServer: removeEndingSlash($scope.model.repositoryServer),\n username: $scope.model.username,\n password: $scope.model.password,\n writable: $scope.model.writable\n };\n if (checkEditMode() && $scope.fedxMembers.find(el => el.repositoryName === member.repositoryName\n && el.repositoryServer === member.repositoryServer)) {\n let resolvedName = $scope.resolveName(member);\n toastr.error($translate.instant('fedx.repo.already.added.member.error', {name: resolvedName}));\n $scope.$modalInstance.close();\n return;\n }\n $scope.fedxMembers = $scope.fedxMembers.filter(el => el.repositoryName !== member.repositoryName\n || el.repositoryServer !== member.repositoryServer);\n } else {\n member = {\n store: SPARQL_ENDPOINT_STORE,\n endpoint: removeEndingSlash($scope.model.sparqlEndpoint),\n username: $scope.model.username,\n password: $scope.model.password,\n supportsASKQueries: $scope.model.supportsASKQueries,\n writable: $scope.model.writable\n };\n\n if (checkEditMode() && $scope.fedxMembers.find(el => el.endpoint === member.endpoint)) {\n let resolvedName = $scope.resolveName(member);\n toastr.error($translate.instant('fedx.repo.already.added.sparql.endpoint.error', {name: resolvedName}));\n $scope.$modalInstance.close();\n return;\n }\n\n $scope.fedxMembers = $scope.fedxMembers.filter(el => el.endpoint !== member.endpoint);\n }\n\n updateMembers(member);\n populateKnownRepos();\n $scope.$modalInstance.close();\n };\n\n $scope.$on('changedLocation', function () {\n $scope.fedxMembers = [];\n getKnownRepos();\n });\n\n getKnownRepos();\n }\n}\n","import 'angular/core/services';\nimport 'angular/core/directives';\nimport 'angular/rest/license.rest.service';\nimport 'angular/settings/controllers';\nimport 'angular/core/interceptors/unauthorized.interceptor';\nimport 'angular/core/services/jwt-auth.service';\nimport 'ng-file-upload/dist/ng-file-upload.min';\nimport 'ng-file-upload/dist/ng-file-upload-shim.min';\n\nangular.module('graphdb.framework.settings', [\n 'toastr',\n 'ui.bootstrap',\n 'graphdb.framework.rest.license.service',\n 'graphdb.framework.settings.controllers',\n 'graphdb.framework.core.interceptors.unauthorized',\n 'graphdb.framework.core.services.jwtauth'\n])\n .config(config)\n .run(run);\n\nconfig.$inject = ['$httpProvider', '$routeProvider'];\n\nfunction config($httpProvider) {\n $httpProvider.interceptors.push('$unauthorizedInterceptor');\n}\n\nrun.$inject = ['$rootScope', '$location', '$licenseService'];\n\nfunction run($rootScope, $location, $licenseService) {\n $rootScope.$on('$locationChangeStart', function () {\n if ($licenseService.isLicenseHardcoded && $location.url() === '/license/register') {\n $location.path('license');\n }\n });\n}\n"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"sources":["webpack:///./src/js/angular/repositories/app.js","webpack:///./src/js/angular/settings/controllers.js","webpack:///./src/js/angular/repositories/ontop-repo.directive.js","webpack:///./src/js/angular/repositories/fedx-repo.directive.js","webpack:///./src/js/angular/settings/app.js"],"names":["angular","module","ActiveLocationSettingsCtrl","$scope","toastr","$modalInstance","LicenseRestService","$translate","supportsStatistics","settings","statistics","getSettings","loader","getStatistics","then","response","data","status","msg","getError","error","instant","setSettings","toggleStatistics","close","success","submitForm","cancel","dismiss","LicenseCtrl","$licenseService","$rootScope","ModalService","loadingLicense","checkLicenseStatus","revertToFree","openSimpleModal","title","message","warning","result","unregisterLicense","RegisterLicenseCtrl","$location","$modal","$window","$jwtAuth","$on","isAdmin","path","sendLicenseToValidateAndActivate","textAreaSel","$","licenseCode","sendLicenseToValidate","validatedLicense","licensee","val","license","open","templateUrl","controller","size","resolve","decodedLicense","atob","replace","registerLicense","history","back","confirmWantedNewLicenseDetails","$watch","currentFile","file","extractFromLicenseFile","getBackToPreviousPage","ValidateLicenseModalCtrl","ok","LoaderSamplesCtrl","setLoader","$inject","ontopRepoDirective","RepositoriesRestService","Upload","restrict","scope","link","selectedDriver","driverType","driverName","jdbc","hostName","port","databaseName","userName","password","driverClass","url","urlTemplate","downloadDriverUrl","ontopRepoFileNames","supportedDriversData","ontopRepoFileLabels","propertiesFile","obdaFile","owlFile","constraintFile","dbMetadataFile","ontopRepoFiles","Object","keys","forEach","key","repositoryInfo","params","value","supportedDriverLabels","propertiesFileParams","classAvailable","genericDriverType","REQUIRED_ONTOP_REPO_PARAMS","REQUIRED_PROPERTIES_FIELD_PARAMS","updateProperties","filter","requiredField","length","Promise","reject","uploadFileLoader","updatePropertiesFile","location","fileLocation","showErrorMsg","loadDriverByClass","foundDriver","find","driver","copyDriverProperties","selectDriverByType","concatURL","portRequired","isReadOnly","labelName","editFile","updateRepositoryFileContent","content","uploadOntopRepoFile","files","param","uploadFile","upload","name","errorMessage","getInputType","checkForRequiredOntopFiles","requiredFile","validateOntopPropertiesConnection","isOntopRepoFileUploaded","isRequiredOntopRepoFile","indexOf","isRequiredField","field","getFieldTooltip","repoTooltips","ontop","editOntopRepo","editRepository","catch","err","createOntopRepo","id","createRepo","goBackToPrevious","goBackToPreviousLocation","getSupportedDriversData","editRepoPage","loadPropertiesFile","driverData","parseInt","directive","fedxRepoDirective","LOCAL_REPO_STORE","fedxMembers","knownRepos","allAttachedRepos","member","slice","populateKnownRepos","repo","repositoryServer","repositoryName","local","getKnownRepos","getRepositories","repos","_","values","push","apply","cloneDeep","setWritableRepo","currentWritable","writable","store","JSON","stringify","getActiveClass","checkIfRepoExist","getRepositoryServer","localReposTimer","setInterval","updateMembers","removeEndingSlash","checkEditMode","model","editMode","clearInterval","addMember","repository","repoType","type","respectRights","username","supportsASKQueries","removeMember","el","endpoint","repositoryLocation","addRemoteMember","mode","sparqlEndpoint","getMemberIcon","editFedXRepository","resolveName","resolvedName","config","$httpProvider","interceptors","run","isLicenseHardcoded"],"mappings":"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","file":"19.50d07be48e86feaaa2a8.bundle.js","sourcesContent":["import 'angular/core/services';\nimport 'angular/core/directives';\nimport 'angular/core/controllers';\nimport 'angular/repositories/controllers';\nimport 'angular/repositories/ontop-repo.directive';\nimport 'angular/repositories/fedx-repo.directive';\nimport 'angular/core/services/repositories.service';\nimport 'angular/settings/app';\nimport 'ng-file-upload/dist/ng-file-upload.min';\nimport 'ng-file-upload/dist/ng-file-upload-shim.min';\n\nconst modules = [\n 'ui.bootstrap',\n 'toastr',\n 'ngCookies',\n 'ngRoute',\n 'graphdb.framework.repositories.controllers',\n 'graphdb.framework.repositories.ontop-repo.directive',\n 'graphdb.framework.repositories.fedx-repo.directive',\n 'graphdb.framework.core.services.repositories',\n 'graphdb.framework.core.directives',\n 'graphdb.framework.core.controllers',\n 'graphdb.framework.settings'\n];\n\nangular.module('graphdb.framework.repositories', modules);\n","import 'angular/core/services';\nimport 'angular/core/services/jwt-auth.service';\n\nangular\n .module('graphdb.framework.settings.controllers', [\n 'ngCookies',\n 'ui.bootstrap',\n 'graphdb.framework.core.services.jwtauth',\n 'toastr'\n ])\n .controller('ActiveLocationSettingsCtrl', ActiveLocationSettingsCtrl)\n .controller('ValidateLicenseModalCtrl', ValidateLicenseModalCtrl)\n .controller('LicenseCtrl', LicenseCtrl)\n .controller('RegisterLicenseCtrl', RegisterLicenseCtrl)\n .controller('LoaderSamplesCtrl', LoaderSamplesCtrl);\n\nActiveLocationSettingsCtrl.$inject = ['$scope', 'toastr', '$modalInstance', 'LicenseRestService', '$translate'];\n\nfunction ActiveLocationSettingsCtrl($scope, toastr, $modalInstance, LicenseRestService, $translate) {\n $scope.supportsStatistics = true;\n $scope.settings = {statistics: false};\n $scope.getSettings = getSettings;\n\n function getSettings() {\n $scope.loader = true;\n LicenseRestService.getStatistics().then(function (response) {\n $scope.settings.statistics = response.data === 'true';\n $scope.supportsStatistics = true;\n }, function (response) {\n if (response.status === 404) {\n $scope.supportsStatistics = false;\n } else {\n const msg = getError(response.data);\n toastr.error(msg, $translate.instant('error.getting.settings'));\n }\n });\n }\n\n $scope.getSettings();\n\n $scope.setSettings = function () {\n $scope.loader = true;\n LicenseRestService.toggleStatistics($scope.settings.statistics).then(function () {\n $modalInstance.close();\n toastr.success($translate.instant('saving.settings.success'));\n }, function (response) {\n const msg = getError(response.data);\n toastr.error(msg, $translate.instant('saving.settings.error'));\n });\n };\n\n $scope.submitForm = function () {\n $scope.setSettings();\n };\n\n $scope.cancel = function () {\n $modalInstance.dismiss('cancel');\n };\n}\n\nLicenseCtrl.$inject = ['$scope', 'LicenseRestService', '$licenseService', 'toastr', '$rootScope', 'ModalService', '$translate'];\n\nfunction LicenseCtrl($scope, LicenseRestService, $licenseService, toastr, $rootScope, ModalService, $translate) {\n\n $scope.loadingLicense = function() {\n return $licenseService.loadingLicense;\n };\n\n $licenseService.checkLicenseStatus();\n\n $scope.revertToFree = function () {\n ModalService.openSimpleModal({\n title: $translate.instant('confirm.operation'),\n message: $translate.instant(\"revert.to.free.warning.msg\"),\n warning: true\n }).result\n .then(function () {\n LicenseRestService.unregisterLicense()\n .success(function () {\n $licenseService.checkLicenseStatus();\n });\n });\n };\n}\n\nRegisterLicenseCtrl.$inject = ['$scope', 'LicenseRestService', '$location', '$modal', 'toastr', '$window', '$jwtAuth', '$translate'];\n\nfunction RegisterLicenseCtrl($scope, LicenseRestService, $location, $modal, toastr, $window, $jwtAuth, $translate) {\n $scope.$on('securityInit', function () {\n if (!$jwtAuth.isAdmin()) {\n $location.path('/license');\n }\n });\n\n $scope.sendLicenseToValidateAndActivate = sendLicenseToValidateAndActivate;\n\n const textAreaSel = $('.license-textarea');\n\n // watch for uploaded license file\n $scope.$watch('currentFile', function () {\n if ($scope.currentFile) {\n const file = $scope.currentFile;\n LicenseRestService.extractFromLicenseFile(file)\n .success(function (licenseCode) {\n sendLicenseToValidateAndActivate(licenseCode);\n }).error(function () {\n toastr.error($translate.instant('could.not.upload.file.error'));\n });\n }\n });\n\n $scope.getBackToPreviousPage = function () {\n $window.history.back();\n };\n\n // send license code for validation and activation\n function sendLicenseToValidateAndActivate(licenseCode) {\n LicenseRestService.sendLicenseToValidate(licenseCode)\n .success(function (validatedLicense) {\n if (validatedLicense.licensee !== 'Invalid') {\n // write code to textarea\n textAreaSel.val(licenseCode);\n // pop dialog for license details confirmation\n confirmWantedNewLicenseDetails(validatedLicense, licenseCode);\n } else {\n // clear textarea on invalid license\n textAreaSel.val('');\n // show error\n toastr.error(validatedLicense.message);\n }\n })\n .error(function () {\n toastr.error($translate.instant('invalid.license'));\n });\n }\n\n\n // pops a modal dialog which asks you if your expected license details are correct\n // and sends license to GraphDB upon confirmation\n function confirmWantedNewLicenseDetails(license, licenseCode) {\n const modalInstance = $modal.open({\n templateUrl: 'js/angular/settings/modal/validate-license.html',\n controller: 'ValidateLicenseModalCtrl',\n size: 'lg',\n resolve: {\n license: function () {\n return license;\n }\n }\n });\n\n modalInstance.result.then(function () {\n registerLicense(licenseCode);\n });\n }\n\n // send license code to GraphDB for activation\n function registerLicense(licenseCode) {\n if (!licenseCode) {\n licenseCode = textAreaSel.val();\n }\n\n if (licenseCode) {\n // replacing whitespace makes this work on Safari too,\n // whereas other browser happily ignore the whitespace\n const decodedLicense = atob(licenseCode.replace(/\\s/g, ''));\n LicenseRestService.registerLicense(decodedLicense)\n .success(function () {\n $window.history.back();\n }).error(function () {\n toastr.error($translate.instant('license.register.error'));\n });\n } else {\n toastr.error($translate.instant('no.license.code.error'));\n }\n }\n}\n\nValidateLicenseModalCtrl.$inject = ['$scope', '$modalInstance', 'license'];\n\nfunction ValidateLicenseModalCtrl($scope, $modalInstance, license) {\n $scope.ok = ok;\n $scope.cancel = cancel;\n $scope.license = license;\n\n function ok() {\n $modalInstance.close();\n }\n\n function cancel() {\n $modalInstance.dismiss('cancel');\n }\n}\n\nLoaderSamplesCtrl.$inject = ['$scope'];\n\nfunction LoaderSamplesCtrl($scope) {\n $scope.loader = true;\n $scope.setLoader = function (loader) {\n $scope.loader = loader;\n };\n}\n","import {getFileName} from \"./controllers\";\n\nangular\n .module('graphdb.framework.repositories.ontop-repo.directive', [])\n .directive('ontopRepo', ontopRepoDirective);\n\nontopRepoDirective.$inject = ['$modal', 'RepositoriesRestService', 'toastr', 'Upload', '$translate'];\n\nfunction ontopRepoDirective($modal, RepositoriesRestService, toastr, Upload, $translate) {\n return {\n restrict: 'E',\n scope: false,\n templateUrl: 'js/angular/repositories/templates/ontop-repo.html',\n\n link: linkFunc\n };\n\n function linkFunc($scope) {\n\n $scope.selectedDriver = {\n driverType: \"generic\",\n driverName: \"Generic JDBC Driver\",\n jdbc: {\n hostName: \"\",\n port: \"\",\n databaseName: \"\",\n userName: \"\",\n password: \"\",\n driverClass: \"\",\n url: \"\"\n },\n urlTemplate: \"\",\n downloadDriverUrl: \"\"\n };\n $scope.ontopRepoFileNames = {};\n $scope.supportedDriversData = [];\n $scope.ontopRepoFileLabels =\n {propertiesFile: 'JDBC properties', obdaFile: 'OBDA or R2RML', owlFile: 'ontology file',\n constraintFile: 'constraint file', dbMetadataFile: 'DB metadata file'};\n $scope.ontopRepoFiles = Object.keys($scope.ontopRepoFileLabels);\n $scope.ontopRepoFiles.forEach(function(key) {\n if ($scope.repositoryInfo.params[key]) {\n $scope.ontopRepoFileNames[key] = getFileName($scope.repositoryInfo.params[key].value);\n }\n });\n $scope.supportedDriverLabels = {hostName: 'Hostname', port: \"Port\", databaseName: 'Database name',\n userName: 'Username', password: 'Password', driverClass: 'Driver class', url: 'URL'};\n $scope.propertiesFileParams = Object.keys($scope.supportedDriverLabels);\n $scope.classAvailable = false;\n $scope.genericDriverType = 'generic';\n $scope.propertiesFile = 'propertiesFile';\n\n const REQUIRED_ONTOP_REPO_PARAMS = [$scope.propertiesFile, 'obdaFile'];\n const REQUIRED_PROPERTIES_FIELD_PARAMS = ['hostName', 'databaseName', 'userName'];\n\n function getSupportedDriversData() {\n return RepositoriesRestService.getSupportedDriversData($scope.repositoryInfo)\n .success(function (response) {\n $scope.supportedDriversData = response;\n }).error(function (response) {\n showErrorMsg($translate.instant('common.error'), response);\n });\n }\n\n $scope.loadDriverByClass = function (driverClass) {\n const foundDriver = $scope.supportedDriversData\n .find((driver) => driver.driverClass === driverClass);\n if (foundDriver) {\n $scope.copyDriverProperties(foundDriver);\n }\n return foundDriver;\n };\n\n $scope.selectDriverByType = function (driverType) {\n $scope.copyDriverProperties($scope.supportedDriversData\n .find((driver) => driver.driverType === driverType));\n // Call concatURL with proper labelName to apply changes to url field\n $scope.concatURL('hostName', $scope);\n };\n\n $scope.copyDriverProperties = function (driver) {\n $scope.selectedDriver.driverType = driver.driverType;\n $scope.selectedDriver.jdbc.driverClass = driver.driverClass;\n $scope.selectedDriver.jdbc.url = driver.urlTemplate;\n $scope.selectedDriver.urlTemplate = driver.urlTemplate;\n $scope.selectedDriver.downloadDriverUrl = driver.downloadDriverUrl;\n $scope.selectedDriver.portRequired = driver.portRequired;\n $scope.classAvailable = driver.classAvailable;\n };\n\n $scope.isReadOnly = function (labelName) {\n return labelName === 'driverClass' || labelName === 'url';\n }\n\n $scope.editFile = function(file) {\n const modalInstance = $modal.open({\n templateUrl: 'js/angular/templates/modal/editRepoFile.html',\n controller: 'EditRepositoryFileCtrl',\n resolve: {\n file: function () {\n return $scope.repositoryInfo.params[file] ? $scope.repositoryInfo.params[file].value : '';\n }\n }\n });\n\n modalInstance.result.then(function (data) {\n // send data to backend\n RepositoriesRestService.updateRepositoryFileContent(data.fileLocation, data.content, $scope.repositoryInfo.location).success(function(result) {\n $scope.ontopRepoFileNames[file] = getFileName(result.fileLocation);\n $scope.repositoryInfo.params[file].value = result.fileLocation;\n }).error(function (error) {\n showErrorMsg($translate.instant('common.error'), error);\n })\n });\n }\n\n $scope.uploadOntopRepoFile = function(files, param) {\n if (files && files.length) {\n $scope.uploadFile = files[0];\n $scope.uploadFileLoader = true;\n Upload.upload({\n url: 'rest/repositories/file/upload',\n data: {file: $scope.uploadFile, location: $scope.repositoryInfo.location}\n })\n .success(function (data) {\n if (!data.success) {\n toastr.error(data.errorMessage);\n } else {\n $scope.ontopRepoFileNames[param] = $scope.uploadFile.name;\n $scope.repositoryInfo.params[param].value = data.fileLocation;\n }\n $scope.uploadFileLoader = false;\n }).error(function (data) {\n showErrorMsg($translate.instant('common.error'), data);\n $scope.uploadFile = '';\n $scope.uploadFileLoader = false;\n });\n }\n }\n\n $scope.concatURL = function(labelName) {\n if (labelName === 'hostName' || labelName === 'port' || labelName === 'databaseName') {\n let result = $scope.selectedDriver.urlTemplate;\n if ($scope.selectedDriver.jdbc.hostName) {\n if ($scope.selectedDriver.jdbc.port) {\n result = result.replace('{hostport}',\n `${$scope.selectedDriver.jdbc.hostName}:${$scope.selectedDriver.jdbc.port}`);\n } else {\n result = result.replace('{hostport}', $scope.selectedDriver.jdbc.hostName);\n }\n }\n\n if ($scope.selectedDriver.jdbc.databaseName) {\n result = result.replace('{database}', $scope.selectedDriver.jdbc.databaseName);\n }\n\n $scope.selectedDriver.jdbc.url = result;\n }\n }\n\n $scope.getInputType = function (labelName) {\n switch (labelName) {\n case 'password':\n return 'password';\n case 'port':\n return 'number';\n default:\n return 'text';\n }\n }\n\n $scope.checkForRequiredOntopFiles = function () {\n // Should guarantee that code will be executed in sequential manner,\n // because properties file is not created yet\n return updateProperties()\n .then(function () {\n const missingRequired = REQUIRED_ONTOP_REPO_PARAMS.filter(function (requiredFile) {\n return !$scope.repositoryInfo.params[requiredFile].value;\n });\n if (missingRequired.length > 0) {\n toastr.error($translate.instant('ontop.repo.missing.required.file.error'));\n return Promise.reject($translate.instant('ontop.repo.missing.required.file.error'));\n }\n return Promise.resolve();\n });\n }\n\n function loadPropertiesFile() {\n RepositoriesRestService.loadPropertiesFile($scope.repositoryInfo.params[$scope.propertiesFile].value, $scope.repositoryInfo.location)\n .success(function (driverData) {\n const driver = $scope.loadDriverByClass(driverData.driverClass);\n // If driver class is not found means that the selected driver is a GENERIC ONE\n if (driver) {\n $scope.selectedDriver.jdbc.hostName = driverData.hostName;\n $scope.selectedDriver.jdbc.port = parseInt(driverData.port);\n $scope.selectedDriver.jdbc.databaseName = driverData.databaseName;\n $scope.selectedDriver.jdbc.userName = driverData.userName;\n $scope.selectedDriver.jdbc.password = driverData.password;\n $scope.selectedDriver.jdbc.url = driverData.url;\n }\n }).error(function (data) {\n showErrorMsg($translate.instant('common.error'), data);\n $scope.uploadFileLoader = false;\n });\n }\n\n $scope.validateOntopPropertiesConnection = function () {\n updateProperties()\n .then(function () {\n RepositoriesRestService.validateOntopPropertiesConnection($scope.repositoryInfo)\n .success(function () {\n toastr.success($translate.instant('ontop.repo.successful.connection.msg'));\n }).error(function (data) {\n showErrorMsg($translate.instant('ontop.repo.failed.to.connect'), data);\n });\n });\n }\n\n $scope.isOntopRepoFileUploaded = function() {\n return $scope.repositoryInfo.params.propertiesFile &&\n $scope.repositoryInfo.params.propertiesFile.value.length > 0\n };\n\n function missingRequiredField() {\n const missing = REQUIRED_PROPERTIES_FIELD_PARAMS\n .filter(function (requiredField) {\n return !$scope.selectedDriver.jdbc[requiredField]\n });\n if (missing.length > 0) {\n toastr.error($translate.instant('missing.required.field.error'));\n return true;\n }\n return false;\n }\n\n function updateProperties() {\n if ($scope.selectedDriver.driverType !== $scope.genericDriverType) {\n if (missingRequiredField()) {\n return Promise.reject($translate.instant('missing.required.field.error'));\n }\n return updatePropertiesFile();\n }\n return Promise.resolve();\n }\n\n function updatePropertiesFile() {\n $scope.uploadFileLoader = true;\n return RepositoriesRestService\n .updatePropertiesFile($scope.repositoryInfo.params[$scope.propertiesFile].value, $scope.selectedDriver.jdbc, $scope.repositoryInfo.location)\n .success(function (data) {\n $scope.ontopRepoFileNames[$scope.propertiesFile] = getFileName(data.fileLocation);\n $scope.repositoryInfo.params[$scope.propertiesFile].value = data.fileLocation;\n $scope.uploadFileLoader = false;\n }).error(function (data) {\n showErrorMsg($translate.instant('common.error'), data);\n $scope.uploadFileLoader = false;\n });\n }\n\n $scope.isRequiredOntopRepoFile = function(file) {\n return REQUIRED_ONTOP_REPO_PARAMS.indexOf(file) > -1;\n };\n\n $scope.isRequiredField = function (field) {\n return REQUIRED_PROPERTIES_FIELD_PARAMS.indexOf(field) > -1\n || field === 'port' && $scope.selectedDriver.portRequired;\n };\n\n $scope.getFieldTooltip = function (field) {\n if (field === 'port' && $scope.selectedDriver.portRequired) {\n field = 'portIfRequired';\n }\n return $scope.repoTooltips.ontop[field];\n };\n\n $scope.editOntopRepo = function () {\n $scope.checkForRequiredOntopFiles()\n .then(function () {\n $scope.editRepository();\n }).catch(function (err) {\n // The catch block is empty, because error is handled in promise\n });\n }\n\n $scope.createOntopRepo = function () {\n if (!$scope.repositoryInfo.id) {\n toastr.error($translate.instant('empty.repoid.warning'));\n return;\n }\n\n $scope.checkForRequiredOntopFiles()\n .then(function () {\n $scope.createRepo();\n }).catch(function (err) {\n // The catch block is empty, because error is handled in promise\n });\n };\n\n $scope.goBackToPrevious = function () {\n $scope.goBackToPreviousLocation();\n }\n\n function showErrorMsg (title, data) {\n const msg = getError(data);\n toastr.error(msg, title);\n }\n\n getSupportedDriversData()\n .then(function () {\n if ($scope.editRepoPage) {\n loadPropertiesFile();\n }\n });\n }\n}\n","angular\n .module('graphdb.framework.repositories.fedx-repo.directive', [])\n .directive('fedxRepo', fedxRepoDirective);\n\nfedxRepoDirective.$inject = ['$modal', 'RepositoriesRestService', 'toastr', '$translate'];\n\nfunction fedxRepoDirective($modal, RepositoriesRestService, toastr, $translate) {\n return {\n restrict: 'E',\n scope: true,\n templateUrl: 'js/angular/repositories/templates/fedx-repo.html',\n\n link: linkFunc\n };\n\n function linkFunc($scope) {\n\n const LOCAL_REPO_STORE = 'ResolvableRepository';\n const REMOTE_REPO_STORE = 'RemoteRepository';\n const SPARQL_ENDPOINT_STORE = 'SPARQLEndpoint';\n const NATIVE_STORE = 'NativeStore';\n\n $scope.fedxMembers = [];\n $scope.knownRepos = [];\n $scope.allAttachedRepos = [];\n\n if ($scope.editRepoPage) {\n $scope.fedxMembers = $scope.repositoryInfo.params.member.value.slice();\n }\n\n function getRepositories() {\n return RepositoriesRestService.getRepositories($scope.repositoryInfo.location)\n .success(function (response) {\n let repos = [];\n _.values(response).forEach((value) => {\n repos.push.apply(repos, value);\n });\n $scope.allAttachedRepos = _.cloneDeep(repos);\n }).error(function (response) {\n const msg = getError(response);\n toastr.error(msg, $translate.instant('common.error'));\n });\n }\n\n function populateKnownRepos() {\n for (const member of $scope.fedxMembers) {\n $scope.knownRepos = $scope.knownRepos.filter(function (repo) {\n if (member.repositoryServer) {\n // if the member is a remote attached member\n return repo.id !== member.repositoryName || repo.location !== member.repositoryServer;\n } else {\n // if the member is a local one\n return repo.id !== member.repositoryName || !repo.local;\n }\n });\n }\n }\n\n $scope.setWritableRepo = function (member) {\n let currentWritable = getWritableRepo();\n if (currentWritable) {\n if (currentWritable.store === LOCAL_REPO_STORE && (member.store !== LOCAL_REPO_STORE || currentWritable.repositoryName !== member.repositoryName) ) {\n currentWritable.writable = 'false';\n } else if (currentWritable.store === REMOTE_REPO_STORE && (member.store !== REMOTE_REPO_STORE || currentWritable.repositoryName !== member.repositoryName || currentWritable.repositoryServer !== member.repositoryServer)) {\n currentWritable.writable = 'false';\n }\n }\n member.writable = JSON.stringify(member.writable === 'false');\n }\n\n $scope.getActiveClass = function (member) {\n return member.writable === 'true' ? ' active' : '';\n }\n\n function getWritableRepo() {\n return $scope.fedxMembers.find(member => member.writable === \"true\");\n }\n\n function getKnownRepos() {\n getRepositories()\n .then(function () {\n $scope.knownRepos = $scope.allAttachedRepos.slice();\n populateKnownRepos();\n });\n }\n\n $scope.checkIfRepoExist = function (member) {\n if (!$scope.allAttachedRepos.length) {\n return true;\n }\n if (member.store === LOCAL_REPO_STORE) {\n return $scope.allAttachedRepos.find(repo => repo.id === member.repositoryName && !repo.location);\n } else if (member.store === REMOTE_REPO_STORE) {\n return $scope.allAttachedRepos.find(repo => repo.id === member.repositoryName && repo.location === member.repositoryServer);\n } else {\n return true;\n }\n }\n\n $scope.getRepositoryServer = function (repo) {\n if (repo.local) {\n return \"Local\";\n } else {\n return repo.location;\n }\n }\n\n const localReposTimer = setInterval(function () {\n getKnownRepos();\n }, 5000);\n\n $scope.$on('$destroy', function () {\n clearInterval(localReposTimer);\n });\n\n $scope.addMember = function(repository) {\n let member;\n if ($scope.getRepositoryServer(repository) === \"Local\") {\n member = {\n store: LOCAL_REPO_STORE,\n repositoryName: repository.id,\n repoType: repository.type,\n respectRights: \"true\",\n writable: \"false\"\n };\n } else {\n member = {\n store: REMOTE_REPO_STORE,\n repositoryName: repository.id,\n repositoryServer: repository.location,\n username: '',\n password: '',\n supportsASKQueries: \"true\",\n writable: \"false\"\n };\n }\n $scope.knownRepos = $scope.knownRepos.filter(repo => repo.id !== repository.id || repo.location !== repository.location);\n updateMembers(member);\n }\n\n $scope.removeMember = function (member) {\n if (member.store && member.store === LOCAL_REPO_STORE) {\n $scope.fedxMembers = $scope.fedxMembers.filter(el => el.store !== member.store || el.repositoryName !== member.repositoryName && !el.repositoryServer);\n getKnownRepos();\n } else if (member.store && member.store === SPARQL_ENDPOINT_STORE) {\n $scope.fedxMembers = $scope.fedxMembers.filter(el => el.endpoint !== member.endpoint);\n } else if (member.store && member.store === NATIVE_STORE) {\n $scope.fedxMembers = $scope.fedxMembers.filter(el => el.repositoryLocation !== member.repositoryLocation);\n } else if (member.store && member.store === REMOTE_REPO_STORE) {\n $scope.fedxMembers = $scope.fedxMembers.filter(el => el.store !== member.store || el.repositoryName !== member.repositoryName\n || el.repositoryServer !== member.repositoryServer);\n getKnownRepos();\n }\n $scope.repositoryInfo.params['member'].value = $scope.fedxMembers;\n }\n\n $scope.addRemoteMember = function () {\n $scope.mode = 'remote';\n $scope.model = {\n editMode: false,\n store: REMOTE_REPO_STORE,\n repositoryName: '',\n repositoryServer: '',\n sparqlEndpoint: '',\n username: '',\n password: '',\n supportsASKQueries: \"true\",\n writable: \"false\"\n }\n\n $scope.$modalInstance = $modal.open({\n templateUrl: 'js/angular/templates/modal/add-fedx-remote-repo.html',\n scope: $scope,\n });\n };\n\n $scope.getMemberIcon = function (member) {\n if (member.repoType) {\n return 'icon-repo-' + member.repoType;\n } else if (member.store === NATIVE_STORE) {\n return 'icon-warning';\n } else {\n return 'icon-link';\n }\n }\n\n $scope.editFedXRepository = function (member) {\n if (member.store === LOCAL_REPO_STORE) {\n $scope.mode = 'local';\n $scope.model = {\n editMode: true,\n store: member.store,\n respectRights: member.respectRights,\n repositoryName: member.repositoryName,\n repoType: member.repoType,\n writable: member.writable\n }\n } else {\n $scope.mode = 'remote';\n $scope.model = {\n editMode: true,\n store: member.store,\n repositoryName: member.repositoryName,\n repositoryServer: member.repositoryServer,\n sparqlEndpoint: member.store === SPARQL_ENDPOINT_STORE ? member.endpoint : member.repositoryLocation,\n username: member.username,\n password: member.password,\n supportsASKQueries: member.supportsASKQueries,\n writable: member.writable\n }\n }\n\n $scope.$modalInstance = $modal.open({\n templateUrl: 'js/angular/templates/modal/add-fedx-remote-repo.html',\n scope: $scope\n });\n };\n\n $scope.resolveName = function (member) {\n switch (member.store) {\n case LOCAL_REPO_STORE : {\n return member.repositoryName;\n }\n case REMOTE_REPO_STORE : {\n return member.repositoryName + '@' + member.repositoryServer;\n }\n case SPARQL_ENDPOINT_STORE : {\n return member.endpoint;\n }\n case NATIVE_STORE : {\n return member.repositoryLocation;\n }\n default :\n return \"\";\n }\n }\n\n $scope.cancel = function () {\n $scope.$modalInstance.dismiss('cancel');\n };\n\n function updateMembers(member) {\n $scope.fedxMembers.push(member);\n $scope.repositoryInfo.params['member'].value = $scope.fedxMembers;\n }\n\n function removeEndingSlash(url) {\n return url.slice(-1) === '/' ? url.slice(0, -1) : url\n }\n\n function checkEditMode() {\n return $scope.editRepoPage && !$scope.editRepoPage || !$scope.model.editMode;\n }\n\n $scope.ok = function () {\n let member;\n if ($scope.model.repositoryName && $scope.model.store === LOCAL_REPO_STORE) {\n member = {\n store: LOCAL_REPO_STORE,\n repositoryName: $scope.model.repositoryName,\n repoType: $scope.model.repoType,\n respectRights: $scope.model.respectRights,\n writable: $scope.model.writable\n }\n $scope.fedxMembers = $scope.fedxMembers.filter(el => el.repositoryName !== member.repositoryName || el.store !== member.store );\n } else if ($scope.model.repositoryName && $scope.model.store === REMOTE_REPO_STORE) {\n member = {\n store: REMOTE_REPO_STORE,\n repositoryName: $scope.model.repositoryName,\n repositoryServer: removeEndingSlash($scope.model.repositoryServer),\n username: $scope.model.username,\n password: $scope.model.password,\n writable: $scope.model.writable\n };\n if (checkEditMode() && $scope.fedxMembers.find(el => el.repositoryName === member.repositoryName\n && el.repositoryServer === member.repositoryServer)) {\n let resolvedName = $scope.resolveName(member);\n toastr.error($translate.instant('fedx.repo.already.added.member.error', {name: resolvedName}));\n $scope.$modalInstance.close();\n return;\n }\n $scope.fedxMembers = $scope.fedxMembers.filter(el => el.repositoryName !== member.repositoryName\n || el.repositoryServer !== member.repositoryServer);\n } else {\n member = {\n store: SPARQL_ENDPOINT_STORE,\n endpoint: removeEndingSlash($scope.model.sparqlEndpoint),\n username: $scope.model.username,\n password: $scope.model.password,\n supportsASKQueries: $scope.model.supportsASKQueries,\n writable: $scope.model.writable\n };\n\n if (checkEditMode() && $scope.fedxMembers.find(el => el.endpoint === member.endpoint)) {\n let resolvedName = $scope.resolveName(member);\n toastr.error($translate.instant('fedx.repo.already.added.sparql.endpoint.error', {name: resolvedName}));\n $scope.$modalInstance.close();\n return;\n }\n\n $scope.fedxMembers = $scope.fedxMembers.filter(el => el.endpoint !== member.endpoint);\n }\n\n updateMembers(member);\n populateKnownRepos();\n $scope.$modalInstance.close();\n };\n\n $scope.$on('changedLocation', function () {\n $scope.fedxMembers = [];\n getKnownRepos();\n });\n\n getKnownRepos();\n }\n}\n","import 'angular/core/services';\nimport 'angular/core/directives';\nimport 'angular/rest/license.rest.service';\nimport 'angular/settings/controllers';\nimport 'angular/core/interceptors/unauthorized.interceptor';\nimport 'angular/core/services/jwt-auth.service';\nimport 'ng-file-upload/dist/ng-file-upload.min';\nimport 'ng-file-upload/dist/ng-file-upload-shim.min';\n\nangular.module('graphdb.framework.settings', [\n 'toastr',\n 'ui.bootstrap',\n 'graphdb.framework.rest.license.service',\n 'graphdb.framework.settings.controllers',\n 'graphdb.framework.core.interceptors.unauthorized',\n 'graphdb.framework.core.services.jwtauth'\n])\n .config(config)\n .run(run);\n\nconfig.$inject = ['$httpProvider', '$routeProvider'];\n\nfunction config($httpProvider) {\n $httpProvider.interceptors.push('$unauthorizedInterceptor');\n}\n\nrun.$inject = ['$rootScope', '$location', '$licenseService'];\n\nfunction run($rootScope, $location, $licenseService) {\n $rootScope.$on('$locationChangeStart', function () {\n if ($licenseService.isLicenseHardcoded && $location.url() === '/license/register') {\n $location.path('license');\n }\n });\n}\n"],"sourceRoot":""}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
(window.webpackJsonp=window.webpackJsonp||[]).push([[25,84],{220:function(e,t,n){var i,r,o;r=[],void 0===(o="function"==typeof(i=function(){return function(){var e=function(){return"n"},t=function(){return[0,0]},n=function(){return" "},i=u(),r=null,o=null,a=null,s=null;function c(e){var t;r="svg"===(t=(t=e).node()).tagName.toLowerCase()?t:t.ownerSVGElement,o=r.createSVGPoint(),document.body.appendChild(i)}c.show=function(){var i=Array.prototype.slice.call(arguments);i[i.length-1]instanceof SVGElement&&(a=i.pop());var r,o=n.apply(this,i),u=t.apply(this,i),f=e.apply(this,i),g=p(),h=d.length,m=document.documentElement.scrollTop||document.body.scrollTop,y=document.documentElement.scrollLeft||document.body.scrollLeft,v=s.apply(this,i);for(g.html(o).style({opacity:1,"pointer-events":"all"});h--;)g.classed(d[h],!1);return r=l.get(f).apply(this),v?g.style(v):g.classed(f,!0).style({top:r.top+u[0]+m+"px",left:r.left+u[1]+y+"px"}),c},c.hide=function(){return p().style({opacity:0,"pointer-events":"none"}),c},c.attr=function(e,t){if(arguments.length<2&&"string"==typeof e)return p().attr(e);var n=Array.prototype.slice.call(arguments);return d3.selection.prototype.attr.apply(p(),n),c},c.style=function(e,t){if(arguments.length<2&&"string"==typeof e)return p().style(e);var n=Array.prototype.slice.call(arguments);return d3.selection.prototype.style.apply(p(),n),c},c.direction=function(t){return arguments.length?(e=null==t?t:d3.functor(t),c):e},c.offset=function(e){return arguments.length?(t=null==e?e:d3.functor(e),c):t},c.html=function(e){return arguments.length?(n=null==e?e:d3.functor(e),c):n},c.customPosition=function(e){return arguments.length?(s=null==e?e:d3.functor(e),c):s},c.destroy=function(){return i&&(p().remove(),i=null),c};var l=d3.map({n:function(){var e=f();return{top:e.n.y-i.offsetHeight,left:e.n.x-i.offsetWidth/2}},s:function(){var e=f();return{top:e.s.y,left:e.s.x-i.offsetWidth/2}},e:function(){var e=f();return{top:e.e.y-i.offsetHeight/2,left:e.e.x}},w:function(){var e=f();return{top:e.w.y-i.offsetHeight/2,left:e.w.x-i.offsetWidth}},nw:function(){var e=f();return{top:e.nw.y-i.offsetHeight,left:e.nw.x-i.offsetWidth}},ne:function(){var e=f();return{top:e.ne.y-i.offsetHeight,left:e.ne.x}},sw:function(){var e=f();return{top:e.sw.y,left:e.sw.x-i.offsetWidth}},se:function(){var e=f();return{top:e.se.y,left:e.e.x}}}),d=l.keys();function u(){var e=d3.select(document.createElement("div"));return e.style({position:"absolute",top:0,opacity:0,"pointer-events":"none","box-sizing":"border-box"}),e.node()}function p(){return null===i&&(i=u(),document.body.appendChild(i)),d3.select(i)}function f(){for(var e=a||d3.event.target;void 0===e.getScreenCTM&&"undefined"===e.parentNode;)e=e.parentNode;var t={},n=e.getScreenCTM(),i=e.getBBox(),r=i.width,s=i.height,c=i.x,l=i.y;return o.x=c,o.y=l,t.nw=o.matrixTransform(n),o.x+=r,t.ne=o.matrixTransform(n),o.y+=s,t.se=o.matrixTransform(n),o.x-=r,t.sw=o.matrixTransform(n),o.y-=s/2,t.w=o.matrixTransform(n),o.x+=r,t.e=o.matrixTransform(n),o.x-=r/2,o.y-=s/2,t.n=o.matrixTransform(n),o.y+=s,t.s=o.matrixTransform(n),t}return c}})?i.apply(t,r):i)||(e.exports=o)},221:function(e,t,n){"use strict";var i=i||{};i.Text=function(){function e(e,t,n,i){n=n||10;var r=t/3;return"string"==typeof e?(r*=10/(e.substring(0,t/3).length+1.5),r+=1,e.match(/[\u0900-\u0DFF\u1100-\u11FF\u2E80-\u2EFF\u3000-\u9FFF]/)&&(r*=.6),r<n&&(r=n),Math.round(r)):(r<n&&(r=n),Math.round(r))}return{calcFontSizeRaw:e,calcFontSize:function(t,n,i,r){return e(t,n,i)+"px"},getTextWithElipsisIfNeeded:function(e,t){return"string"==typeof e&&e.length>t?e.substring(0,t-3)+"...":e}}}(),i.Transition={fadeIn:function(e,t){e.style("opacity",0).transition().duration(t).style("opacity",1)},fadeOut:function(e,t){e.style("opacity",1).transition().duration(t).style("opacity",0)}},i.Click={delayDblClick:function(){var e=d3.dispatch("click","dblclick");return d3.rebind((function(t){var n,i=null;t.on("mousedown",(function(){n=d3.mouse(document.body),new Date})),t.on("mouseup",(function(t){var r,o;r=n,o=d3.mouse(document.body),Math.sqrt(Math.pow(r[0]-o[0],2),Math.pow(r[1]-o[1],2))>5||(i?(window.clearTimeout(i),i=null,e.dblclick(t)):i=window.setTimeout((d3.event,function(){e.click(t),i=null}),250))}))}),e,"on")}},t.a=i},42:function(e,t,n){"use strict";n.r(t),n.d(t,"STATIC_RULESETS",(function(){return i})),n.d(t,"REPOSITORY_TYPES",(function(){return r})),n.d(t,"FILENAME_PATTERN",(function(){return o})),n.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"}],r={graphdbRepo:"graphdb",free:"free",eeWorker:"worker",eeMaster:"master",ontop:"ontop",se:"se",fedx:"fedx"},o=new RegExp("^[a-zA-Z0-9-_]+$"),a=new RegExp("^[0-9]+$")},64:function(e,t,n){"use strict";n.r(t);n(3);var i=n(221),r=n(220),o=n.n(r),a=(n(4),n(42));function s(e,t,n,r,s,c,l,d,u,p,f,g,h,m,y,v,x,S,I,w,k,L){e.languageChanged=!1,e.propertiesObj={},e.propertiesQueryObj={},e.propertiesObj.items=[],e.propertiesNotFiltered=[],e.searchVisible=!1,e.nodeSelected=!1,e.queryResultsMode=!1,e.embedded=f.search().embedded,e.openedNodeInfoPanel=void 0,e.invalidLimit=!1,e.INVALID_LINKS_MSG=L.instant("sidepanel.invalid.limit.links.msg"),e.INVALID_LINKS_TOOLTIP=L.instant("sidepanel.invalid.limit.links.tooltip"),t.$on("$translateChangeSuccess",(function(){e.INVALID_LINKS_MSG=L.instant("sidepanel.invalid.limit.links.msg"),e.INVALID_LINKS_TOOLTIP=L.instant("sidepanel.invalid.limit.links.tooltip"),e.propertiesSearchPlaceholder=L.instant("visual.search.instance.placeholder")})),e.onopen=e.onclose=()=>angular.noop(),e.embedded&&(f.search().query||f.search().uri||f.search().config||f.search().saved)&&(e.noGoHome=!0);const C={};let T=0,b=0,N={},P=0;const A=16,M=d3.behavior.zoom().scaleExtent([.5,10]);let E;const G=1e3,R=1e3;let O,j;function z(e){m.openCopyToClipboardModal(e)}function D(t){const n=t.appSettings;e.defaultSettings.includeInferred=n.DEFAULT_INFERENCE,e.defaultSettings.sameAsState=n.DEFAULT_INFERENCE&&n.DEFAULT_SAMEAS,e.defaultSettings.includeSchema=n.DEFAULT_VIS_GRAPH_SCHEMA;const i=x.get(S.GRAPHS_VIZ);if(i&&"object"==typeof i)try{e.saveSettings=i,void 0===e.saveSettings.includeSchema&&(e.saveSettings.includeSchema=e.defaultSettings.includeSchema,e.saveSettings.rejectedPredicates=[...e.saveSettings.rejectedPredicates,...e.defaultSettings.rejectedPredicates].unique())}catch(t){e.saveSettings=angular.copy(e.defaultSettings),x.set(S.GRAPHS_VIZ,e.saveSettings)}else e.saveSettings=angular.copy(e.defaultSettings)}t.key="",C.get=function(t,n,i){return h.initLazyList(t,n,i,T,e.propertiesObj.items)},t.$watch((function(){return t.key}),(function(){T=0,_.each(e.propertiesObj.items,(function(e){t.key>e&&T++})),b++})),C.revision=function(){return b},e.datasource=C,e.adapterContainer={adapter:{remain:!0}},e.propertiesQueryObj.query="",e.propertiesSearchPlaceholder=L.instant("visual.search.instance.placeholder"),e.propertiesFilterFunc=function(t){return t.key.toLowerCase().indexOf(e.propertiesQueryObj.query.toLowerCase())>=0},e.resetState=function(){e.searchVisible=!1,e.nodeSelected=!1,e.configLoaded=null,e.queryResultsMode=!1,e.lastSavedGraphName=null,e.lastSavedGraphId=null,e.shared=!1,e.numberOfPinnedNodes=0,N={},P=0},e.pushHistory=function(t,n){e.embedded&&(t.embedded=!0),f.search(t),f.state(n)},e.goToHome=function(){e.resetState(),f.url("graphs-visualizations")},e.shouldShowSettings=function(){return e.configLoaded&&e.configLoaded.id===e.defaultGraphConfig.id},e.shouldDisableSameAs=function(){const t=$("#sameAsCheck");return e.settings&&!e.settings.includeInferred&&t.prop("checked")&&(t.prop("checked",!1),e.settings.sameAsState=!1),e.settings&&!e.settings.includeInferred},e.$watch("propertiesObj.items",(function(){angular.isDefined(e.propertiesObj.items)&&e.propertiesObj.items.length>0&&c((function(){e.adapterContainer.adapter.reload()}),500)})),e.toggleMoreInfo=function(e){angular.element(e.currentTarget).parent().next().toggle(200),angular.element(e.currentTarget).children("span").toggleClass("icon-caret-down").toggleClass("icon-caret-up")},e.copyToClipboard=z,e.defaultSettings={linksLimit:20,includeInferred:!0,sameAsState:!0,languages:["en"],showLinksText:!0,preferredTypes:[],rejectedTypes:[],preferredPredicates:[],rejectedPredicates:["http://dbpedia.org/property/logo","http://dbpedia.org/property/hasPhotoCollection","http://dbpedia.org/property/website","http://dbpedia.org/property/homepage","http://dbpedia.org/ontology/thumbnail","http://xmlns.com/foaf/0.1/depiction","http://xmlns.com/foaf/0.1/homepage","http://xmlns.com/foaf/0.1/mbox","http://dbpedia.org/ontology/wikiPage*","http://dbpedia.org/property/wikiPage*","http://factforge.net/*"],preferredTypesOnly:!1,preferredPredicatesOnly:!1,includeSchema:!0},e.saveSettings=angular.copy(e.defaultSettings);const F=g.getPrincipal();function B(){e.settings.languagesMap=_.map(e.settings.languages,(function(e){return{text:e}})),e.settings.preferredTypesMap=_.map(e.settings.preferredTypes,(function(e){return{text:e}})),e.settings.rejectedTypesMap=_.map(e.settings.rejectedTypes,(function(e){return{text:e}})),e.settings.preferredPredicatesMap=_.map(e.settings.preferredPredicates,(function(e){return{text:e}})),e.settings.rejectedPredicatesMap=_.map(e.settings.rejectedPredicates,(function(e){return{text:e}}))}F?D(F):e.$on("securityInit",(function(){D(g.getPrincipal())})),e.resetSettings=function(){e.settings=angular.copy(e.defaultSettings),e.validateLinksLimit(),B()},e.changeLimit=function(t){let n=e.settings.linksLimit+t;n<1&&(n=1),n>1e3&&(n=1e3),e.settings.linksLimit=n},e.validateLinksLimit=function(){e.invalidLimit=!a.NUMBER_PATTERN.test(e.settings.linksLimit)},e.showSettings=function(){e.showInfoPanel=!0,e.showFilter=!0,e.showNodeInfo=!1,e.showPredicates=!1,e.saveSettings?e.settings=angular.copy(e.saveSettings):e.settings=angular.copy(e.defaultSettings),B()},e.reExpandNode=function(){e.rootNodeIri&&e.$broadcast("onRootNodeChange",e.rootNodeIri)};const W=function(t,n,i){const r=void 0===n?e.saveSettings.sameAsState:!0===n,o=void 0===i?e.saveSettings.includeInferred:!0===i;e.loading=!0,l({url:"rest/explore-graph/graph",method:"POST",headers:{"Content-Type":"application/json"},data:{query:t,linksLimit:e.saveSettings.linksLimit,languages:e.shouldShowSettings()?e.saveSettings.languages:[],includeInferred:o,sameAsState:r}}).then((function(e){me(e)}),(function(t){e.loading=!1,s.error(getError(t.data),L.instant("graphexplore.error.cannot.load.graph"))}))};function U(e){return e.replace(/[()']/g,"")}function q(e,t){let n=e.split(" ");return t?[n[0],n[1],n[2]].join(">"):[n[0],n[2]].join(">")}function H(e){return[e.source.iri,e.target.iri].join(">")}function V(e){if(e.isTriple){let t=document.getElementById(U(q(e.iri)));if(t&&void 0!==t.__data__.x)return t.__data__.x}return e.x}function K(e){if(e.isTriple){let t=document.getElementById(U(q(e.iri)));if(t&&void 0!==t.__data__.y)return t.__data__.y}return e.y}function Z(e){let t=e.trim().split(" ");return`<<<${t[0]}> <${t[1]}> <${t[2]}>>>`}function Q(e){return U(`${e.source.isTriple?q(e.source.iri,!0):e.source.iri}>${e.target.isTriple?q(e.target.iri,!0):e.target.iri}>marker`)}function J(){this.nodes=[],this.links=[],this.tripleNodes=new Map,this.tripleLinksCopy=new Map,this.addNode=function(e,t,n){return e.x=t,e.y=n,this.nodes.push(e),e},this.computeConnectedness=function(){const e={},t={};_.each(this.links,(function(n){const i=n.source.iri,r=n.target.iri,o=_.min([i,r])+"|"+_.max([i,r]);t[o]||(t[o]=1,e[i]=(e[i]||0)+1,e[r]=(e[r]||0)+1)})),_.each(this.links,(function(t){e[t.source.iri]>1&&e[t.target.iri]>1?t.connectedness=Math.min(5,Math.max(e[t.source.iri],e[t.target.iri])-1):t.connectedness=0}))},this.addAndMatchLinks=function(e){const t=this.nodes;Array.prototype.push.apply(this.links,function(e,t){return _.map(e,(function(e){let n,i;n=e.isTripleSource?Le(e.source):_.find(t,(function(t){return t.iri===e.source})),i=e.isTripleTarget?Le(e.target):_.find(t,(function(t){return t.iri===e.target}));let r={source:n,target:i,predicates:e.predicates};if(e.isTripleSource||e.isTripleTarget){let e=`${r.source.isTriple?q(r.source.iri):r.source.iri}>${r.target.isTriple?q(r.target.iri):r.target.iri}`;if(Y.tripleLinksCopy.has(e)){let t=Y.tripleLinksCopy.get(e);return t[0].predicates.push(...r.predicates),t.push(r),Y.tripleLinksCopy.set(e,t),null}Y.tripleLinksCopy.set(e,[r])}return r}))}(e,t));for(let e of Y.tripleLinksCopy.keys())1===Y.tripleLinksCopy.get(e).length&&Y.tripleLinksCopy.delete(e);this.links=this.links.filter(e=>null!==e),this.computeConnectedness()};const t=function(e,t){return n(e,t).length};function n(e,t){return _.filter(t,(function(t){return t.source.iri===e.iri||t.target.iri===e.iri}))}this.countLinks=t,this.linksTypes=function(e,t){const i=n(e,t),r=_.map(i,(function(t){return t.source.iri===e.iri?t.target.types:t.source.types}));return _.uniq(_.flatten(r))},this.linksPredicates=function(e,t){const i=n(e,t),r=_.map(i,(function(e){return e.predicates}));return _.uniq(_.flatten(r))},this.removeTriples=function(e){let t=[];this.tripleNodes.size>0&&e.forEach(e=>{this.tripleNodes.has(e)&&(this.tripleNodes.delete(e),this.links=_.reject(this.links,(function(n){let i=e.split(">"),r=q(n.source.iri),o=q(n.target.iri);if(r===e&&Y.tripleNodes.delete(o)){let e=o.split(">");t.push({source:e[0],target:e[1]})}let a=r===e||o===e||n.source.iri===i[0]&&n.target.iri===i[1];return a&&(Y.tripleLinksCopy.delete(`${r}>${o}`),Y.tripleLinksCopy.delete(`${o}>${r}`)),a})))}),t.forEach(e=>{this.links=_.reject(this.links,(function(t){return t.source.iri===e.source&&t.target.iri===e.target}))})},this.removeNode=function(n){let i=[];this.links=_.reject(this.links,(function(e){let t=e.source.iri===n.iri||e.target.iri===n.iri;return t&&(e.target.isTriple&&i.push(q(e.target.iri)),e.source.isTriple||e.target.isTriple||i.push([e.source.iri,e.target.iri].join(">"))),t})),this.removeTriples(i);const r=this.links;this.nodes=_.reject(this.nodes,(function(e){return 0===t(e,r)})),0===this.nodes.length&&(e.nodeSelected=!1),this.computeConnectedness()},this.removeNodeLeafLinks=function(e){let i=[],r=this.links;this.links=_.reject(this.links,(function(o){let a=o.source.iri===e.iri&&1===t(o.target,r)&&!o.target.isTriple||o.target.iri===e.iri&&1===t(o.source,r)&&!o.source.isTriple;if(!a){let i;if(o.source.iri!==e.iri||2!==t(o.target,r)||o.target.isTriple?o.target.iri!==e.iri||2!==t(o.source,r)||o.source.isTriple||(i=n(o.source,r)):i=n(o.target,r),!i)return!1;a=(i[0].source.iri===e.iri||i[0].target.iri)&&(i[1].source.iri===e.iri||i[1].target.iri)}return a&&(o.target.isTriple&&i.push(q(o.target.iri)),o.source.isTriple||o.target.isTriple||i.push([o.source.iri,o.target.iri].join(">"))),a})),this.removeTriples(i),r=this.links,this.nodes=_.reject(this.nodes,(function(n){return 0===t(n,r)&&n.iri!==e.iri})),this.computeConnectedness()},this.addTriple=function(e,t,n){e.x=t,e.y=n,e.weight=0;let i=q(e.iri);if(this.tripleNodes.has(i)){let t=this.tripleNodes.get(i);t.push(e),this.tripleNodes.set(i,t)}else e.weight=10,this.tripleNodes.set(i,[e])},this.copyState=function(){const e=_.map(this.nodes,(function(e){return{iri:e.iri,isTriple:e.isTriple,size:e.size,labels:angular.copy(e.labels),types:angular.copy(e.types),rdfRank:e.rdfRank,x:e.x,y:e.y,fixed:e.fixed}})),t=JSON.stringify(Array.from(this.tripleNodes.entries())),n=JSON.stringify(Array.from(this.tripleLinksCopy.entries()));return{nodes:e,links:_.map(this.links,(function(e){return{source:e.source.iri,isTripleSource:e.source.isTriple,target:e.target.iri,isTripleTarget:e.target.isTriple,predicates:e.predicates}})),tripleNodes:t,tripleLinksCopy:n,colorIndex:P,type2color:N,scale:M.scale(),translate:M.translate()}},this.restoreState=function(t){e.nodeSelected=!0,e.searchVisible=!1,this.nodes=angular.copy(t.nodes),this.tripleNodes=t.tripleNodes?new Map(JSON.parse(t.tripleNodes)):new Map,this.links=[],this.addAndMatchLinks(t.links),this.tripleLinksCopy=t.tripleLinksCopy?new Map(JSON.parse(t.tripleLinksCopy)):new Map,_.each(this.nodes,(function(t){t.fixed&&e.numberOfPinnedNodes++})),angular.isDefined(t.colorIndex)&&angular.isDefined(t.type2color)&&(P=t.colorIndex,N=angular.copy(t.type2color)),angular.isDefined(t.translate)&&angular.isDefined(t.scale)&&(E="translate("+t.translate[0]+", "+t.translate[1]+") scale("+t.scale+")",M.translate(t.translate),M.scale(t.scale)),pe()}}e.updateSettings=function(){e.invalidLimit?s.error(e.INVALID_LINKS_TOOLTIP,e.INVALID_LINKS_MSG):(e.saveSettings=e.settings,e.saveSettings.languages=_.map(e.saveSettings.languagesMap,(function(e){return e.text})),e.saveSettings.preferredTypes=_.map(e.saveSettings.preferredTypesMap,(function(e){return e.text})),e.saveSettings.rejectedTypes=_.map(e.saveSettings.rejectedTypesMap,(function(e){return e.text})),e.saveSettings.preferredPredicates=_.map(e.saveSettings.preferredPredicatesMap,(function(e){return e.text})),e.saveSettings.rejectedPredicates=_.map(e.saveSettings.rejectedPredicatesMap,(function(e){return e.text})),e.rootNodeIri?e.reExpandNode(e.rootNodeIri):e.queryResultsMode&&f.search().query?W(f.search().query,f.search().sameAs,f.search().inference):"query"===e.configLoaded.startMode&&e.loadGraphConfig(e.configLoaded),e.saveSettings.showLinksText?d3.selectAll("svg .link-wrapper text").style("display","block"):d3.selectAll("svg .link-wrapper text").style("display","none"),e.showInfoPanel=!1,e.showFilter=!1,x.set(S.GRAPHS_VIZ,e.saveSettings))},e.showInfoPanel=!1;let Y=new J;e.defaultGraphConfig={id:"default",name:"Easy graph",startMode:"search"},e.getGraphConfigs=function(t){w.getGraphConfigs().success((function(n){e.graphConfigs=n,t&&t()})).error((function(e){s.error(getError(e),L.instant("graphexplore.error.graph.configs.short.msg"))}))},e.loadConfigForId=function(t,n){t===e.defaultGraphConfig.id?e.loadGraphConfig(e.defaultGraphConfig):w.getConfig(t).success((function(t){e.loadGraphConfig(t),n()})).error((function(e){s.error(getError(e),L.instant("graphexplore.error.could.not.load.config",{configId:t}))}))},e.findConfigById=function(t){return t===e.defaultGraphConfig.id?e.defaultGraphConfig:$.grep(e.graphConfigs,(function(e){return e.id===t}))[0]},e.easyGraphSearch=function(t){e.configLoaded=e.defaultGraphConfig,e.openUri(t)},e.loadGraphConfig=function(t){e.configLoaded=t,"search"===t.startMode?e.searchVisible=!0:"node"===t.startMode&&t.startIRI?c((function(){e.openUri(t.startIRI,!0)}),0):"query"===t.startMode&&t.startGraphQuery&&(e.loading=!0,w.loadGraphForConfig(t,t.startQueryIncludeInferred,e.saveSettings.linksLimit,t.startQuerySameAs).then((function(e){me(e)}),(function(t){e.loading=!1,s.error(getError(t),L.instant("graphexplore.error.graph.load"))})))},e.deleteConfig=function(t){m.openSimpleModal({title:L.instant("common.confirm"),message:L.instant("graphexplore.delete.graph",{configName:t.name}),warning:!0}).result.then((function(){w.deleteGraphConfig(t).success((function(){e.getGraphConfigs(),e.refreshSavedGraphs()})).error((function(e){s.error(getError(e),L.instant("graphexplore.error.cannot.delete.config"))}))}))},e.goToGraphConfig=function(t){e.pushHistory({config:t.id},{config:t}),e.resetState(),e.loadGraphConfig(t)},v.onpopstate=function(t){e.resetState(),t.state&&(t.state.config?(e.loadGraphConfig(t.state.config),t.state.uri&&e.openUri(t.state.uri,!0)):t.state.savedGraph&&e.loadSavedGraph(t.state.savedGraph,!0))};const X=function(){f.search().query?(e.searchVisible=!1,e.queryResultsMode=!0,W(f.search().query,f.search().sameAs,f.search().inference)):e.$on("onRootNodeChange",(function(t,n){e.loading=!0,angular.isDefined(n)&&(e.rootNodeIri=n,l({url:"rest/explore-graph/node",method:"GET",params:{iri:n,config:e.configLoaded?e.configLoaded.id:e.defaultGraphConfig.id,languages:e.shouldShowSettings()?e.saveSettings.languages:[],includeInferred:e.saveSettings.includeInferred,sameAsState:e.saveSettings.sameAsState}}).then((function(t){e.nodeSelected=!0,e.searchVisible=!1,null===t.data.types&&(t.data.types="greyColor"),Y=new J;const n=Y.addNode(t.data,G/2,R/2);E="translate(0, -70) scale(1)",M.translate([0,-70]),M.scale(1),ve(n,!0)})).catch((function(t){e.loading=!1,s.error(getError(t),L.instant("graphexplore.error.could.not.load.graph"))})))})),f.search().uri&&e.openUri(f.search().uri),f.search().saved&&I.getSavedGraph(f.search().saved).success((function(t){e.loadSavedGraph(t)})).error((function(e){const t=getError(e);s.error(t,L.instant("graphexplore.error.could.not.open"))}))},ee=function(){f.search().config?e.loadConfigForId(f.search().config,X):f.search().query||f.search().uri?(e.loadGraphConfig(e.defaultGraphConfig),X()):X()};function te(t){!n.getActiveRepository()||e.hasInitedRepository&&!t||(e.hasInitedRepository=!0,t||e.getGraphConfigs(ee),e.getNamespacesPromise=k.getNamespaces(e.getActiveRepository()).success((function(t){const n=_.map(t.results.bindings,(function(e){return{uri:e.namespace.value,prefix:e.prefix.value}}));e.namespaces=_.sortBy(n,(function(e){return e.uri.length})),ne()})).error((function(e){s.error(getError(e),L.instant("graphexplore.error.view.will.not.work"))})))}function ne(){r.isLicenseValid()&&(e.getAutocompletePromise=u.checkAutocompleteStatus())}e.replaceIRIWithPrefix=function(t){const n=e.namespaces,i=_.findLast(n,(function(e){return 0===t.indexOf(e.uri)}));return i?i.prefix+":"+t.substring(i.uri.length):t},e.addedTag=function(t){return t.text.indexOf(":")<0?(s.warning(L.instant("graphexplore.absolute.prefixed.iri")),null):(t.text=function(e,t){if(!/^<?(http|urn).*>?/.test(e)){const n=e.split(":"),i=n[0],r=n[1];if(!angular.isUndefined(r)){const e=d.getNamespaceUriForPrefix(t,i);if(e)return e+r}}return e}(t.text,e.namespaces),e.pageslideExpanded=!0,t)},e.validateTag=function(e,t,n){if(e.text.indexOf(":")<0)return n?s.warning(L.instant("graphexplore.absolute.prefixed.iri.option"),t):s.warning(L.instant("graphexplore.absolute.prefixed.iri"),t),!1;const i=e.text.indexOf("*");if(i>=0){if(!n)return s.warning(L.instant("graphexplore.wildcards.not.allowed"),t),!1;if(i<e.text.length-1)return s.warning(L.instant("graphexplore.wildcards.last.char"),t),!1}return!0},e.getTagClass=function(e){return e.endsWith("*")?"tag-item-wildcard":null},e.getActiveRepository=function(){return n.getActiveRepository()},e.isLicenseValid=function(){return r.isLicenseValid()},e.hasInitedRepository=!1,e.$on("autocompleteStatus",(function(){ne()})),e.$on("repositoryIsSet",(function(t,n){n.newRepo&&(e.hasInitedRepository=!1),te(n.newRepo),n.newRepo&&(e.resetState(),$(".graph-visualization svg").empty(),f.search().query&&(e.goToHome(),X()))})),te();const ie=500,re=1.75,oe=d3.scale.linear().domain([0,9]).range(["hsl(0, 100%, 75%)","hsl(360, 90%, 82%)"]).interpolate(d3.interpolateHslLong),ae=d3.scale.linear().domain([0,9]).range(["hsl(180, 50%, 75%)","hsl(540, 40%, 82%)"]).interpolate(d3.interpolateHslLong);e.getColor=function(e){angular.isUndefined(N[e])&&(N[e]=P,P++);const t=N[e];return t>39?"#c2c2c2":t%2==0?oe(t/2):ae(t/2)};const se=d3.layout.force().gravity(.07).size([G,R]),ce=d3.select(".main-container .graph-visualization").append("svg").attr("viewBox","0 0 "+G+" "+R).attr("preserveAspectRatio","xMidYMid meet");let le=0,de=0;const ue=new function(){this.state=!1,this.setLoadingState=function(e){this.state=e},this.getLoadingState=function(){return this.state},this.init=function(e,t){d3.select(t).append("circle").attr("cx",(function(){return e.x})).attr("cy",(function(){return e.y})).attr("class","loader-container").attr("r",(function(){return e.size})).style("fill","fff").style("opacity","0.7"),d3.select(t).append("image").attr("xlink:href","js/angular/templates/loader/ot-loader.svg?v=2.0.0-M3-RC2").attr("x",(function(){return e.x-e.size+5})).attr("y",(function(){return e.y-e.size})).attr("width",(function(){return 2*e.size})).attr("height",(function(){return 2*e.size})).attr("class","node-loader")}};function pe(t){d3.selectAll("svg g").remove(),d3.selectAll("svg rect").remove(),d3.selectAll(".d3-tip").remove(),d3.selectAll(".menu-events").remove(),M.on("zoom",(function(){E="translate("+d3.event.translate+") scale("+d3.event.scale+")",n.attr("transform",E)})),ce.append("rect").attr("width",10*G).attr("height",10*R).attr("x",-(10*G-G)/2).attr("y",-(10*R-R)/2).style("fill","none").style("pointer-events","all").call(M).on("click",(function(){d3.event.stopPropagation(),xe(),se.stop()}));const n=ce.append("g").attr("class","nodes-container").attr("transform",(function(){return angular.isDefined(E)&&!t?E:""})),r=o()().attr("class","d3-tip").customPosition((function(){const e=O.getBoundingClientRect();return{top:e.bottom+10+"px",left:e.left-30+"px"}})).html((function(t){let n="";return t.fixed&&(n+='<i class="icon-pin"></i> '),t.types.length>0?n+=_.join(_.map(t.types,(function(t){return e.replaceIRIWithPrefix(t)}))," · "):n+="<i>No types</i>",n})),a=function(e){let t="";return t+=_.join(_.map(e.predicates,(function(t,n){if(0===n)return Te(t);if(n<10)return" · "+Te(t);if(10===n){const t=function(e){return e.predicates.length-10}(e),n=t>1?t+" predicates":t+" predicate";return" · "+L.instant("graphexplore.tip.text",{textToShow:n})}})),""),t};let l;const d=o()().attr("class","d3-tip").customPosition((function(e){const t=l.getBoundingClientRect(),n=function(e){const t=a(e),n=document.createElement("canvas").getContext("2d");return n.font="13px Arial",e.predicates.length<10?n.measureText(t).width:n.measureText(t).width/2}(e);return{top:t.top-30+"px",left:t.left-30+"px",width:n+"px"}})).html((function(e){return a(e)}));const u=function(){c.cancel(void 0),c.cancel(le),O=null,r.hide(),de=c((function(){xe()}),500)};ce.call(r);ce.call(d);let p=ce.selectAll(".link"),f=ce.selectAll(".node");se.nodes(Y.nodes).charge(-3e3),se.links(Y.links).linkDistance((function(e){return e.source.isTriple||e.target.isTriple?0:function(e){const t=$("<span></span>"),n=e.predicates[0].split("/"),i=n[n.length-1];t.addClass("predicate-text").text(i),$("body").append(t);const r=t.width()+2*e.source.size+2*e.target.size+50;return t.remove(),.75*r}(e)+30*e.connectedness})),n.append("defs").selectAll("marker").data(se.links()).enter().append("marker").attr("class","arrow-marker").attr("id",(function(e){return Q(e)})).attr("viewBox","0 -5 10 10").attr("refX",(function(e){return e.target.isTriple?11:e.target.size+11})).attr("refY",0).attr("markerWidth",10).attr("markerHeight",10).attr("orient","auto").append("path").attr("d","M0,-5L10,0L0,5 L10,0 L0, -5"),p=n.selectAll(".link").data(Y.links).enter().append("g").attr("class","link-wrapper").attr("id",(function(e){return U(H(e))})).append("line").attr("class","link").style("stroke-width",1).style("fill","transparent").style("marker-end",(function(e){return`url(#${Q(e)})`}));const g=n.selectAll(".link-wrapper").append("text").text((function(e){return Ce(e)})).attr("class",(function(e){return e.predicates.length>1||Y.tripleNodes.has(H(e))?"predicates":"predicate"})).attr("dy","-0.5em").style("text-anchor","middle").style("display",e.saveSettings.showLinksText?"":"none").on("mouseover",(function(e){d3.event.stopPropagation(),function(e){c.cancel(void 0);const t=l=d3.event.target;c((function(){l===t&&e.predicates.length>1&&d.show(e,l)}),300)}(e)})).on("mouseout",(function(){c.cancel(void 0),l=null,d.hide()})).on("click",(function(t){d3.event.stopPropagation(),function(t){ke();let n=H(t);if(1===t.predicates.length&&Y.tripleNodes.has(n)){j=null;let e=Y.tripleNodes.get(n)[0];if(ge(e,this,d3.event.button)){let t={};t.iri=e.iri,t.pred=Te(e.iri.split(" ")[1]),Ie(t)}return}!function(t){if(e.showNodeInfo=!1,e.showPredicates=t.predicates.length>1,e.showFilter=!1,e.showInfoPanel=!1,j===t)return e.showNodeInfo=!1,e.showInfoPanel=!1,void(j=null);j=t,e.showPredicates&&(e.predicates=_.map(t.predicates,(function(e){let n=function(e,t){let n=H(t);return Y.tripleNodes.has(n)?Y.tripleNodes.get(n).findIndex(t=>t.iri.indexOf(e)>=0):-1}(e,t),i=n>-1;return{value:Te(e),partOfTriple:i,linkId:i?H(t):"",nodeIndex:n}})),e.showInfoPanel=!0)}(t)}(t)}));let h,m=0,y=0,v=0;const x=function(){d3.event.button&&0!==d3.event.button||(u(),c.cancel(h),e.showPredicates=!1,d3.event.timeStamp-m<ie?y++:y=1,m=d3.event.timeStamp,d3.event.preventDefault())},S=function(t){if(d3.event.button&&0!==d3.event.button)return;c.cancel(h);const n=d3.event,i=this;if(d3.event.timeStamp-m<ie)if(1===y)h=c((function(){ge(t,i,n)}),40+ie-(d3.event.timeStamp-m));else if(2===y){Y.countLinks(t,Y.links)<=e.saveSettings.linksLimit?ve(t,!1,i.parentNode):s.info(L.instant("graphexplore.increase.limit"),L.instant("graphexplore.node.at.max")),e.closeInfoPanel()}d3.event.preventDefault()};function I(e,t){let i,r,o,a,s=!0;if("down"===t)i=2*e.size,r=e.size/3,o=.8,a=.3;else if("down-fixed"===t)i=2*e.size,r=e.size,o=.8,a=.66;else if("up"===t)i=e.size/3,r=2*e.size,o=.3,a=.8;else{if("fixed"!==t)return;i=e.size,o=.66,s=!1}let c=n.selectAll(".node-wrapper").filter((function(t){return t===e})).append("text").text("").classed("icon-any pinned",!0).style("font-size",i+"px").attr("x",(function(e){return e.x})).attr("y",(function(e){return e.y})).attr("opacity",o);"fixed"!==t&&"down-fixed"!==t||(e.pin=c),s&&(c=c.transition().duration(1e3).style("font-size",(function(){return r+"px"})).attr("opacity",a),"down-fixed"!==t&&c.remove())}const w=d3.behavior.drag().origin((function(e){return e})).on("dragstart",(function(e){0===d3.event.sourceEvent.button&&(e.fixedBeforeDrag=e.fixed,e.isBeingDragged=!0,e.beginDragging=!0,xe(),d3.event.sourceEvent.stopPropagation(),d3.select(this).classed("dragging",!0))})).on("drag",(function(t){t.isBeingDragged&&(y=0,t.px=d3.event.x,t.py=d3.event.y,t.fixed?t.beginDragging&&I(t,"fixed"):(e.numberOfPinnedNodes++,t.fixed=!0,I(t,"down-fixed")),t.pinWasFixed=!0,t.beginDragging=null,se.resume())})).on("dragend",(function(e){e.isBeingDragged&&(e.pinWasFixed&&(e.pinWasFixed=null,d3.select(".pinned").remove()),e.isBeingDragged=!1,d3.select(this).classed("dragging",!1))}));f=n.selectAll(".node").data(Y.nodes).enter().append("g").attr("class","node-wrapper").attr("id",(function(e){return e.iri})).append("circle").attr("class","node").attr("r",(function(e){return e.size})).style("fill",(function(t){return"greyColor"===t.types?"c2c2c2":e.getColor(t.types[0])})).call(w).on("mouseover",(function(t){if(!t.isBeingDragged){const n=d3.event;c.cancel(de),le=c(()=>{(function(t,n){if(e.showInfoPanel)return!1;(fe.closeIcon||fe.expandIcon||fe.focusIcon||fe.copyURIIcon)&&fe.removeIcons();if(se.alpha()<.05)return fe.initIcons(t,n.parentNode),se.stop(),!0;return!1})(t,this)&&function(e,t){c.cancel(void 0);const n=O=t.target;c((function(){O===n&&r.show(e,O)}),300)}(t,n)},400)}})).on("mouseout",u).on("mousedown",x).on("touchstart",(function(e){x(),v=0,h=c((function(){v<5&&he(e),h=null,y=0}),1e3)})).on("touchmove",(function(){v++})).on("mouseup",S).on("touchend",S).on("contextmenu",(function(t){d3.event.shiftKey||(d3.event.preventDefault(),xe(),e.closeInfoPanel(),t.fixed?(e.numberOfPinnedNodes--,t.fixed=!1,I(t,"up"),se.resume()):(e.numberOfPinnedNodes++,t.fixed=!0,I(t,"down")),function(e){O&&r.show(e,O)}(t))}));const k=n.selectAll(".node-wrapper").append("foreignObject").style("pointer-events","none").attr("width",(function(e){return 2*e.size*re}));n.insert("g").attr("class","menu-events"),function(e){e.each((function(e){e.fontSize=i.a.Text.calcFontSizeRaw(e.labels[0].label,e.size,A,!0)})).attr("height",(function(e){return 3*e.fontSize})).append("xhtml:div").attr("class","node-label-body").style("font-size",(function(e){return e.fontSize+"px"})).append("xhtml:div").text((function(e){return e.labels[0].label})),c((function(){$(".node-label-body div").each((function(e,t){let n=t.textContent.substring(0,t.textContent.length-1);let i=0;for(;i<200&&(t.scrollHeight>t.clientHeight||t.scrollWidth>t.clientWidth);)n=n.substring(0,n.length-1),t.textContent=n+"…",i++}))}),50)}(k),se.on("tick",(function(){d3.geom.quadtree(Y.nodes);Y.nodes.length;p.attr("x1",(function(e){return V(e.source)})).attr("y1",(function(e){return K(e.source)})).attr("x2",(function(e){return V(e.target)})).attr("y2",(function(e){return K(e.target)})),g.attr("x",(function(e){let t=V(e.source),n=V(e.target);return e.x=.5*(t+n)})).attr("y",(function(e){let t=K(e.source),n=K(e.target);return e.y=.5*(t+n)})).attr("transform",(function(e){return"rotate("+function(e,t){const n={x:V(e.source),y:K(e.source)},i={x:V(e.target),y:K(e.target)};if(t)return 180*Math.atan2(i.y-n.y,i.x-n.x)/Math.PI;{const e=180*Math.atan2(i.y-n.y,i.x-n.x)/Math.PI;return e<=90&&e>=-90?e:(e>0?-1:1)*(180-Math.abs(e))}}(e,e.direction)+", "+e.x+", "+e.y+")"})),f.attr("cx",(function(e){return e.x})).attr("cy",(function(e){return e.y})),n.select(".node-loader").attr("x",(function(e){return e.x-e.size+3})).attr("y",(function(e){return e.y-e.size})),n.select(".loader-container").attr("cx",(function(e){return e.x})).attr("cy",(function(e){return e.y})),k.attr("x",(function(e){return e.x-e.size*re})).attr("y",(function(e){return e.y-3*e.fontSize/2})),d3.select(".pinned").attr("x",(function(e){return e.x})).attr("y",(function(e){return e.y}))})),angular.isDefined(ue)&&ue.setLoadingState(!1),e.loading&&(e.loading=!1),d3.selectAll(".link-wrapper").each((function(){const e=$(this).attr("id").split(">")[0],t=$(this).attr("id").split(">")[1];d3.selectAll(".link").each((function(n){let i=U(n.source.iri),r=U(n.target.iri);if(i===t&&r===e){let e=i;e+=">",e+=r;const t=document.createTextNode(" ⟶");document.getElementById(e).lastChild.appendChild(t),n.direction="double"}}))})),d3.selectAll(".d3-actions-tip").remove(),se.start()}pe();const fe=new function(){function e(e,t){return"translate("+(t.x-14+(t.size+15)*Math.cos(e*Math.PI/180-Math.PI/2))+","+(t.y-14+(t.size+15)*Math.sin(e*Math.PI/180-Math.PI/2))+")"}this.closeIcon=void 0,this.expandIcon=void 0,this.collapseIcon=void 0,this.focusIcon=void 0,this.copyURIIcon=void 0,this.actionsTip=void 0,this.removeIcons=function(){this.closeIcon.remove("g"),this.expandIcon&&this.expandIcon.remove("g"),this.collapseIcon&&this.collapseIcon.remove("g"),this.focusIcon.remove("g"),this.copyURIIcon.remove("g"),this.closeIcon=void 0,this.expandIcon=void 0,this.collapseIcon=void 0,this.focusIcon=void 0,this.copyURIIcon=void 0,this.expandedState=!1},this.expandedState=!1,this.initIcons=function(n,i){const r=o()().attr("class","d3-tip d3-actions-tip").customPosition((function(){const e=d3.event.target.getBoundingClientRect();return{top:e.top-20+"px",left:e.right+10+"px"}})).html((function(e){return e}));ce.call(r);n.isExpanded?(this.collapseIcon=d3.select(".menu-events").append("g").attr("class","collapse-icon").attr("name","collapse").attr("transform",(function(){return e(20,n)})),this.collapseIcon.append("circle").attr("cx",14).attr("cy",14).attr("r",13).style("fill","#eee"),this.collapseIcon.append("path").attr("d","M22.67,12a.59.59,0,0,1-.53.65l-6.88.72H15.2a.59.59,0,0,1-.59-.65l.72-6.88A.58.58,0,0,1,16,5.33a.59.59,0,0,1,.53.65L16,11.11,21.3,5.79a.64.64,0,0,1,.91.91L16.89,12,22,11.49A.59.59,0,0,1,22.67,12ZM12.59,14.75l-6.75.85a.59.59,0,0,0-.51.66.58.58,0,0,0,.66.51l4.95-.62-5.2,5.2a.64.64,0,1,0,.91.91l5.2-5.2L11.23,22a.59.59,0,0,0,.51.66h.07a.59.59,0,0,0,.59-.52l.85-6.75a.59.59,0,0,0-.17-.49A.58.58,0,0,0,12.59,14.75Z").style("fill","var(--onto-orange)"),this.collapseIcon.on("click",(function(){var e;(e=n).isExpanded=!1,Y.removeNodeLeafLinks(e),pe()})).on("mouseover",(function(){r.show(this.getAttribute("name")),c.cancel(le),c.cancel(de)})).on("mouseout",(function(){r.hide(),de=c((function(){xe()}),500)}))):(this.expandIcon=d3.select(".menu-events").append("g").attr("class","expand-icon").attr("name","expand").attr("transform",(function(){return e(20,n)})),this.expandIcon.append("circle").attr("cx",14).attr("cy",14).attr("r",13).style("fill","#eee"),this.expandIcon.append("path").attr("d","M22.37,6.28l-.72,6.88a.59.59,0,0,1-.59.53H21a.59.59,0,0,1-.53-.65L21,7.9l-5.32,5.32a.64.64,0,0,1-.91-.91L20.1,7,15,7.53a.59.59,0,0,1-.12-1.18l6.88-.72a.59.59,0,0,1,.65.65ZM12.89,20.34,7.95,21l5.2-5.2a.64.64,0,0,0-.91-.91L7,20.05l.62-4.95A.59.59,0,0,0,6.48,15l-.85,6.75a.59.59,0,0,0,.59.67h.07L13,21.52a.59.59,0,1,0-.15-1.18Z").style("fill","var(--onto-orange)"),this.expandIcon.on("click",(function(){ve(n,!1,i)})).on("mouseover",(function(){r.show(this.getAttribute("name")),c.cancel(de),c.cancel(le)})).on("mouseout",(function(){r.hide(),de=c((function(){xe()}),500)}))),this.focusIcon=d3.select(".menu-events").append("g").attr("class","focus-icon").attr("name","focus").attr("transform",(function(){return e(20,n)})),this.focusIcon.append("circle").attr("cx",14).attr("cy",14).attr("r",13).style("fill","#eee"),this.focusIcon.append("path").attr("d","M14.2,23.81a9.8,9.8,0,1,1,6.93-2.87h0A9.74,9.74,0,0,1,14.2,23.81Zm0-18.17a8.37,8.37,0,1,0,5.92,14.29h0A8.37,8.37,0,0,0,14.2,5.64Zm1.42,6.95a2,2,0,1,0,0,2.85A2,2,0,0,0,15.62,12.59Z").style("fill","var(--onto-orange)"),this.focusIcon.on("click",(function(){t.$broadcast("onRootNodeChange",n.iri)})).on("mouseover",(function(){r.show(this.getAttribute("name")),c.cancel(de),c.cancel(le)})).on("mouseout",(function(){r.hide(),de=c((function(){xe()}),500)})),this.copyURIIcon=d3.select(".menu-events").append("g").attr("class","icon-link").attr("name","link").attr("transform",(function(){return e(20,n)})),this.copyURIIcon.append("circle").attr("cx",14).attr("cy",14).attr("r",13).style("fill","#eee"),this.copyURIIcon.append("path").attr("d","M 13.457031 10.164062 C 13.648438 10.164062 13.820312 10.242188 13.941406 10.363281 L 15.492188 11.859375 C 15.984375 12.332031 16.292969 12.992188 16.292969 13.714844 C 16.292969 14.441406 15.984375 15.097656 15.492188 15.574219 L 10.394531 20.496094 C 9.902344 20.972656 9.222656 21.265625 8.472656 21.265625 C 7.71875 21.265625 7.039062 20.972656 6.546875 20.496094 L 4.996094 19 C 4.507812 18.523438 4.203125 17.867188 4.203125 17.144531 C 4.203125 16.421875 4.507812 15.765625 4.996094 15.289062 L 7.542969 12.824219 C 7.667969 12.707031 7.84375 12.628906 8.035156 12.628906 C 8.417969 12.628906 8.726562 12.929688 8.726562 13.300781 C 8.726562 13.484375 8.648438 13.652344 8.523438 13.773438 L 5.976562 16.234375 C 5.738281 16.46875 5.589844 16.792969 5.589844 17.148438 C 5.589844 17.503906 5.738281 17.824219 5.976562 18.058594 L 7.527344 19.566406 C 7.773438 19.792969 8.105469 19.929688 8.472656 19.929688 C 8.835938 19.929688 9.167969 19.792969 9.414062 19.566406 L 14.511719 14.644531 C 14.753906 14.410156 14.90625 14.089844 14.90625 13.730469 C 14.90625 13.375 14.753906 13.054688 14.511719 12.820312 L 12.964844 11.324219 C 12.839844 11.203125 12.761719 11.039062 12.761719 10.855469 C 12.761719 10.488281 13.070312 10.1875 13.449219 10.1875 Z M 17.082031 3.976562 C 17.082031 3.976562 17.085938 3.976562 17.085938 3.976562 C 17.824219 3.976562 18.492188 4.261719 18.980469 4.722656 L 20.535156 6.203125 C 21.042969 6.679688 21.355469 7.34375 21.355469 8.082031 C 21.355469 8.792969 21.058594 9.441406 20.582031 9.914062 L 18.0625 12.402344 C 17.9375 12.527344 17.761719 12.605469 17.566406 12.605469 C 17.183594 12.605469 16.875 12.304688 16.875 11.9375 C 16.875 11.753906 16.949219 11.589844 17.070312 11.46875 L 19.605469 8.984375 C 19.847656 8.75 19.996094 8.429688 19.996094 8.070312 C 19.996094 7.714844 19.847656 7.394531 19.605469 7.160156 L 18.019531 5.667969 C 17.773438 5.445312 17.4375 5.304688 17.070312 5.300781 C 16.703125 5.304688 16.367188 5.453125 16.128906 5.691406 L 11.085938 10.667969 C 10.84375 10.898438 10.695312 11.222656 10.695312 11.578125 C 10.695312 11.933594 10.84375 12.257812 11.085938 12.488281 L 12.675781 13.980469 C 12.804688 14.101562 12.882812 14.273438 12.882812 14.457031 C 12.882812 14.828125 12.574219 15.128906 12.191406 15.128906 C 12.003906 15.128906 11.832031 15.054688 11.707031 14.9375 L 10.140625 13.457031 C 9.636719 12.980469 9.324219 12.316406 9.324219 11.582031 C 9.324219 10.863281 9.621094 10.214844 10.101562 9.742188 L 15.140625 4.765625 C 15.625 4.285156 16.304688 3.980469 17.054688 3.976562 Z M 17.082031 3.976562").style("fill","var(--onto-orange)"),this.copyURIIcon.on("click",(function(){z(n.iri),xe(),r.hide()})).on("mouseover",(function(){r.show("<div style='text-align: center;'><b>Copy to ClipBoard</b><br>"+n.iri+"</div>"),c.cancel(de),c.cancel(le)})).on("mouseout",(function(){r.hide(),de=c((function(){xe()}),500)})),this.closeIcon=d3.select(".menu-events").append("g").attr("class","close-icon").attr("name","remove").attr("transform",(function(){return e(20,n)})),this.closeIcon.append("circle").attr("cx",14).attr("cy",14).attr("r",13).style("fill","#eee"),this.closeIcon.append("path").attr("d","M14.94,14l5.87-5.87a.66.66,0,1,0-.94-.94L14,13.06,8.13,7.19a.66.66,0,0,0-.94.94L13.06,14,7.19,19.87a.66.66,0,1,0,.94.94L14,14.94l5.87,5.87a.66.66,0,1,0,.94-.94Z").style("fill","var(--onto-orange)"),this.closeIcon.on("click",(function(){he(n)})).on("mouseover",(function(){r.show(this.getAttribute("name")),c.cancel(de),c.cancel(le)})).on("mouseout",(function(){r.hide(),de=c((function(){xe()}),500)})),this.animateMenu(n)},this.animateMenu=function(t){let n=0;let i=20;this.expandIcon&&this.expandIcon.transition().duration(100).style("opacity",1).ease("sin").attr("transform",(function(){return e(i,t)})).delay(n+=35),this.collapseIcon&&this.collapseIcon.transition().duration(100).style("opacity",1).ease("sin").attr("transform",(function(){return e(i,t)})).delay(n+=35),this.copyURIIcon.transition().duration(100).style("opacity",1).ease("sin").attr("transform",(function(){return i+=30,e(i,t)})).delay(n+=35),this.focusIcon.transition().duration(100).style("opacity",1).ease("sin").attr("transform",(function(){return i+=30,e(i,t)})).delay(n+=35),this.closeIcon.transition().duration(100).style("opacity",1).ease("sin").attr("transform",(function(){return i+=30,e(i,t)})).delay(n+=35),this.expandedState=!0}};function ge(n,i,r){return e.showInfoPanel=!1,e.showPredicates=!1,e.showNodeInfo=!1,r.shiftKey&&(r.ctrlKey||r.metaKey)?(t.$broadcast("onRootNodeChange",n.iri),!1):r.ctrlKey||r.metaKey?(he(n),!1):void 0!==e.openedNodeInfoPanel&&e.openedNodeInfoPanel===n?(e.pageslideExpanded=!1,e.openedNodeInfoPanel=void 0,!1):(Se(n),!0)}function he(e){Y.removeNode(e),pe()}function me(t){!function(t){e.nodeSelected=!0,null===t.data.types&&(t.data.types="greyColor"),Y=new J,E="translate(0, -70) scale(1)",M.translate([0,-70]),M.scale(1)}(t),ye(t)}function ye(t,n,i){let r=t.data;r=_.filter(r,(function(e){return-1===_.findIndex(Y.links,(function(t){return e.source===t.source.iri&&e.target===t.target.iri}))}));let o=[];const a=Y.tripleLinksCopy.values();for(let e=0;e<Y.tripleLinksCopy.size;e++){a.next().value.forEach(e=>{o.push(e)})}r=_.filter(r,(function(e){return-1===_.findIndex(o,(function(t){return e.source===t.source.iri&&e.target===t.target.iri}))})),r=_.filter(r,(function(e){return e.source!==e.target}));const c=function(e,t){let n=t.map((function(t){return t[e]}));return t.filter((function(t,i){return n.indexOf(t[e])===i}))}("iri",_.union(_.flatten(_.map(t.data,(function(e){return[{iri:e.source,isTriple:e.isTripleSource},{iri:e.target,isTriple:e.isTripleTarget}]}))))),d=_.map(Y.nodes,(function(e){return{iri:e.iri,isTriple:Boolean(e.isTriple)}})),u=Y.tripleNodes.values();for(let e=0;e<Y.tripleNodes.size;e++){u.next().value.forEach(e=>{d.push({iri:e.iri,isTriple:e.isTriple})})}const f=_.reject(c,(function(e){return _.some(d,e)}));if(0===f.length)i?s.info(L.instant("graphexplore.error.node.connections")):0===r.length&&s.info(L.instant("graphexplore.error.node.connections")),Y.addAndMatchLinks(r),pe();else{const t=[],i=[];_.forEach(f,(function(n,r){t.push(l({url:"rest/explore-graph/node",method:"GET",params:{iri:n.isTriple?Z(n.iri):n.iri,config:e.configLoaded.id,languages:e.shouldShowSettings()?e.saveSettings.languages:[],includeInferred:e.saveSettings.includeInferred,sameAsState:e.saveSettings.sameAsState}}).then((function(e){i[r]=e.data})))})),p.all(t).then((function(){_.forEach(i,(function(e,t){const r=2*Math.PI*t/i.length,o=(n?n.x:0)+Math.cos(r)*R/3,a=(n?n.y:0)+Math.sin(r)*R/3;e.isTriple?Y.addTriple(e,o,a):Y.addNode(e,o,a)})),Y.addAndMatchLinks(r),n&&(n.isExpanded=!0),pe()}))}}function ve(t,n,i){if(ue.getLoadingState())return;ue.init(t,i);const r=t.iri;l({url:"rest/explore-graph/links",method:"GET",params:{iri:r,linksLimit:e.saveSettings.linksLimit,includeInferred:e.saveSettings.includeInferred,config:e.configLoaded.id,preferredTypes:e.shouldShowSettings()?e.saveSettings.preferredTypes:[],rejectedTypes:e.shouldShowSettings()?e.saveSettings.rejectedTypes:[],preferredPredicates:e.shouldShowSettings()?e.saveSettings.preferredPredicates:[],rejectedPredicates:e.shouldShowSettings()?e.saveSettings.rejectedPredicates:[],preferredTypesOnly:e.shouldShowSettings()?e.saveSettings.preferredTypesOnly:[],preferredPredicatesOnly:e.shouldShowSettings()?e.saveSettings.preferredPredicatesOnly:[],languages:e.shouldShowSettings()?e.saveSettings.languages:[],sameAsState:e.saveSettings.sameAsState,includeSchema:e.saveSettings.includeSchema}}).then((function(e){ye(e,t,n)}),(function(t){const n=getError(t.data);s.error(n,L.instant("graphexplore.error.exploring.node")),e.loading=!1,ue.setLoadingState(!1)}))}function xe(){angular.isDefined(fe)&&fe.expandedState&&fe.removeIcons()}function Se(t){se.stop(),e.openedNodeInfoPanel=t,e.showNodeInfo=!0,e.showFilter=!1,e.showPredicates=!1,e.nodeLabels=t.labels,e.nodeTypes=t.types,e.rdfRank=t.rdfRank,e.nodeIri=t.iri,e.resourceType=t.isTriple?"triple":"uri",e.encodedIri=t.isTriple?encodeURI(Z(t.iri)):encodeURI(t.iri),e.showInfoPanel=!0,e.rdfsLabel=t.labels[0].label,e.rdfsComment=t.comment,e.expanded=!1,e.propertiesQueryObj.query="",e.dataNodeKeysQuery="",l.get("rest/explore-graph/properties",{params:{iri:t.isTriple?Z(t.iri):t.iri,config:e.configLoaded.id,languages:e.shouldShowSettings()?e.saveSettings.languages:[],includeInferred:e.saveSettings.includeInferred,sameAsState:e.saveSettings.sameAsState,rejectedPredicates:e.shouldShowSettings()?e.saveSettings.rejectedPredicates:[]}}).then((function(t){e.data=_.mapKeys(t.data,(function(t,n){return e.replaceIRIWithPrefix(n)})),e.propertiesObj.items=[],_.forEach(e.data,(function(t,n){e.propertiesObj.items.push({key:n,value:t})})),e.nodeImage=void 0,e.propertiesNotFiltered=e.propertiesObj.items;const n=_.find(e.propertiesObj.items,(function(e){return"image"===e.key}));n&&(e.nodeImage=n.value[0].v),e.propertiesObj.items=_.reject(e.propertiesObj.items,(function(e){return"image"===e.key})),e.propertiesNotFiltered=e.propertiesObj.items}),(function(e){s.warning(getError(e.data),"Error")}))}function Ie(e){we("predicate","var(--onto-orange-dark)",e),we("predicates","var(--onto-orange-dark)",e);let t=document.getElementsByClassName("link");t&&_.each(t,(function(t){let n=t.__data__;(n.source.iri.indexOf(e.iri)>=0||n.target.iri.indexOf(e.iri)>=0)&&(t.style.stroke="var(--onto-orange-dark)",t.style.strokeWidth=4)}));let n=document.getElementsByClassName("arrow-marker");n&&_.each(n,(function(t){let n=t.__data__;(n.source.iri.indexOf(e.iri)>=0||n.target.iri.indexOf(e.iri)>=0)&&(t.style.stroke="var(--onto-orange-dark)",t.__data__.target.isTriple||t.setAttribute("refX","23"))}))}function we(e,t,n){let i=document.getElementsByClassName(e);i&&_.each(i,(function(e){let i=e.__data__;n?((i.source.iri.indexOf(n.iri)>=0||i.target.iri.indexOf(n.iri)>=0)&&(e.style.fill=t),q(n.iri)===H(i)&&(e.textContent=n.pred,e.style.fill=t),n.oppLinkIRI&&n.oppLinkIRI===H(i)&&(e.textContent=n.oppTriplePred,e.style.fill=t)):(e.style.fill=t,e.textContent=Ce(i))}))}function ke(){_.each(e.predicates,(function(e){let t=document.getElementById(e.linkId+e.nodeIndex);t&&(t.style.fontWeight="normal")}));let t=document.getElementsByClassName("link");t&&_.each(t,(function(e){e.style.stroke="#999",e.style.strokeWidth=1})),we("predicate",""),we("predicates","");let n=document.getElementsByClassName("arrow-marker");n&&_.each(n,(function(e){e.style.stroke="#999",e.__data__.target.isTriple||e.setAttribute("refX","59")}))}function Le(e){let t=q(e);if(Y.tripleNodes.has(t))return Y.tripleNodes.get(t).find(t=>t.iri===e)}function Ce(e){return e.predicates.length>1?e.predicates.length+" predicates":Te(e.predicates[0])}function Te(t){const n=e.replaceIRIWithPrefix(t);return n.length===t.length?t.split("/")[t.split("/").length-1]:n}e.toggleSidePanel=function(){e.pageslideExpanded=!e.pageslideExpanded},e.closeInfoPanel=function(){e.pageslideExpanded=!1,e.openedNodeInfoPanel=void 0,e.predicates=[],j=null,c((function(){e.showInfoPanel=!1}))},e.clickLink=function(t){if(Y.tripleNodes.has(t.linkId)){ke();let n=Y.tripleNodes.get(t.linkId)[t.nodeIndex];Se(n),e.showPredicates=!0;let i=document.getElementById(t.linkId+t.nodeIndex);i&&(i.style.fontWeight="bold");let r={};const o=Y.tripleLinksCopy.values();for(let e=0;e<Y.tripleLinksCopy.size;e++){let e=o.next().value;e.length>1&&e.every(t=>t.source.iri===n.iri?(r.iri=e[0].source.iri,t.target.isTriple&&(r.oppLinkIRI=q(t.target.iri),r.oppTriplePred=Te(t.target.iri.split(" ")[1])),r.pred=Te(n.iri.split(" ")[1]),1===t.predicates.length&&(r.linkPred=t.predicates[0]),!1):t.target.iri!==n.iri||(r.iri=e[0].target.iri,t.source.isTriple&&(r.oppLinkIRI=q(t.source.iri),r.oppTriplePred=Te(t.source.iri.split(" ")[1])),r.pred=Te(n.iri.split(" ")[1]),1===t.predicates.length&&(r.linkPred=t.predicates[0]),!1))}r.iri||(r.iri=n.iri,r.pred=Te(n.iri.split(" ")[1])),Ie(r)}},e.splitPredicate=function(e){return e.split("/")[e.split("/").length-1]},e.getActiveRepository=function(){return n.getActiveRepository()},e.isLoadingLocation=function(){return n.isLoadingLocation()},e.hasActiveLocation=function(){return n.hasActiveLocation()},e.rotate=function(e){xe();const t=2*(e?1:-1)*Math.PI/180,n=Math.cos(t),i=Math.sin(t),r=G/2,o=R/2;d3.selectAll(".node-wrapper").each((function(e){e.x=r+(n*(e.x-r)+i*(e.y-o)),e.y=o+(-i*(e.x-r)+n*(e.y-o)),e.fixed&&(e.px=e.x,e.py=e.y)})),se.resume()},e.openUri=function(t,n){if(!n){const n={};e.configLoaded.id!==e.defaultGraphConfig.id&&(n.config=e.configLoaded.id),n.uri=t,e.pushHistory(n,{uri:t,config:e.configLoaded})}e.$broadcast("onRootNodeChange",t)},e.saveOrUpdateGraph=function(){const t=JSON.stringify(Y.copyState()),n={id:e.lastSavedGraphId,name:e.lastSavedGraphName,data:t,shared:e.shared};n.id?e.saveGraphModal("update",n):e.saveGraphModal("new",n)},e.renameSavedGraph=function(t){e.saveGraphModal("rename",{id:t.id,name:t.name,config:t.config,shared:t.shared})};const be=function(t){I.editSavedGraph(t).success((function(){e.lastSavedGraphName=t.name,e.shared=t.shared,e.refreshSavedGraphs(),s.success(L.instant("graphexplore.saved.graph.was.edited",{name:t.name}))})).error((function(e){const t=getError(e);s.error(t,L.instant("graphexplore.error.cannot.edit"))}))};e.saveGraphModal=function(t,n,i){y.open({templateUrl:"js/angular/graphexplore/templates/modal/save-graph.html",controller:"SaveGraphModalCtrl",resolve:{data:function(){return{mode:t,graph:n,graphExists:i,shared:n.shared}}}}).result.then((function(t){if(t.restart)e.saveGraphModal(t.mode,t.graph,!1);else switch(t.mode){case"new":!function(t){e.configLoaded&&(t.config=e.configLoaded.id),I.addNewSavedGraph(t).success((function(n,i,r){e.lastSavedGraphName=t.name,e.lastSavedGraphId=r()["x-saved-graph-id"],e.shared=t.shared,e.refreshSavedGraphs(),s.success(L.instant("graphexplore.saved.graph",{name:t.name}))})).error((function(n,i){if(422===i)e.saveGraphModal("new",t,!0);else{const e=getError(n);s.error(e,L.instant("graphexplore.error.cannot.create.graph"))}}))}(t.graph);break;case"update":case"rename":be(t.graph)}}))},e.refreshSavedGraphs=function(){I.getSavedGraphs().success((function(t){e.savedGraphs=t})).error((function(e){const t=getError(e);s.error(t,L.instant("graphexplore.error.getting.saved.graphs"))}))},e.loadSavedGraph=function(t,n){t.owner?(e.lastSavedGraphName=t.name,e.lastSavedGraphId=t.id,e.shared=t.shared,e.configLoaded=e.findConfigById(t.config)):(e.lastSavedGraphName=null,e.lastSavedGraphId=null,e.shared=t.shared),e.configLoaded||(e.configLoaded=e.defaultGraphConfig),f.url("?saved="+t.id),Y.restoreState(JSON.parse(t.data)),n||e.pushHistory({saved:t.id},{savedGraph:t})},e.copyToClipboardSavedGraph=function(e){z([location.protocol,"//",location.host,location.pathname,"?saved=",e.id].join(""))},e.deleteSavedGraph=function(t){m.openSimpleModal({title:L.instant("common.confirm"),message:L.instant("graphexplore.confirm.delete.graph",{graphName:t.name}),warning:!0}).result.then((function(){!function(t){I.deleteSavedGraph(t).success((function(){e.refreshSavedGraphs(),s.success(L.instant("graphexplore.saved.graph.was.deleted",{name:t.name}))})).error((function(e){const t=getError(e);s.error(t,L.instant("graphexplore.error.cannot.delete"))}))}(t)}))},e.openIRI=function(t,n){return n.shiftKey?e.$broadcast("onRootNodeChange",t):window.open(t,"_blank"),!1},e.togglePinAllNodes=function(){xe();const t=e.numberOfPinnedNodes<=0;e.numberOfPinnedNodes=0,d3.selectAll(".node").each((function(n){n.fixed=t,t&&e.numberOfPinnedNodes++})),se.resume()},$("body").on("keydown",(function(t){"input"!==t.target.nodeName&&e.nodeSelected&&(37===t.keyCode?e.rotate(!0):39===t.keyCode&&e.rotate(!1))})),e.getLiteralFromPropValue=function(e){return e.substring(e.indexOf(":")+1)}}function c(e,t,n,i){switch(e.mode=n.mode,e.graph=angular.copy(n.graph),e.graphExists=n.graphExists,e.mode){case"new":e.title=i.instant("graphexplore.create.new.graph"),e.okButtonText=i.instant("common.create.btn");break;case"update":e.title=i.instant("graphexplore.update"),e.okButtonText=i.instant("common.save.btn");break;case"rename":e.title=i.instant("graphexplore.rename"),e.okButtonText=i.instant("common.save.btn")}e.ok=function(){e.form.$valid&&t.close({graph:e.graph,mode:e.mode})},e.saveNew=function(){e.graph.name=e.graph.name+" (new)",t.close({graph:e.graph,mode:"new",restart:!0})},e.cancel=function(){t.dismiss("cancel")}}angular.module("graphdb.framework.graphexplore.controllers.graphviz",["ui.scroll.jqlite","ui.scroll","toastr","ui.bootstrap","ngTagsInput","graphdb.framework.utils.localstorageadapter"]).controller("GraphsVisualizationsCtrl",s).controller("SaveGraphModalCtrl",c).config(["$tooltipProvider",function(e){e.options({appendToBody:!0})}]),s.$inject=["$scope","$rootScope","$repositories","$licenseService","toastr","$timeout","$http","ClassInstanceDetailsService","AutocompleteRestService","$q","$location","$jwtAuth","UiScrollService","ModalService","$modal","$window","LocalStorageAdapter","LSKeys","SavedGraphsRestService","GraphConfigRestService","RDF4JRepositoriesRestService","$translate"],c.$inject=["$scope","$modalInstance","data","$translate"]}}]);
|
|
1
|
+
(window.webpackJsonp=window.webpackJsonp||[]).push([[25,84],{220:function(e,t,n){var i,r,o;r=[],void 0===(o="function"==typeof(i=function(){return function(){var e=function(){return"n"},t=function(){return[0,0]},n=function(){return" "},i=u(),r=null,o=null,a=null,s=null;function c(e){var t;r="svg"===(t=(t=e).node()).tagName.toLowerCase()?t:t.ownerSVGElement,o=r.createSVGPoint(),document.body.appendChild(i)}c.show=function(){var i=Array.prototype.slice.call(arguments);i[i.length-1]instanceof SVGElement&&(a=i.pop());var r,o=n.apply(this,i),u=t.apply(this,i),f=e.apply(this,i),g=p(),h=d.length,m=document.documentElement.scrollTop||document.body.scrollTop,y=document.documentElement.scrollLeft||document.body.scrollLeft,v=s.apply(this,i);for(g.html(o).style({opacity:1,"pointer-events":"all"});h--;)g.classed(d[h],!1);return r=l.get(f).apply(this),v?g.style(v):g.classed(f,!0).style({top:r.top+u[0]+m+"px",left:r.left+u[1]+y+"px"}),c},c.hide=function(){return p().style({opacity:0,"pointer-events":"none"}),c},c.attr=function(e,t){if(arguments.length<2&&"string"==typeof e)return p().attr(e);var n=Array.prototype.slice.call(arguments);return d3.selection.prototype.attr.apply(p(),n),c},c.style=function(e,t){if(arguments.length<2&&"string"==typeof e)return p().style(e);var n=Array.prototype.slice.call(arguments);return d3.selection.prototype.style.apply(p(),n),c},c.direction=function(t){return arguments.length?(e=null==t?t:d3.functor(t),c):e},c.offset=function(e){return arguments.length?(t=null==e?e:d3.functor(e),c):t},c.html=function(e){return arguments.length?(n=null==e?e:d3.functor(e),c):n},c.customPosition=function(e){return arguments.length?(s=null==e?e:d3.functor(e),c):s},c.destroy=function(){return i&&(p().remove(),i=null),c};var l=d3.map({n:function(){var e=f();return{top:e.n.y-i.offsetHeight,left:e.n.x-i.offsetWidth/2}},s:function(){var e=f();return{top:e.s.y,left:e.s.x-i.offsetWidth/2}},e:function(){var e=f();return{top:e.e.y-i.offsetHeight/2,left:e.e.x}},w:function(){var e=f();return{top:e.w.y-i.offsetHeight/2,left:e.w.x-i.offsetWidth}},nw:function(){var e=f();return{top:e.nw.y-i.offsetHeight,left:e.nw.x-i.offsetWidth}},ne:function(){var e=f();return{top:e.ne.y-i.offsetHeight,left:e.ne.x}},sw:function(){var e=f();return{top:e.sw.y,left:e.sw.x-i.offsetWidth}},se:function(){var e=f();return{top:e.se.y,left:e.e.x}}}),d=l.keys();function u(){var e=d3.select(document.createElement("div"));return e.style({position:"absolute",top:0,opacity:0,"pointer-events":"none","box-sizing":"border-box"}),e.node()}function p(){return null===i&&(i=u(),document.body.appendChild(i)),d3.select(i)}function f(){for(var e=a||d3.event.target;void 0===e.getScreenCTM&&"undefined"===e.parentNode;)e=e.parentNode;var t={},n=e.getScreenCTM(),i=e.getBBox(),r=i.width,s=i.height,c=i.x,l=i.y;return o.x=c,o.y=l,t.nw=o.matrixTransform(n),o.x+=r,t.ne=o.matrixTransform(n),o.y+=s,t.se=o.matrixTransform(n),o.x-=r,t.sw=o.matrixTransform(n),o.y-=s/2,t.w=o.matrixTransform(n),o.x+=r,t.e=o.matrixTransform(n),o.x-=r/2,o.y-=s/2,t.n=o.matrixTransform(n),o.y+=s,t.s=o.matrixTransform(n),t}return c}})?i.apply(t,r):i)||(e.exports=o)},221:function(e,t,n){"use strict";var i=i||{};i.Text=function(){function e(e,t,n,i){n=n||10;var r=t/3;return"string"==typeof e?(r*=10/(e.substring(0,t/3).length+1.5),r+=1,e.match(/[\u0900-\u0DFF\u1100-\u11FF\u2E80-\u2EFF\u3000-\u9FFF]/)&&(r*=.6),r<n&&(r=n),Math.round(r)):(r<n&&(r=n),Math.round(r))}return{calcFontSizeRaw:e,calcFontSize:function(t,n,i,r){return e(t,n,i)+"px"},getTextWithElipsisIfNeeded:function(e,t){return"string"==typeof e&&e.length>t?e.substring(0,t-3)+"...":e}}}(),i.Transition={fadeIn:function(e,t){e.style("opacity",0).transition().duration(t).style("opacity",1)},fadeOut:function(e,t){e.style("opacity",1).transition().duration(t).style("opacity",0)}},i.Click={delayDblClick:function(){var e=d3.dispatch("click","dblclick");return d3.rebind((function(t){var n,i=null;t.on("mousedown",(function(){n=d3.mouse(document.body),new Date})),t.on("mouseup",(function(t){var r,o;r=n,o=d3.mouse(document.body),Math.sqrt(Math.pow(r[0]-o[0],2),Math.pow(r[1]-o[1],2))>5||(i?(window.clearTimeout(i),i=null,e.dblclick(t)):i=window.setTimeout((d3.event,function(){e.click(t),i=null}),250))}))}),e,"on")}},t.a=i},42:function(e,t,n){"use strict";n.r(t),n.d(t,"STATIC_RULESETS",(function(){return i})),n.d(t,"REPOSITORY_TYPES",(function(){return r})),n.d(t,"FILENAME_PATTERN",(function(){return o})),n.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"}],r={graphdbRepo:"graphdb",free:"free",eeWorker:"worker",eeMaster:"master",ontop:"ontop",se:"se",fedx:"fedx"},o=new RegExp("^[a-zA-Z0-9-_]+$"),a=new RegExp("^[0-9]+$")},64:function(e,t,n){"use strict";n.r(t);n(3);var i=n(221),r=n(220),o=n.n(r),a=(n(4),n(42));function s(e,t,n,r,s,c,l,d,u,p,f,g,h,m,y,v,x,S,I,w,k,L){e.languageChanged=!1,e.propertiesObj={},e.propertiesQueryObj={},e.propertiesObj.items=[],e.propertiesNotFiltered=[],e.searchVisible=!1,e.nodeSelected=!1,e.queryResultsMode=!1,e.embedded=f.search().embedded,e.openedNodeInfoPanel=void 0,e.invalidLimit=!1,e.INVALID_LINKS_MSG=L.instant("sidepanel.invalid.limit.links.msg"),e.INVALID_LINKS_TOOLTIP=L.instant("sidepanel.invalid.limit.links.tooltip"),t.$on("$translateChangeSuccess",(function(){e.INVALID_LINKS_MSG=L.instant("sidepanel.invalid.limit.links.msg"),e.INVALID_LINKS_TOOLTIP=L.instant("sidepanel.invalid.limit.links.tooltip"),e.propertiesSearchPlaceholder=L.instant("visual.search.instance.placeholder")})),e.onopen=e.onclose=()=>angular.noop(),e.embedded&&(f.search().query||f.search().uri||f.search().config||f.search().saved)&&(e.noGoHome=!0);const C={};let T=0,b=0,N={},P=0;const A=16,M=d3.behavior.zoom().scaleExtent([.5,10]);let E;const G=1e3,R=1e3;let O,j;function z(e){m.openCopyToClipboardModal(e)}function D(t){const n=t.appSettings;e.defaultSettings.includeInferred=n.DEFAULT_INFERENCE,e.defaultSettings.sameAsState=n.DEFAULT_INFERENCE&&n.DEFAULT_SAMEAS,e.defaultSettings.includeSchema=n.DEFAULT_VIS_GRAPH_SCHEMA;const i=x.get(S.GRAPHS_VIZ);if(i&&"object"==typeof i)try{e.saveSettings=i,void 0===e.saveSettings.includeSchema&&(e.saveSettings.includeSchema=e.defaultSettings.includeSchema,e.saveSettings.rejectedPredicates=[...e.saveSettings.rejectedPredicates,...e.defaultSettings.rejectedPredicates].unique())}catch(t){e.saveSettings=angular.copy(e.defaultSettings),x.set(S.GRAPHS_VIZ,e.saveSettings)}else e.saveSettings=angular.copy(e.defaultSettings)}t.key="",C.get=function(t,n,i){return h.initLazyList(t,n,i,T,e.propertiesObj.items)},t.$watch((function(){return t.key}),(function(){T=0,_.each(e.propertiesObj.items,(function(e){t.key>e&&T++})),b++})),C.revision=function(){return b},e.datasource=C,e.adapterContainer={adapter:{remain:!0}},e.propertiesQueryObj.query="",e.propertiesSearchPlaceholder=L.instant("visual.search.instance.placeholder"),e.propertiesFilterFunc=function(t){return t.key.toLowerCase().indexOf(e.propertiesQueryObj.query.toLowerCase())>=0},e.resetState=function(){e.searchVisible=!1,e.nodeSelected=!1,e.configLoaded=null,e.queryResultsMode=!1,e.lastSavedGraphName=null,e.lastSavedGraphId=null,e.shared=!1,e.numberOfPinnedNodes=0,N={},P=0},e.pushHistory=function(t,n){e.embedded&&(t.embedded=!0),f.search(t),f.state(n)},e.goToHome=function(){e.resetState(),f.url("graphs-visualizations")},e.shouldShowSettings=function(){return e.configLoaded&&e.configLoaded.id===e.defaultGraphConfig.id},e.shouldDisableSameAs=function(){const t=$("#sameAsCheck");return e.settings&&!e.settings.includeInferred&&t.prop("checked")&&(t.prop("checked",!1),e.settings.sameAsState=!1),e.settings&&!e.settings.includeInferred},e.$watch("propertiesObj.items",(function(){angular.isDefined(e.propertiesObj.items)&&e.propertiesObj.items.length>0&&c((function(){e.adapterContainer.adapter.reload()}),500)})),e.toggleMoreInfo=function(e){angular.element(e.currentTarget).parent().next().toggle(200),angular.element(e.currentTarget).children("span").toggleClass("icon-caret-down").toggleClass("icon-caret-up")},e.copyToClipboard=z,e.defaultSettings={linksLimit:20,includeInferred:!0,sameAsState:!0,languages:["en"],showLinksText:!0,preferredTypes:[],rejectedTypes:[],preferredPredicates:[],rejectedPredicates:["http://dbpedia.org/property/logo","http://dbpedia.org/property/hasPhotoCollection","http://dbpedia.org/property/website","http://dbpedia.org/property/homepage","http://dbpedia.org/ontology/thumbnail","http://xmlns.com/foaf/0.1/depiction","http://xmlns.com/foaf/0.1/homepage","http://xmlns.com/foaf/0.1/mbox","http://dbpedia.org/ontology/wikiPage*","http://dbpedia.org/property/wikiPage*","http://factforge.net/*"],preferredTypesOnly:!1,preferredPredicatesOnly:!1,includeSchema:!0},e.saveSettings=angular.copy(e.defaultSettings);const F=g.getPrincipal();function B(){e.settings.languagesMap=_.map(e.settings.languages,(function(e){return{text:e}})),e.settings.preferredTypesMap=_.map(e.settings.preferredTypes,(function(e){return{text:e}})),e.settings.rejectedTypesMap=_.map(e.settings.rejectedTypes,(function(e){return{text:e}})),e.settings.preferredPredicatesMap=_.map(e.settings.preferredPredicates,(function(e){return{text:e}})),e.settings.rejectedPredicatesMap=_.map(e.settings.rejectedPredicates,(function(e){return{text:e}}))}F?D(F):e.$on("securityInit",(function(){D(g.getPrincipal())})),e.resetSettings=function(){e.settings=angular.copy(e.defaultSettings),e.validateLinksLimit(),B()},e.changeLimit=function(t){let n=e.settings.linksLimit+t;n<1&&(n=1),n>1e3&&(n=1e3),e.settings.linksLimit=n},e.validateLinksLimit=function(){e.invalidLimit=!a.NUMBER_PATTERN.test(e.settings.linksLimit)},e.showSettings=function(){e.showInfoPanel=!0,e.showFilter=!0,e.showNodeInfo=!1,e.showPredicates=!1,e.saveSettings?e.settings=angular.copy(e.saveSettings):e.settings=angular.copy(e.defaultSettings),B()},e.reExpandNode=function(){e.rootNodeIri&&e.$broadcast("onRootNodeChange",e.rootNodeIri)};const W=function(t,n,i){const r=void 0===n?e.saveSettings.sameAsState:!0===n,o=void 0===i?e.saveSettings.includeInferred:!0===i;e.loading=!0,l({url:"rest/explore-graph/graph",method:"POST",headers:{"Content-Type":"application/json"},data:{query:t,linksLimit:e.saveSettings.linksLimit,languages:e.shouldShowSettings()?e.saveSettings.languages:[],includeInferred:o,sameAsState:r}}).then((function(e){me(e)}),(function(t){e.loading=!1,s.error(getError(t.data),L.instant("graphexplore.error.cannot.load.graph"))}))};function U(e){return e.replace(/[()']/g,"")}function q(e,t){let n=e.split(" ");return t?[n[0],n[1],n[2]].join(">"):[n[0],n[2]].join(">")}function H(e){return[e.source.iri,e.target.iri].join(">")}function V(e){if(e.isTriple){let t=document.getElementById(U(q(e.iri)));if(t&&void 0!==t.__data__.x)return t.__data__.x}return e.x}function K(e){if(e.isTriple){let t=document.getElementById(U(q(e.iri)));if(t&&void 0!==t.__data__.y)return t.__data__.y}return e.y}function Z(e){let t=e.trim().split(" ");return`<<<${t[0]}> <${t[1]}> <${t[2]}>>>`}function Q(e){return U(`${e.source.isTriple?q(e.source.iri,!0):e.source.iri}>${e.target.isTriple?q(e.target.iri,!0):e.target.iri}>marker`)}function J(){this.nodes=[],this.links=[],this.tripleNodes=new Map,this.tripleLinksCopy=new Map,this.addNode=function(e,t,n){return e.x=t,e.y=n,this.nodes.push(e),e},this.computeConnectedness=function(){const e={},t={};_.each(this.links,(function(n){const i=n.source.iri,r=n.target.iri,o=_.min([i,r])+"|"+_.max([i,r]);t[o]||(t[o]=1,e[i]=(e[i]||0)+1,e[r]=(e[r]||0)+1)})),_.each(this.links,(function(t){e[t.source.iri]>1&&e[t.target.iri]>1?t.connectedness=Math.min(5,Math.max(e[t.source.iri],e[t.target.iri])-1):t.connectedness=0}))},this.addAndMatchLinks=function(e){const t=this.nodes;Array.prototype.push.apply(this.links,function(e,t){return _.map(e,(function(e){let n,i;n=e.isTripleSource?Le(e.source):_.find(t,(function(t){return t.iri===e.source})),i=e.isTripleTarget?Le(e.target):_.find(t,(function(t){return t.iri===e.target}));let r={source:n,target:i,predicates:e.predicates};if(e.isTripleSource||e.isTripleTarget){let e=`${r.source.isTriple?q(r.source.iri):r.source.iri}>${r.target.isTriple?q(r.target.iri):r.target.iri}`;if(Y.tripleLinksCopy.has(e)){let t=Y.tripleLinksCopy.get(e);return t[0].predicates.push(...r.predicates),t.push(r),Y.tripleLinksCopy.set(e,t),null}Y.tripleLinksCopy.set(e,[r])}return r}))}(e,t));for(let e of Y.tripleLinksCopy.keys())1===Y.tripleLinksCopy.get(e).length&&Y.tripleLinksCopy.delete(e);this.links=this.links.filter(e=>null!==e),this.computeConnectedness()};const t=function(e,t){return n(e,t).length};function n(e,t){return _.filter(t,(function(t){return t.source.iri===e.iri||t.target.iri===e.iri}))}this.countLinks=t,this.linksTypes=function(e,t){const i=n(e,t),r=_.map(i,(function(t){return t.source.iri===e.iri?t.target.types:t.source.types}));return _.uniq(_.flatten(r))},this.linksPredicates=function(e,t){const i=n(e,t),r=_.map(i,(function(e){return e.predicates}));return _.uniq(_.flatten(r))},this.removeTriples=function(e){let t=[];this.tripleNodes.size>0&&e.forEach(e=>{this.tripleNodes.has(e)&&(this.tripleNodes.delete(e),this.links=_.reject(this.links,(function(n){let i=e.split(">"),r=q(n.source.iri),o=q(n.target.iri);if(r===e&&Y.tripleNodes.delete(o)){let e=o.split(">");t.push({source:e[0],target:e[1]})}let a=r===e||o===e||n.source.iri===i[0]&&n.target.iri===i[1];return a&&(Y.tripleLinksCopy.delete(`${r}>${o}`),Y.tripleLinksCopy.delete(`${o}>${r}`)),a})))}),t.forEach(e=>{this.links=_.reject(this.links,(function(t){return t.source.iri===e.source&&t.target.iri===e.target}))})},this.removeNode=function(n){let i=[];this.links=_.reject(this.links,(function(e){let t=e.source.iri===n.iri||e.target.iri===n.iri;return t&&(e.target.isTriple&&i.push(q(e.target.iri)),e.source.isTriple||e.target.isTriple||i.push([e.source.iri,e.target.iri].join(">"))),t})),this.removeTriples(i);const r=this.links;this.nodes=_.reject(this.nodes,(function(e){return 0===t(e,r)})),0===this.nodes.length&&(e.nodeSelected=!1),this.computeConnectedness()},this.removeNodeLeafLinks=function(e){let i=[],r=this.links;this.links=_.reject(this.links,(function(o){let a=o.source.iri===e.iri&&1===t(o.target,r)&&!o.target.isTriple||o.target.iri===e.iri&&1===t(o.source,r)&&!o.source.isTriple;if(!a){let i;if(o.source.iri!==e.iri||2!==t(o.target,r)||o.target.isTriple?o.target.iri!==e.iri||2!==t(o.source,r)||o.source.isTriple||(i=n(o.source,r)):i=n(o.target,r),!i)return!1;a=(i[0].source.iri===e.iri||i[0].target.iri)&&(i[1].source.iri===e.iri||i[1].target.iri)}return a&&(o.target.isTriple&&i.push(q(o.target.iri)),o.source.isTriple||o.target.isTriple||i.push([o.source.iri,o.target.iri].join(">"))),a})),this.removeTriples(i),r=this.links,this.nodes=_.reject(this.nodes,(function(n){return 0===t(n,r)&&n.iri!==e.iri})),this.computeConnectedness()},this.addTriple=function(e,t,n){e.x=t,e.y=n,e.weight=0;let i=q(e.iri);if(this.tripleNodes.has(i)){let t=this.tripleNodes.get(i);t.push(e),this.tripleNodes.set(i,t)}else e.weight=10,this.tripleNodes.set(i,[e])},this.copyState=function(){const e=_.map(this.nodes,(function(e){return{iri:e.iri,isTriple:e.isTriple,size:e.size,labels:angular.copy(e.labels),types:angular.copy(e.types),rdfRank:e.rdfRank,x:e.x,y:e.y,fixed:e.fixed}})),t=JSON.stringify(Array.from(this.tripleNodes.entries())),n=JSON.stringify(Array.from(this.tripleLinksCopy.entries()));return{nodes:e,links:_.map(this.links,(function(e){return{source:e.source.iri,isTripleSource:e.source.isTriple,target:e.target.iri,isTripleTarget:e.target.isTriple,predicates:e.predicates}})),tripleNodes:t,tripleLinksCopy:n,colorIndex:P,type2color:N,scale:M.scale(),translate:M.translate()}},this.restoreState=function(t){e.nodeSelected=!0,e.searchVisible=!1,this.nodes=angular.copy(t.nodes),this.tripleNodes=t.tripleNodes?new Map(JSON.parse(t.tripleNodes)):new Map,this.links=[],this.addAndMatchLinks(t.links),this.tripleLinksCopy=t.tripleLinksCopy?new Map(JSON.parse(t.tripleLinksCopy)):new Map,_.each(this.nodes,(function(t){t.fixed&&e.numberOfPinnedNodes++})),angular.isDefined(t.colorIndex)&&angular.isDefined(t.type2color)&&(P=t.colorIndex,N=angular.copy(t.type2color)),angular.isDefined(t.translate)&&angular.isDefined(t.scale)&&(E="translate("+t.translate[0]+", "+t.translate[1]+") scale("+t.scale+")",M.translate(t.translate),M.scale(t.scale)),pe()}}e.updateSettings=function(){e.invalidLimit?s.error(e.INVALID_LINKS_TOOLTIP,e.INVALID_LINKS_MSG):(e.saveSettings=e.settings,e.saveSettings.languages=_.map(e.saveSettings.languagesMap,(function(e){return e.text})),e.saveSettings.preferredTypes=_.map(e.saveSettings.preferredTypesMap,(function(e){return e.text})),e.saveSettings.rejectedTypes=_.map(e.saveSettings.rejectedTypesMap,(function(e){return e.text})),e.saveSettings.preferredPredicates=_.map(e.saveSettings.preferredPredicatesMap,(function(e){return e.text})),e.saveSettings.rejectedPredicates=_.map(e.saveSettings.rejectedPredicatesMap,(function(e){return e.text})),e.rootNodeIri?e.reExpandNode(e.rootNodeIri):e.queryResultsMode&&f.search().query?W(f.search().query,f.search().sameAs,f.search().inference):"query"===e.configLoaded.startMode&&e.loadGraphConfig(e.configLoaded),e.saveSettings.showLinksText?d3.selectAll("svg .link-wrapper text").style("display","block"):d3.selectAll("svg .link-wrapper text").style("display","none"),e.showInfoPanel=!1,e.showFilter=!1,x.set(S.GRAPHS_VIZ,e.saveSettings))},e.showInfoPanel=!1;let Y=new J;e.defaultGraphConfig={id:"default",name:"Easy graph",startMode:"search"},e.getGraphConfigs=function(t){w.getGraphConfigs().success((function(n){e.graphConfigs=n,t&&t()})).error((function(e){s.error(getError(e),L.instant("graphexplore.error.graph.configs.short.msg"))}))},e.loadConfigForId=function(t,n){t===e.defaultGraphConfig.id?e.loadGraphConfig(e.defaultGraphConfig):w.getConfig(t).success((function(t){e.loadGraphConfig(t),n()})).error((function(e){s.error(getError(e),L.instant("graphexplore.error.could.not.load.config",{configId:t}))}))},e.findConfigById=function(t){return t===e.defaultGraphConfig.id?e.defaultGraphConfig:$.grep(e.graphConfigs,(function(e){return e.id===t}))[0]},e.easyGraphSearch=function(t){e.configLoaded=e.defaultGraphConfig,e.openUri(t)},e.loadGraphConfig=function(t){e.configLoaded=t,"search"===t.startMode?e.searchVisible=!0:"node"===t.startMode&&t.startIRI?c((function(){e.openUri(t.startIRI,!0)}),0):"query"===t.startMode&&t.startGraphQuery&&(e.loading=!0,w.loadGraphForConfig(t,t.startQueryIncludeInferred,e.saveSettings.linksLimit,t.startQuerySameAs).then((function(e){me(e)}),(function(t){e.loading=!1,s.error(getError(t),L.instant("graphexplore.error.graph.load"))})))},e.deleteConfig=function(t){m.openSimpleModal({title:L.instant("common.confirm"),message:L.instant("graphexplore.delete.graph",{configName:t.name}),warning:!0}).result.then((function(){w.deleteGraphConfig(t).success((function(){e.getGraphConfigs(),e.refreshSavedGraphs()})).error((function(e){s.error(getError(e),L.instant("graphexplore.error.cannot.delete.config"))}))}))},e.goToGraphConfig=function(t){e.pushHistory({config:t.id},{config:t}),e.resetState(),e.loadGraphConfig(t)},v.onpopstate=function(t){e.resetState(),t.state&&(t.state.config?(e.loadGraphConfig(t.state.config),t.state.uri&&e.openUri(t.state.uri,!0)):t.state.savedGraph&&e.loadSavedGraph(t.state.savedGraph,!0))};const X=function(){f.search().query?(e.searchVisible=!1,e.queryResultsMode=!0,W(f.search().query,f.search().sameAs,f.search().inference)):e.$on("onRootNodeChange",(function(t,n){e.loading=!0,angular.isDefined(n)&&(e.rootNodeIri=n,l({url:"rest/explore-graph/node",method:"GET",params:{iri:n,config:e.configLoaded?e.configLoaded.id:e.defaultGraphConfig.id,languages:e.shouldShowSettings()?e.saveSettings.languages:[],includeInferred:e.saveSettings.includeInferred,sameAsState:e.saveSettings.sameAsState}}).then((function(t){e.nodeSelected=!0,e.searchVisible=!1,null===t.data.types&&(t.data.types="greyColor"),Y=new J;const n=Y.addNode(t.data,G/2,R/2);E="translate(0, -70) scale(1)",M.translate([0,-70]),M.scale(1),ve(n,!0)})).catch((function(t){e.loading=!1,s.error(getError(t),L.instant("graphexplore.error.could.not.load.graph"))})))})),f.search().uri&&e.openUri(f.search().uri),f.search().saved&&I.getSavedGraph(f.search().saved).success((function(t){e.loadSavedGraph(t)})).error((function(e){const t=getError(e);s.error(t,L.instant("graphexplore.error.could.not.open"))}))},ee=function(){f.search().config?e.loadConfigForId(f.search().config,X):f.search().query||f.search().uri?(e.loadGraphConfig(e.defaultGraphConfig),X()):X()};function te(t){!n.getActiveRepository()||e.hasInitedRepository&&!t||(e.hasInitedRepository=!0,t||e.getGraphConfigs(ee),e.getNamespacesPromise=k.getNamespaces(e.getActiveRepository()).success((function(t){const n=_.map(t.results.bindings,(function(e){return{uri:e.namespace.value,prefix:e.prefix.value}}));e.namespaces=_.sortBy(n,(function(e){return e.uri.length})),ne()})).error((function(e){s.error(getError(e),L.instant("graphexplore.error.view.will.not.work"))})))}function ne(){r.isLicenseValid()&&(e.getAutocompletePromise=u.checkAutocompleteStatus())}e.replaceIRIWithPrefix=function(t){const n=e.namespaces,i=_.findLast(n,(function(e){return 0===t.indexOf(e.uri)}));return i?i.prefix+":"+t.substring(i.uri.length):t},e.addedTag=function(t){return t.text.indexOf(":")<0?(s.warning(L.instant("graphexplore.absolute.prefixed.iri")),null):(t.text=function(e,t){if(!/^<?(http|urn).*>?/.test(e)){const n=e.split(":"),i=n[0],r=n[1];if(!angular.isUndefined(r)){const e=d.getNamespaceUriForPrefix(t,i);if(e)return e+r}}return e}(t.text,e.namespaces),e.pageslideExpanded=!0,t)},e.validateTag=function(e,t,n){if(e.text.indexOf(":")<0)return n?s.warning(L.instant("graphexplore.absolute.prefixed.iri.option"),t):s.warning(L.instant("graphexplore.absolute.prefixed.iri"),t),!1;const i=e.text.indexOf("*");if(i>=0){if(!n)return s.warning(L.instant("graphexplore.wildcards.not.allowed"),t),!1;if(i<e.text.length-1)return s.warning(L.instant("graphexplore.wildcards.last.char"),t),!1}return!0},e.getTagClass=function(e){return e.endsWith("*")?"tag-item-wildcard":null},e.getActiveRepository=function(){return n.getActiveRepository()},e.isLicenseValid=function(){return r.isLicenseValid()},e.hasInitedRepository=!1,e.$on("autocompleteStatus",(function(){ne()})),e.$on("repositoryIsSet",(function(t,n){n.newRepo&&(e.hasInitedRepository=!1),te(n.newRepo),n.newRepo&&(e.resetState(),$(".graph-visualization svg").empty(),f.search().query&&(e.goToHome(),X()))})),te();const ie=500,re=1.75,oe=d3.scale.linear().domain([0,9]).range(["hsl(0, 100%, 75%)","hsl(360, 90%, 82%)"]).interpolate(d3.interpolateHslLong),ae=d3.scale.linear().domain([0,9]).range(["hsl(180, 50%, 75%)","hsl(540, 40%, 82%)"]).interpolate(d3.interpolateHslLong);e.getColor=function(e){angular.isUndefined(N[e])&&(N[e]=P,P++);const t=N[e];return t>39?"#c2c2c2":t%2==0?oe(t/2):ae(t/2)};const se=d3.layout.force().gravity(.07).size([G,R]),ce=d3.select(".main-container .graph-visualization").append("svg").attr("viewBox","0 0 "+G+" "+R).attr("preserveAspectRatio","xMidYMid meet");let le=0,de=0;const ue=new function(){this.state=!1,this.setLoadingState=function(e){this.state=e},this.getLoadingState=function(){return this.state},this.init=function(e,t){d3.select(t).append("circle").attr("cx",(function(){return e.x})).attr("cy",(function(){return e.y})).attr("class","loader-container").attr("r",(function(){return e.size})).style("fill","fff").style("opacity","0.7"),d3.select(t).append("image").attr("xlink:href","js/angular/templates/loader/ot-loader.svg?v=2.0.0-M3-RC3").attr("x",(function(){return e.x-e.size+5})).attr("y",(function(){return e.y-e.size})).attr("width",(function(){return 2*e.size})).attr("height",(function(){return 2*e.size})).attr("class","node-loader")}};function pe(t){d3.selectAll("svg g").remove(),d3.selectAll("svg rect").remove(),d3.selectAll(".d3-tip").remove(),d3.selectAll(".menu-events").remove(),M.on("zoom",(function(){E="translate("+d3.event.translate+") scale("+d3.event.scale+")",n.attr("transform",E)})),ce.append("rect").attr("width",10*G).attr("height",10*R).attr("x",-(10*G-G)/2).attr("y",-(10*R-R)/2).style("fill","none").style("pointer-events","all").call(M).on("click",(function(){d3.event.stopPropagation(),xe(),se.stop()}));const n=ce.append("g").attr("class","nodes-container").attr("transform",(function(){return angular.isDefined(E)&&!t?E:""})),r=o()().attr("class","d3-tip").customPosition((function(){const e=O.getBoundingClientRect();return{top:e.bottom+10+"px",left:e.left-30+"px"}})).html((function(t){let n="";return t.fixed&&(n+='<i class="icon-pin"></i> '),t.types.length>0?n+=_.join(_.map(t.types,(function(t){return e.replaceIRIWithPrefix(t)}))," · "):n+="<i>No types</i>",n})),a=function(e){let t="";return t+=_.join(_.map(e.predicates,(function(t,n){if(0===n)return Te(t);if(n<10)return" · "+Te(t);if(10===n){const t=function(e){return e.predicates.length-10}(e),n=t>1?t+" predicates":t+" predicate";return" · "+L.instant("graphexplore.tip.text",{textToShow:n})}})),""),t};let l;const d=o()().attr("class","d3-tip").customPosition((function(e){const t=l.getBoundingClientRect(),n=function(e){const t=a(e),n=document.createElement("canvas").getContext("2d");return n.font="13px Arial",e.predicates.length<10?n.measureText(t).width:n.measureText(t).width/2}(e);return{top:t.top-30+"px",left:t.left-30+"px",width:n+"px"}})).html((function(e){return a(e)}));const u=function(){c.cancel(void 0),c.cancel(le),O=null,r.hide(),de=c((function(){xe()}),500)};ce.call(r);ce.call(d);let p=ce.selectAll(".link"),f=ce.selectAll(".node");se.nodes(Y.nodes).charge(-3e3),se.links(Y.links).linkDistance((function(e){return e.source.isTriple||e.target.isTriple?0:function(e){const t=$("<span></span>"),n=e.predicates[0].split("/"),i=n[n.length-1];t.addClass("predicate-text").text(i),$("body").append(t);const r=t.width()+2*e.source.size+2*e.target.size+50;return t.remove(),.75*r}(e)+30*e.connectedness})),n.append("defs").selectAll("marker").data(se.links()).enter().append("marker").attr("class","arrow-marker").attr("id",(function(e){return Q(e)})).attr("viewBox","0 -5 10 10").attr("refX",(function(e){return e.target.isTriple?11:e.target.size+11})).attr("refY",0).attr("markerWidth",10).attr("markerHeight",10).attr("orient","auto").append("path").attr("d","M0,-5L10,0L0,5 L10,0 L0, -5"),p=n.selectAll(".link").data(Y.links).enter().append("g").attr("class","link-wrapper").attr("id",(function(e){return U(H(e))})).append("line").attr("class","link").style("stroke-width",1).style("fill","transparent").style("marker-end",(function(e){return`url(#${Q(e)})`}));const g=n.selectAll(".link-wrapper").append("text").text((function(e){return Ce(e)})).attr("class",(function(e){return e.predicates.length>1||Y.tripleNodes.has(H(e))?"predicates":"predicate"})).attr("dy","-0.5em").style("text-anchor","middle").style("display",e.saveSettings.showLinksText?"":"none").on("mouseover",(function(e){d3.event.stopPropagation(),function(e){c.cancel(void 0);const t=l=d3.event.target;c((function(){l===t&&e.predicates.length>1&&d.show(e,l)}),300)}(e)})).on("mouseout",(function(){c.cancel(void 0),l=null,d.hide()})).on("click",(function(t){d3.event.stopPropagation(),function(t){ke();let n=H(t);if(1===t.predicates.length&&Y.tripleNodes.has(n)){j=null;let e=Y.tripleNodes.get(n)[0];if(ge(e,this,d3.event.button)){let t={};t.iri=e.iri,t.pred=Te(e.iri.split(" ")[1]),Ie(t)}return}!function(t){if(e.showNodeInfo=!1,e.showPredicates=t.predicates.length>1,e.showFilter=!1,e.showInfoPanel=!1,j===t)return e.showNodeInfo=!1,e.showInfoPanel=!1,void(j=null);j=t,e.showPredicates&&(e.predicates=_.map(t.predicates,(function(e){let n=function(e,t){let n=H(t);return Y.tripleNodes.has(n)?Y.tripleNodes.get(n).findIndex(t=>t.iri.indexOf(e)>=0):-1}(e,t),i=n>-1;return{value:Te(e),partOfTriple:i,linkId:i?H(t):"",nodeIndex:n}})),e.showInfoPanel=!0)}(t)}(t)}));let h,m=0,y=0,v=0;const x=function(){d3.event.button&&0!==d3.event.button||(u(),c.cancel(h),e.showPredicates=!1,d3.event.timeStamp-m<ie?y++:y=1,m=d3.event.timeStamp,d3.event.preventDefault())},S=function(t){if(d3.event.button&&0!==d3.event.button)return;c.cancel(h);const n=d3.event,i=this;if(d3.event.timeStamp-m<ie)if(1===y)h=c((function(){ge(t,i,n)}),40+ie-(d3.event.timeStamp-m));else if(2===y){Y.countLinks(t,Y.links)<=e.saveSettings.linksLimit?ve(t,!1,i.parentNode):s.info(L.instant("graphexplore.increase.limit"),L.instant("graphexplore.node.at.max")),e.closeInfoPanel()}d3.event.preventDefault()};function I(e,t){let i,r,o,a,s=!0;if("down"===t)i=2*e.size,r=e.size/3,o=.8,a=.3;else if("down-fixed"===t)i=2*e.size,r=e.size,o=.8,a=.66;else if("up"===t)i=e.size/3,r=2*e.size,o=.3,a=.8;else{if("fixed"!==t)return;i=e.size,o=.66,s=!1}let c=n.selectAll(".node-wrapper").filter((function(t){return t===e})).append("text").text("").classed("icon-any pinned",!0).style("font-size",i+"px").attr("x",(function(e){return e.x})).attr("y",(function(e){return e.y})).attr("opacity",o);"fixed"!==t&&"down-fixed"!==t||(e.pin=c),s&&(c=c.transition().duration(1e3).style("font-size",(function(){return r+"px"})).attr("opacity",a),"down-fixed"!==t&&c.remove())}const w=d3.behavior.drag().origin((function(e){return e})).on("dragstart",(function(e){0===d3.event.sourceEvent.button&&(e.fixedBeforeDrag=e.fixed,e.isBeingDragged=!0,e.beginDragging=!0,xe(),d3.event.sourceEvent.stopPropagation(),d3.select(this).classed("dragging",!0))})).on("drag",(function(t){t.isBeingDragged&&(y=0,t.px=d3.event.x,t.py=d3.event.y,t.fixed?t.beginDragging&&I(t,"fixed"):(e.numberOfPinnedNodes++,t.fixed=!0,I(t,"down-fixed")),t.pinWasFixed=!0,t.beginDragging=null,se.resume())})).on("dragend",(function(e){e.isBeingDragged&&(e.pinWasFixed&&(e.pinWasFixed=null,d3.select(".pinned").remove()),e.isBeingDragged=!1,d3.select(this).classed("dragging",!1))}));f=n.selectAll(".node").data(Y.nodes).enter().append("g").attr("class","node-wrapper").attr("id",(function(e){return e.iri})).append("circle").attr("class","node").attr("r",(function(e){return e.size})).style("fill",(function(t){return"greyColor"===t.types?"c2c2c2":e.getColor(t.types[0])})).call(w).on("mouseover",(function(t){if(!t.isBeingDragged){const n=d3.event;c.cancel(de),le=c(()=>{(function(t,n){if(e.showInfoPanel)return!1;(fe.closeIcon||fe.expandIcon||fe.focusIcon||fe.copyURIIcon)&&fe.removeIcons();if(se.alpha()<.05)return fe.initIcons(t,n.parentNode),se.stop(),!0;return!1})(t,this)&&function(e,t){c.cancel(void 0);const n=O=t.target;c((function(){O===n&&r.show(e,O)}),300)}(t,n)},400)}})).on("mouseout",u).on("mousedown",x).on("touchstart",(function(e){x(),v=0,h=c((function(){v<5&&he(e),h=null,y=0}),1e3)})).on("touchmove",(function(){v++})).on("mouseup",S).on("touchend",S).on("contextmenu",(function(t){d3.event.shiftKey||(d3.event.preventDefault(),xe(),e.closeInfoPanel(),t.fixed?(e.numberOfPinnedNodes--,t.fixed=!1,I(t,"up"),se.resume()):(e.numberOfPinnedNodes++,t.fixed=!0,I(t,"down")),function(e){O&&r.show(e,O)}(t))}));const k=n.selectAll(".node-wrapper").append("foreignObject").style("pointer-events","none").attr("width",(function(e){return 2*e.size*re}));n.insert("g").attr("class","menu-events"),function(e){e.each((function(e){e.fontSize=i.a.Text.calcFontSizeRaw(e.labels[0].label,e.size,A,!0)})).attr("height",(function(e){return 3*e.fontSize})).append("xhtml:div").attr("class","node-label-body").style("font-size",(function(e){return e.fontSize+"px"})).append("xhtml:div").text((function(e){return e.labels[0].label})),c((function(){$(".node-label-body div").each((function(e,t){let n=t.textContent.substring(0,t.textContent.length-1);let i=0;for(;i<200&&(t.scrollHeight>t.clientHeight||t.scrollWidth>t.clientWidth);)n=n.substring(0,n.length-1),t.textContent=n+"…",i++}))}),50)}(k),se.on("tick",(function(){d3.geom.quadtree(Y.nodes);Y.nodes.length;p.attr("x1",(function(e){return V(e.source)})).attr("y1",(function(e){return K(e.source)})).attr("x2",(function(e){return V(e.target)})).attr("y2",(function(e){return K(e.target)})),g.attr("x",(function(e){let t=V(e.source),n=V(e.target);return e.x=.5*(t+n)})).attr("y",(function(e){let t=K(e.source),n=K(e.target);return e.y=.5*(t+n)})).attr("transform",(function(e){return"rotate("+function(e,t){const n={x:V(e.source),y:K(e.source)},i={x:V(e.target),y:K(e.target)};if(t)return 180*Math.atan2(i.y-n.y,i.x-n.x)/Math.PI;{const e=180*Math.atan2(i.y-n.y,i.x-n.x)/Math.PI;return e<=90&&e>=-90?e:(e>0?-1:1)*(180-Math.abs(e))}}(e,e.direction)+", "+e.x+", "+e.y+")"})),f.attr("cx",(function(e){return e.x})).attr("cy",(function(e){return e.y})),n.select(".node-loader").attr("x",(function(e){return e.x-e.size+3})).attr("y",(function(e){return e.y-e.size})),n.select(".loader-container").attr("cx",(function(e){return e.x})).attr("cy",(function(e){return e.y})),k.attr("x",(function(e){return e.x-e.size*re})).attr("y",(function(e){return e.y-3*e.fontSize/2})),d3.select(".pinned").attr("x",(function(e){return e.x})).attr("y",(function(e){return e.y}))})),angular.isDefined(ue)&&ue.setLoadingState(!1),e.loading&&(e.loading=!1),d3.selectAll(".link-wrapper").each((function(){const e=$(this).attr("id").split(">")[0],t=$(this).attr("id").split(">")[1];d3.selectAll(".link").each((function(n){let i=U(n.source.iri),r=U(n.target.iri);if(i===t&&r===e){let e=i;e+=">",e+=r;const t=document.createTextNode(" ⟶");document.getElementById(e).lastChild.appendChild(t),n.direction="double"}}))})),d3.selectAll(".d3-actions-tip").remove(),se.start()}pe();const fe=new function(){function e(e,t){return"translate("+(t.x-14+(t.size+15)*Math.cos(e*Math.PI/180-Math.PI/2))+","+(t.y-14+(t.size+15)*Math.sin(e*Math.PI/180-Math.PI/2))+")"}this.closeIcon=void 0,this.expandIcon=void 0,this.collapseIcon=void 0,this.focusIcon=void 0,this.copyURIIcon=void 0,this.actionsTip=void 0,this.removeIcons=function(){this.closeIcon.remove("g"),this.expandIcon&&this.expandIcon.remove("g"),this.collapseIcon&&this.collapseIcon.remove("g"),this.focusIcon.remove("g"),this.copyURIIcon.remove("g"),this.closeIcon=void 0,this.expandIcon=void 0,this.collapseIcon=void 0,this.focusIcon=void 0,this.copyURIIcon=void 0,this.expandedState=!1},this.expandedState=!1,this.initIcons=function(n,i){const r=o()().attr("class","d3-tip d3-actions-tip").customPosition((function(){const e=d3.event.target.getBoundingClientRect();return{top:e.top-20+"px",left:e.right+10+"px"}})).html((function(e){return e}));ce.call(r);n.isExpanded?(this.collapseIcon=d3.select(".menu-events").append("g").attr("class","collapse-icon").attr("name","collapse").attr("transform",(function(){return e(20,n)})),this.collapseIcon.append("circle").attr("cx",14).attr("cy",14).attr("r",13).style("fill","#eee"),this.collapseIcon.append("path").attr("d","M22.67,12a.59.59,0,0,1-.53.65l-6.88.72H15.2a.59.59,0,0,1-.59-.65l.72-6.88A.58.58,0,0,1,16,5.33a.59.59,0,0,1,.53.65L16,11.11,21.3,5.79a.64.64,0,0,1,.91.91L16.89,12,22,11.49A.59.59,0,0,1,22.67,12ZM12.59,14.75l-6.75.85a.59.59,0,0,0-.51.66.58.58,0,0,0,.66.51l4.95-.62-5.2,5.2a.64.64,0,1,0,.91.91l5.2-5.2L11.23,22a.59.59,0,0,0,.51.66h.07a.59.59,0,0,0,.59-.52l.85-6.75a.59.59,0,0,0-.17-.49A.58.58,0,0,0,12.59,14.75Z").style("fill","var(--onto-orange)"),this.collapseIcon.on("click",(function(){var e;(e=n).isExpanded=!1,Y.removeNodeLeafLinks(e),pe()})).on("mouseover",(function(){r.show(this.getAttribute("name")),c.cancel(le),c.cancel(de)})).on("mouseout",(function(){r.hide(),de=c((function(){xe()}),500)}))):(this.expandIcon=d3.select(".menu-events").append("g").attr("class","expand-icon").attr("name","expand").attr("transform",(function(){return e(20,n)})),this.expandIcon.append("circle").attr("cx",14).attr("cy",14).attr("r",13).style("fill","#eee"),this.expandIcon.append("path").attr("d","M22.37,6.28l-.72,6.88a.59.59,0,0,1-.59.53H21a.59.59,0,0,1-.53-.65L21,7.9l-5.32,5.32a.64.64,0,0,1-.91-.91L20.1,7,15,7.53a.59.59,0,0,1-.12-1.18l6.88-.72a.59.59,0,0,1,.65.65ZM12.89,20.34,7.95,21l5.2-5.2a.64.64,0,0,0-.91-.91L7,20.05l.62-4.95A.59.59,0,0,0,6.48,15l-.85,6.75a.59.59,0,0,0,.59.67h.07L13,21.52a.59.59,0,1,0-.15-1.18Z").style("fill","var(--onto-orange)"),this.expandIcon.on("click",(function(){ve(n,!1,i)})).on("mouseover",(function(){r.show(this.getAttribute("name")),c.cancel(de),c.cancel(le)})).on("mouseout",(function(){r.hide(),de=c((function(){xe()}),500)}))),this.focusIcon=d3.select(".menu-events").append("g").attr("class","focus-icon").attr("name","focus").attr("transform",(function(){return e(20,n)})),this.focusIcon.append("circle").attr("cx",14).attr("cy",14).attr("r",13).style("fill","#eee"),this.focusIcon.append("path").attr("d","M14.2,23.81a9.8,9.8,0,1,1,6.93-2.87h0A9.74,9.74,0,0,1,14.2,23.81Zm0-18.17a8.37,8.37,0,1,0,5.92,14.29h0A8.37,8.37,0,0,0,14.2,5.64Zm1.42,6.95a2,2,0,1,0,0,2.85A2,2,0,0,0,15.62,12.59Z").style("fill","var(--onto-orange)"),this.focusIcon.on("click",(function(){t.$broadcast("onRootNodeChange",n.iri)})).on("mouseover",(function(){r.show(this.getAttribute("name")),c.cancel(de),c.cancel(le)})).on("mouseout",(function(){r.hide(),de=c((function(){xe()}),500)})),this.copyURIIcon=d3.select(".menu-events").append("g").attr("class","icon-link").attr("name","link").attr("transform",(function(){return e(20,n)})),this.copyURIIcon.append("circle").attr("cx",14).attr("cy",14).attr("r",13).style("fill","#eee"),this.copyURIIcon.append("path").attr("d","M 13.457031 10.164062 C 13.648438 10.164062 13.820312 10.242188 13.941406 10.363281 L 15.492188 11.859375 C 15.984375 12.332031 16.292969 12.992188 16.292969 13.714844 C 16.292969 14.441406 15.984375 15.097656 15.492188 15.574219 L 10.394531 20.496094 C 9.902344 20.972656 9.222656 21.265625 8.472656 21.265625 C 7.71875 21.265625 7.039062 20.972656 6.546875 20.496094 L 4.996094 19 C 4.507812 18.523438 4.203125 17.867188 4.203125 17.144531 C 4.203125 16.421875 4.507812 15.765625 4.996094 15.289062 L 7.542969 12.824219 C 7.667969 12.707031 7.84375 12.628906 8.035156 12.628906 C 8.417969 12.628906 8.726562 12.929688 8.726562 13.300781 C 8.726562 13.484375 8.648438 13.652344 8.523438 13.773438 L 5.976562 16.234375 C 5.738281 16.46875 5.589844 16.792969 5.589844 17.148438 C 5.589844 17.503906 5.738281 17.824219 5.976562 18.058594 L 7.527344 19.566406 C 7.773438 19.792969 8.105469 19.929688 8.472656 19.929688 C 8.835938 19.929688 9.167969 19.792969 9.414062 19.566406 L 14.511719 14.644531 C 14.753906 14.410156 14.90625 14.089844 14.90625 13.730469 C 14.90625 13.375 14.753906 13.054688 14.511719 12.820312 L 12.964844 11.324219 C 12.839844 11.203125 12.761719 11.039062 12.761719 10.855469 C 12.761719 10.488281 13.070312 10.1875 13.449219 10.1875 Z M 17.082031 3.976562 C 17.082031 3.976562 17.085938 3.976562 17.085938 3.976562 C 17.824219 3.976562 18.492188 4.261719 18.980469 4.722656 L 20.535156 6.203125 C 21.042969 6.679688 21.355469 7.34375 21.355469 8.082031 C 21.355469 8.792969 21.058594 9.441406 20.582031 9.914062 L 18.0625 12.402344 C 17.9375 12.527344 17.761719 12.605469 17.566406 12.605469 C 17.183594 12.605469 16.875 12.304688 16.875 11.9375 C 16.875 11.753906 16.949219 11.589844 17.070312 11.46875 L 19.605469 8.984375 C 19.847656 8.75 19.996094 8.429688 19.996094 8.070312 C 19.996094 7.714844 19.847656 7.394531 19.605469 7.160156 L 18.019531 5.667969 C 17.773438 5.445312 17.4375 5.304688 17.070312 5.300781 C 16.703125 5.304688 16.367188 5.453125 16.128906 5.691406 L 11.085938 10.667969 C 10.84375 10.898438 10.695312 11.222656 10.695312 11.578125 C 10.695312 11.933594 10.84375 12.257812 11.085938 12.488281 L 12.675781 13.980469 C 12.804688 14.101562 12.882812 14.273438 12.882812 14.457031 C 12.882812 14.828125 12.574219 15.128906 12.191406 15.128906 C 12.003906 15.128906 11.832031 15.054688 11.707031 14.9375 L 10.140625 13.457031 C 9.636719 12.980469 9.324219 12.316406 9.324219 11.582031 C 9.324219 10.863281 9.621094 10.214844 10.101562 9.742188 L 15.140625 4.765625 C 15.625 4.285156 16.304688 3.980469 17.054688 3.976562 Z M 17.082031 3.976562").style("fill","var(--onto-orange)"),this.copyURIIcon.on("click",(function(){z(n.iri),xe(),r.hide()})).on("mouseover",(function(){r.show("<div style='text-align: center;'><b>Copy to ClipBoard</b><br>"+n.iri+"</div>"),c.cancel(de),c.cancel(le)})).on("mouseout",(function(){r.hide(),de=c((function(){xe()}),500)})),this.closeIcon=d3.select(".menu-events").append("g").attr("class","close-icon").attr("name","remove").attr("transform",(function(){return e(20,n)})),this.closeIcon.append("circle").attr("cx",14).attr("cy",14).attr("r",13).style("fill","#eee"),this.closeIcon.append("path").attr("d","M14.94,14l5.87-5.87a.66.66,0,1,0-.94-.94L14,13.06,8.13,7.19a.66.66,0,0,0-.94.94L13.06,14,7.19,19.87a.66.66,0,1,0,.94.94L14,14.94l5.87,5.87a.66.66,0,1,0,.94-.94Z").style("fill","var(--onto-orange)"),this.closeIcon.on("click",(function(){he(n)})).on("mouseover",(function(){r.show(this.getAttribute("name")),c.cancel(de),c.cancel(le)})).on("mouseout",(function(){r.hide(),de=c((function(){xe()}),500)})),this.animateMenu(n)},this.animateMenu=function(t){let n=0;let i=20;this.expandIcon&&this.expandIcon.transition().duration(100).style("opacity",1).ease("sin").attr("transform",(function(){return e(i,t)})).delay(n+=35),this.collapseIcon&&this.collapseIcon.transition().duration(100).style("opacity",1).ease("sin").attr("transform",(function(){return e(i,t)})).delay(n+=35),this.copyURIIcon.transition().duration(100).style("opacity",1).ease("sin").attr("transform",(function(){return i+=30,e(i,t)})).delay(n+=35),this.focusIcon.transition().duration(100).style("opacity",1).ease("sin").attr("transform",(function(){return i+=30,e(i,t)})).delay(n+=35),this.closeIcon.transition().duration(100).style("opacity",1).ease("sin").attr("transform",(function(){return i+=30,e(i,t)})).delay(n+=35),this.expandedState=!0}};function ge(n,i,r){return e.showInfoPanel=!1,e.showPredicates=!1,e.showNodeInfo=!1,r.shiftKey&&(r.ctrlKey||r.metaKey)?(t.$broadcast("onRootNodeChange",n.iri),!1):r.ctrlKey||r.metaKey?(he(n),!1):void 0!==e.openedNodeInfoPanel&&e.openedNodeInfoPanel===n?(e.pageslideExpanded=!1,e.openedNodeInfoPanel=void 0,!1):(Se(n),!0)}function he(e){Y.removeNode(e),pe()}function me(t){!function(t){e.nodeSelected=!0,null===t.data.types&&(t.data.types="greyColor"),Y=new J,E="translate(0, -70) scale(1)",M.translate([0,-70]),M.scale(1)}(t),ye(t)}function ye(t,n,i){let r=t.data;r=_.filter(r,(function(e){return-1===_.findIndex(Y.links,(function(t){return e.source===t.source.iri&&e.target===t.target.iri}))}));let o=[];const a=Y.tripleLinksCopy.values();for(let e=0;e<Y.tripleLinksCopy.size;e++){a.next().value.forEach(e=>{o.push(e)})}r=_.filter(r,(function(e){return-1===_.findIndex(o,(function(t){return e.source===t.source.iri&&e.target===t.target.iri}))})),r=_.filter(r,(function(e){return e.source!==e.target}));const c=function(e,t){let n=t.map((function(t){return t[e]}));return t.filter((function(t,i){return n.indexOf(t[e])===i}))}("iri",_.union(_.flatten(_.map(t.data,(function(e){return[{iri:e.source,isTriple:e.isTripleSource},{iri:e.target,isTriple:e.isTripleTarget}]}))))),d=_.map(Y.nodes,(function(e){return{iri:e.iri,isTriple:Boolean(e.isTriple)}})),u=Y.tripleNodes.values();for(let e=0;e<Y.tripleNodes.size;e++){u.next().value.forEach(e=>{d.push({iri:e.iri,isTriple:e.isTriple})})}const f=_.reject(c,(function(e){return _.some(d,e)}));if(0===f.length)i?s.info(L.instant("graphexplore.error.node.connections")):0===r.length&&s.info(L.instant("graphexplore.error.node.connections")),Y.addAndMatchLinks(r),pe();else{const t=[],i=[];_.forEach(f,(function(n,r){t.push(l({url:"rest/explore-graph/node",method:"GET",params:{iri:n.isTriple?Z(n.iri):n.iri,config:e.configLoaded.id,languages:e.shouldShowSettings()?e.saveSettings.languages:[],includeInferred:e.saveSettings.includeInferred,sameAsState:e.saveSettings.sameAsState}}).then((function(e){i[r]=e.data})))})),p.all(t).then((function(){_.forEach(i,(function(e,t){const r=2*Math.PI*t/i.length,o=(n?n.x:0)+Math.cos(r)*R/3,a=(n?n.y:0)+Math.sin(r)*R/3;e.isTriple?Y.addTriple(e,o,a):Y.addNode(e,o,a)})),Y.addAndMatchLinks(r),n&&(n.isExpanded=!0),pe()}))}}function ve(t,n,i){if(ue.getLoadingState())return;ue.init(t,i);const r=t.iri;l({url:"rest/explore-graph/links",method:"GET",params:{iri:r,linksLimit:e.saveSettings.linksLimit,includeInferred:e.saveSettings.includeInferred,config:e.configLoaded.id,preferredTypes:e.shouldShowSettings()?e.saveSettings.preferredTypes:[],rejectedTypes:e.shouldShowSettings()?e.saveSettings.rejectedTypes:[],preferredPredicates:e.shouldShowSettings()?e.saveSettings.preferredPredicates:[],rejectedPredicates:e.shouldShowSettings()?e.saveSettings.rejectedPredicates:[],preferredTypesOnly:e.shouldShowSettings()?e.saveSettings.preferredTypesOnly:[],preferredPredicatesOnly:e.shouldShowSettings()?e.saveSettings.preferredPredicatesOnly:[],languages:e.shouldShowSettings()?e.saveSettings.languages:[],sameAsState:e.saveSettings.sameAsState,includeSchema:e.saveSettings.includeSchema}}).then((function(e){ye(e,t,n)}),(function(t){const n=getError(t.data);s.error(n,L.instant("graphexplore.error.exploring.node")),e.loading=!1,ue.setLoadingState(!1)}))}function xe(){angular.isDefined(fe)&&fe.expandedState&&fe.removeIcons()}function Se(t){se.stop(),e.openedNodeInfoPanel=t,e.showNodeInfo=!0,e.showFilter=!1,e.showPredicates=!1,e.nodeLabels=t.labels,e.nodeTypes=t.types,e.rdfRank=t.rdfRank,e.nodeIri=t.iri,e.resourceType=t.isTriple?"triple":"uri",e.encodedIri=t.isTriple?encodeURI(Z(t.iri)):encodeURI(t.iri),e.showInfoPanel=!0,e.rdfsLabel=t.labels[0].label,e.rdfsComment=t.comment,e.expanded=!1,e.propertiesQueryObj.query="",e.dataNodeKeysQuery="",l.get("rest/explore-graph/properties",{params:{iri:t.isTriple?Z(t.iri):t.iri,config:e.configLoaded.id,languages:e.shouldShowSettings()?e.saveSettings.languages:[],includeInferred:e.saveSettings.includeInferred,sameAsState:e.saveSettings.sameAsState,rejectedPredicates:e.shouldShowSettings()?e.saveSettings.rejectedPredicates:[]}}).then((function(t){e.data=_.mapKeys(t.data,(function(t,n){return e.replaceIRIWithPrefix(n)})),e.propertiesObj.items=[],_.forEach(e.data,(function(t,n){e.propertiesObj.items.push({key:n,value:t})})),e.nodeImage=void 0,e.propertiesNotFiltered=e.propertiesObj.items;const n=_.find(e.propertiesObj.items,(function(e){return"image"===e.key}));n&&(e.nodeImage=n.value[0].v),e.propertiesObj.items=_.reject(e.propertiesObj.items,(function(e){return"image"===e.key})),e.propertiesNotFiltered=e.propertiesObj.items}),(function(e){s.warning(getError(e.data),"Error")}))}function Ie(e){we("predicate","var(--onto-orange-dark)",e),we("predicates","var(--onto-orange-dark)",e);let t=document.getElementsByClassName("link");t&&_.each(t,(function(t){let n=t.__data__;(n.source.iri.indexOf(e.iri)>=0||n.target.iri.indexOf(e.iri)>=0)&&(t.style.stroke="var(--onto-orange-dark)",t.style.strokeWidth=4)}));let n=document.getElementsByClassName("arrow-marker");n&&_.each(n,(function(t){let n=t.__data__;(n.source.iri.indexOf(e.iri)>=0||n.target.iri.indexOf(e.iri)>=0)&&(t.style.stroke="var(--onto-orange-dark)",t.__data__.target.isTriple||t.setAttribute("refX","23"))}))}function we(e,t,n){let i=document.getElementsByClassName(e);i&&_.each(i,(function(e){let i=e.__data__;n?((i.source.iri.indexOf(n.iri)>=0||i.target.iri.indexOf(n.iri)>=0)&&(e.style.fill=t),q(n.iri)===H(i)&&(e.textContent=n.pred,e.style.fill=t),n.oppLinkIRI&&n.oppLinkIRI===H(i)&&(e.textContent=n.oppTriplePred,e.style.fill=t)):(e.style.fill=t,e.textContent=Ce(i))}))}function ke(){_.each(e.predicates,(function(e){let t=document.getElementById(e.linkId+e.nodeIndex);t&&(t.style.fontWeight="normal")}));let t=document.getElementsByClassName("link");t&&_.each(t,(function(e){e.style.stroke="#999",e.style.strokeWidth=1})),we("predicate",""),we("predicates","");let n=document.getElementsByClassName("arrow-marker");n&&_.each(n,(function(e){e.style.stroke="#999",e.__data__.target.isTriple||e.setAttribute("refX","59")}))}function Le(e){let t=q(e);if(Y.tripleNodes.has(t))return Y.tripleNodes.get(t).find(t=>t.iri===e)}function Ce(e){return e.predicates.length>1?e.predicates.length+" predicates":Te(e.predicates[0])}function Te(t){const n=e.replaceIRIWithPrefix(t);return n.length===t.length?t.split("/")[t.split("/").length-1]:n}e.toggleSidePanel=function(){e.pageslideExpanded=!e.pageslideExpanded},e.closeInfoPanel=function(){e.pageslideExpanded=!1,e.openedNodeInfoPanel=void 0,e.predicates=[],j=null,c((function(){e.showInfoPanel=!1}))},e.clickLink=function(t){if(Y.tripleNodes.has(t.linkId)){ke();let n=Y.tripleNodes.get(t.linkId)[t.nodeIndex];Se(n),e.showPredicates=!0;let i=document.getElementById(t.linkId+t.nodeIndex);i&&(i.style.fontWeight="bold");let r={};const o=Y.tripleLinksCopy.values();for(let e=0;e<Y.tripleLinksCopy.size;e++){let e=o.next().value;e.length>1&&e.every(t=>t.source.iri===n.iri?(r.iri=e[0].source.iri,t.target.isTriple&&(r.oppLinkIRI=q(t.target.iri),r.oppTriplePred=Te(t.target.iri.split(" ")[1])),r.pred=Te(n.iri.split(" ")[1]),1===t.predicates.length&&(r.linkPred=t.predicates[0]),!1):t.target.iri!==n.iri||(r.iri=e[0].target.iri,t.source.isTriple&&(r.oppLinkIRI=q(t.source.iri),r.oppTriplePred=Te(t.source.iri.split(" ")[1])),r.pred=Te(n.iri.split(" ")[1]),1===t.predicates.length&&(r.linkPred=t.predicates[0]),!1))}r.iri||(r.iri=n.iri,r.pred=Te(n.iri.split(" ")[1])),Ie(r)}},e.splitPredicate=function(e){return e.split("/")[e.split("/").length-1]},e.getActiveRepository=function(){return n.getActiveRepository()},e.isLoadingLocation=function(){return n.isLoadingLocation()},e.hasActiveLocation=function(){return n.hasActiveLocation()},e.rotate=function(e){xe();const t=2*(e?1:-1)*Math.PI/180,n=Math.cos(t),i=Math.sin(t),r=G/2,o=R/2;d3.selectAll(".node-wrapper").each((function(e){e.x=r+(n*(e.x-r)+i*(e.y-o)),e.y=o+(-i*(e.x-r)+n*(e.y-o)),e.fixed&&(e.px=e.x,e.py=e.y)})),se.resume()},e.openUri=function(t,n){if(!n){const n={};e.configLoaded.id!==e.defaultGraphConfig.id&&(n.config=e.configLoaded.id),n.uri=t,e.pushHistory(n,{uri:t,config:e.configLoaded})}e.$broadcast("onRootNodeChange",t)},e.saveOrUpdateGraph=function(){const t=JSON.stringify(Y.copyState()),n={id:e.lastSavedGraphId,name:e.lastSavedGraphName,data:t,shared:e.shared};n.id?e.saveGraphModal("update",n):e.saveGraphModal("new",n)},e.renameSavedGraph=function(t){e.saveGraphModal("rename",{id:t.id,name:t.name,config:t.config,shared:t.shared})};const be=function(t){I.editSavedGraph(t).success((function(){e.lastSavedGraphName=t.name,e.shared=t.shared,e.refreshSavedGraphs(),s.success(L.instant("graphexplore.saved.graph.was.edited",{name:t.name}))})).error((function(e){const t=getError(e);s.error(t,L.instant("graphexplore.error.cannot.edit"))}))};e.saveGraphModal=function(t,n,i){y.open({templateUrl:"js/angular/graphexplore/templates/modal/save-graph.html",controller:"SaveGraphModalCtrl",resolve:{data:function(){return{mode:t,graph:n,graphExists:i,shared:n.shared}}}}).result.then((function(t){if(t.restart)e.saveGraphModal(t.mode,t.graph,!1);else switch(t.mode){case"new":!function(t){e.configLoaded&&(t.config=e.configLoaded.id),I.addNewSavedGraph(t).success((function(n,i,r){e.lastSavedGraphName=t.name,e.lastSavedGraphId=r()["x-saved-graph-id"],e.shared=t.shared,e.refreshSavedGraphs(),s.success(L.instant("graphexplore.saved.graph",{name:t.name}))})).error((function(n,i){if(422===i)e.saveGraphModal("new",t,!0);else{const e=getError(n);s.error(e,L.instant("graphexplore.error.cannot.create.graph"))}}))}(t.graph);break;case"update":case"rename":be(t.graph)}}))},e.refreshSavedGraphs=function(){I.getSavedGraphs().success((function(t){e.savedGraphs=t})).error((function(e){const t=getError(e);s.error(t,L.instant("graphexplore.error.getting.saved.graphs"))}))},e.loadSavedGraph=function(t,n){t.owner?(e.lastSavedGraphName=t.name,e.lastSavedGraphId=t.id,e.shared=t.shared,e.configLoaded=e.findConfigById(t.config)):(e.lastSavedGraphName=null,e.lastSavedGraphId=null,e.shared=t.shared),e.configLoaded||(e.configLoaded=e.defaultGraphConfig),f.url("?saved="+t.id),Y.restoreState(JSON.parse(t.data)),n||e.pushHistory({saved:t.id},{savedGraph:t})},e.copyToClipboardSavedGraph=function(e){z([location.protocol,"//",location.host,location.pathname,"?saved=",e.id].join(""))},e.deleteSavedGraph=function(t){m.openSimpleModal({title:L.instant("common.confirm"),message:L.instant("graphexplore.confirm.delete.graph",{graphName:t.name}),warning:!0}).result.then((function(){!function(t){I.deleteSavedGraph(t).success((function(){e.refreshSavedGraphs(),s.success(L.instant("graphexplore.saved.graph.was.deleted",{name:t.name}))})).error((function(e){const t=getError(e);s.error(t,L.instant("graphexplore.error.cannot.delete"))}))}(t)}))},e.openIRI=function(t,n){return n.shiftKey?e.$broadcast("onRootNodeChange",t):window.open(t,"_blank"),!1},e.togglePinAllNodes=function(){xe();const t=e.numberOfPinnedNodes<=0;e.numberOfPinnedNodes=0,d3.selectAll(".node").each((function(n){n.fixed=t,t&&e.numberOfPinnedNodes++})),se.resume()},$("body").on("keydown",(function(t){"input"!==t.target.nodeName&&e.nodeSelected&&(37===t.keyCode?e.rotate(!0):39===t.keyCode&&e.rotate(!1))})),e.getLiteralFromPropValue=function(e){return e.substring(e.indexOf(":")+1)}}function c(e,t,n,i){switch(e.mode=n.mode,e.graph=angular.copy(n.graph),e.graphExists=n.graphExists,e.mode){case"new":e.title=i.instant("graphexplore.create.new.graph"),e.okButtonText=i.instant("common.create.btn");break;case"update":e.title=i.instant("graphexplore.update"),e.okButtonText=i.instant("common.save.btn");break;case"rename":e.title=i.instant("graphexplore.rename"),e.okButtonText=i.instant("common.save.btn")}e.ok=function(){e.form.$valid&&t.close({graph:e.graph,mode:e.mode})},e.saveNew=function(){e.graph.name=e.graph.name+" (new)",t.close({graph:e.graph,mode:"new",restart:!0})},e.cancel=function(){t.dismiss("cancel")}}angular.module("graphdb.framework.graphexplore.controllers.graphviz",["ui.scroll.jqlite","ui.scroll","toastr","ui.bootstrap","ngTagsInput","graphdb.framework.utils.localstorageadapter"]).controller("GraphsVisualizationsCtrl",s).controller("SaveGraphModalCtrl",c).config(["$tooltipProvider",function(e){e.options({appendToBody:!0})}]),s.$inject=["$scope","$rootScope","$repositories","$licenseService","toastr","$timeout","$http","ClassInstanceDetailsService","AutocompleteRestService","$q","$location","$jwtAuth","UiScrollService","ModalService","$modal","$window","LocalStorageAdapter","LSKeys","SavedGraphsRestService","GraphConfigRestService","RDF4JRepositoriesRestService","$translate"],c.$inject=["$scope","$modalInstance","data","$translate"]}}]);
|
|
2
2
|
//# sourceMappingURL=25.fffc5233e718b047a34f.bundle.js.map
|