graphdb-workbench 2.1.1 → 2.1.2-RC1
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/{12.cf2225402504b37eb28e.bundle.js → 12.c008cc99a0d358fd58b7.bundle.js} +2 -2
- package/dist/12.c008cc99a0d358fd58b7.bundle.js.map +1 -0
- package/dist/136.3199d393576be61f53fd.bundle.js +1 -1
- package/dist/136.3199d393576be61f53fd.bundle.js.map +1 -1
- package/dist/19.b5b3699a309774176fc3.bundle.js +1 -1
- package/dist/19.b5b3699a309774176fc3.bundle.js.map +1 -1
- package/dist/26.176ffe2071a8d5d382b6.bundle.js +1 -1
- package/dist/26.176ffe2071a8d5d382b6.bundle.js.map +1 -1
- package/dist/31.4ecdb66b2c224a63525e.bundle.js +1 -1
- package/dist/31.4ecdb66b2c224a63525e.bundle.js.map +1 -1
- package/dist/37.ef412d4cbc60967faa5e.bundle.js +1 -1
- package/dist/37.ef412d4cbc60967faa5e.bundle.js.map +1 -1
- package/dist/{60.4c94265e0d3417d76f01.bundle.js → 60.854353939d8597b39221.bundle.js} +2 -2
- package/dist/60.854353939d8597b39221.bundle.js.map +1 -0
- package/dist/{62.41c0ac4da8e49e4d4dd3.bundle.js → 62.efe6729fb3185cbab1b1.bundle.js} +2 -2
- package/dist/62.efe6729fb3185cbab1b1.bundle.js.map +1 -0
- package/dist/83.73515cde0a2215275d32.bundle.js +1 -1
- package/dist/83.73515cde0a2215275d32.bundle.js.map +1 -1
- package/dist/{bundle.6f3596bd4833bb17c6f7.bundle.js → bundle.595d7082ecc6c2683c9a.bundle.js} +3 -3
- package/dist/bundle.595d7082ecc6c2683c9a.bundle.js.map +1 -0
- 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 +2 -2
- 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/guides.html +1 -1
- 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/12.cf2225402504b37eb28e.bundle.js.map +0 -1
- package/dist/60.4c94265e0d3417d76f01.bundle.js.map +0 -1
- package/dist/62.41c0ac4da8e49e4d4dd3.bundle.js.map +0 -1
- package/dist/bundle.6f3596bd4833bb17c6f7.bundle.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["webpack:///./src/js/angular/graphexplore/controllers/dependencies-chord.controller.js"],"names":["allGraphs","contextID","type","value","uri","humanize","number","exp","Math","floor","log","result","pow","toFixed","DependenciesChordCtrl","$scope","$rootScope","$repositories","toastr","$timeout","GraphDataRestService","UiScrollService","ModalService","LocalStorageAdapter","RDF4JRepositoriesRestService","$translate","timer","status","getActiveRepository","STATUS","selectedGraph","initView","resolveGraphs","success","graphsInRepo","results","bindings","setSelectedGraphFromCache","isSystemRepository","getRelationshipsStatus","error","data","repositoryError","getError","instant","selGraphFromCache","get","some","graph","set","getRelationshipsData","selectedClasses","d3","select","html","direction","matrixData","dependenciesData","matrix","right","nodes","left","hasLinks","_","sum","map","arr","force","cancel","getRelationshipsClasses","classesData","allClasses","items","filter","classFilterFunc","allNotFilteredClasses","undefined","angular","isUndefined","slice","warning","indexOf","substring","length","datasource","position","current","c","name","toLowerCase","classQuery","query","key","index","count","initLazyList","$watch","each","item","revision","adapterContainer","adapter","remain","reload","isActiveRepoFedXType","$on","isLoading","confirmCalculateDependencies","openSimpleModal","title","message","then","calculateDependencies","calculateRelationships","addClass","clazz","push","removeClass","remove","showClass","classToShow","isClassByNameShown","find","addClassByName","removeClassByName","removeAllClasses","repoIsSetListener","window","addEventListener","removeRepoIsSetListener","removeEventListener","selectGraph","getSelectedGraphValue","isAllGraphsSelected","Object","defineProperty","global","module","controller","config","$tooltipProvider","options","appendToBody","$inject"],"mappings":"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","file":"60.4c94265e0d3417d76f01.bundle.js","sourcesContent":["const STATUS = {\n 'WAIT': 'WAIT',\n 'NO_REPO': 'NO_REPO',\n 'READY': 'READY',\n 'IN_PROGRESS': 'IN_PROGRESS',\n 'ERROR': 'ERROR'\n};\n\nconst modules = [\n 'ui.scroll.jqlite',\n 'ui.scroll',\n 'toastr',\n 'ui.bootstrap',\n 'graphdb.framework.core.services.repositories',\n 'graphdb.framework.utils.localstorageadapter'\n];\nconst allGraphs = {\n contextID: {\n type: \"all\",\n value: \"all.graphs.label\",\n uri: \"\"\n }\n};\nObject.defineProperty(global, 'allGraphs', {\n get: () => {return allGraphs;}\n});\n\nangular\n .module('graphdb.framework.graphexplore.controllers.dependencies', modules)\n .controller('DependenciesChordCtrl', DependenciesChordCtrl)\n .config(['$tooltipProvider', function ($tooltipProvider) {\n $tooltipProvider.options({appendToBody: true});\n }])\n .filter('humanize', function () {\n return humanize;\n });\n\nfunction humanize(number) {\n if (number < 1000) {\n return number;\n }\n const si = ['K', 'M', 'G', 'T', 'P', 'H'];\n const exp = Math.floor(Math.log(number) / Math.log(1000));\n let result = number / Math.pow(1000, exp);\n result = (result % 1 > (1 / Math.pow(1000, exp - 1))) ? result.toFixed(2) : result.toFixed(0);\n return result + si[exp - 1];\n}\n\nDependenciesChordCtrl.$inject = ['$scope', '$rootScope', '$repositories', 'toastr', '$timeout', 'GraphDataRestService', 'UiScrollService', 'ModalService', 'LocalStorageAdapter', 'RDF4JRepositoriesRestService', '$translate'];\n\nfunction DependenciesChordCtrl($scope, $rootScope, $repositories, toastr, $timeout, GraphDataRestService, UiScrollService, ModalService, LocalStorageAdapter, RDF4JRepositoriesRestService, $translate) {\n\n let timer = null;\n\n $scope.status = !$repositories.getActiveRepository() ? STATUS.NO_REPO : STATUS.WAIT;\n\n let selectedGraph = allGraphs;\n\n const initView = function () {\n RDF4JRepositoriesRestService.resolveGraphs()\n .success(function (graphsInRepo) {\n $scope.graphsInRepo = graphsInRepo.results.bindings;\n setSelectedGraphFromCache();\n if (!$scope.isSystemRepository()) {\n $scope.status = 'WAIT';\n getRelationshipsStatus(true);\n } else if ($scope.status !== \"READY\") {\n getRelationshipsStatus();\n }\n }).error(function (data) {\n $scope.repositoryError = getError(data);\n toastr.error(getError(data), $translate.instant('graphexplore.error.getting.graph'));\n });\n };\n\n const setSelectedGraphFromCache = function () {\n const selGraphFromCache = LocalStorageAdapter.get(`dependencies-selectedGraph-${$repositories.getActiveRepository()}`);\n if (selGraphFromCache !== null && $scope.graphsInRepo.some(graph => graph.contextID.uri === selGraphFromCache.contextID.uri)) {\n selectedGraph = selGraphFromCache;\n } else {\n LocalStorageAdapter.set(`dependencies-selectedGraph-${$repositories.getActiveRepository()}`, selectedGraph);\n }\n };\n\n const getRelationshipsData = function (selectedClasses) {\n d3.select('#dependencies-chord').html('');\n\n $scope.status = STATUS.WAIT;\n\n GraphDataRestService.getRelationshipsData(selectedClasses, $scope.direction, selectedGraph.contextID.uri)\n .success(function (matrixData) {\n // Check classes empty\n $scope.dependenciesData = {\n matrix: matrixData.right,\n nodes: matrixData.left,\n hasLinks: _.sum(_.map(matrixData.right, function (arr) {\n return _.sum(arr);\n })) > 0,\n direction: $scope.direction\n };\n $scope.status = STATUS.READY;\n }).error(function (data) {\n $scope.status = STATUS.READY;\n toastr.error(getError(data), $translate.instant('graphexplore.error.dependencies.count'));\n });\n };\n\n const getRelationshipsClasses = function () {\n GraphDataRestService.getRelationshipsClasses($scope.direction, selectedGraph.contextID.uri)\n .success(function (classesData, status) {\n $scope.allClasses.items = _.filter(classesData, classFilterFunc);\n $scope.allNotFilteredClasses = classesData;\n $scope.selectedClasses = undefined;\n if (angular.isUndefined($scope.selectedClasses)) {\n $scope.selectedClasses = classesData.slice(0, 10);\n }\n getRelationshipsData($scope.selectedClasses);\n if (status === 207) {\n toastr.warning($translate.instant('graphexplore.update.diagram'), $translate.instant('graphexplore.repository.data.changed'));\n }\n });\n };\n\n const getRelationshipsStatus = function (force) {\n if ($scope.status === STATUS.READY && !force) {\n return;\n }\n $scope.status = STATUS.WAIT;\n GraphDataRestService.getRelationshipsStatus(selectedGraph.contextID.uri)\n .success(function (data) {\n $scope.status = data;\n if ($scope.status === STATUS.IN_PROGRESS) {\n if (timer !== null) {\n return;\n } else {\n timer = $timeout(getRelationshipsStatus, 2000);\n }\n }\n if ($scope.status === STATUS.READY) {\n if (timer !== null) {\n $timeout.cancel(timer);\n timer = null;\n }\n getRelationshipsClasses();\n }\n if ($scope.status.indexOf('ERROR;') === 0) {\n $scope.status = STATUS.ERROR;\n toastr.error($translate.instant('graphexplore.error.dependencies.calc', {error:$scope.status.substring('ERROR;'.length)}));\n }\n })\n .error(function (data) {\n $scope.status = STATUS.ERROR;\n toastr.error(getError(data), $translate.instant('graphexplore.error.dependencies.count.status'));\n });\n };\n\n $scope.allClasses = {};\n $scope.allClasses.items = [];\n $scope.allNotFilteredClasses = [];\n $scope.direction = 'all';\n\n const datasource = {};\n let position = 0;\n let current = 0;\n $rootScope.key = '';\n\n datasource.get = function (index, count, success) {\n return UiScrollService.initLazyList(index, count, success, position, $scope.allClasses.items);\n };\n\n $rootScope.$watch(function () {\n return $rootScope.key;\n }, function () {\n position = 0;\n _.each($scope.allClasses.items, function (item) {\n if ($rootScope.key > item) position++;\n });\n current++;\n });\n\n datasource.revision = function () {\n return current;\n };\n\n $scope.datasource = datasource;\n\n // adapter implementation for ui-scroll directive\n // reload\n $scope.adapterContainer = {adapter: {remain: true}};\n\n $scope.classQuery = {};\n $scope.classQuery.query = '';\n $scope.classFilterFunc = classFilterFunc;\n\n function classFilterFunc(c) {\n return c.name\n .toLowerCase()\n .indexOf($scope.classQuery.query.toLowerCase()) !== -1;\n }\n\n $scope.$watch('allClasses.items', function () {\n if ($scope.allClasses.items.length > 0) {\n $timeout(function () {\n $scope.adapterContainer.adapter.reload();\n }, 30);\n }\n });\n\n $scope.$watch('direction', function () {\n if (!$repositories.getActiveRepository() ||\n $scope.isSystemRepository() || $repositories.isActiveRepoFedXType()) {\n return;\n }\n initView();\n });\n\n $scope.$on('$destroy', function () {\n $timeout.cancel(timer);\n });\n\n $scope.isLoading = function () {\n return $scope.status === STATUS.IN_PROGRESS || $scope.status === STATUS.WAIT;\n };\n\n $scope.confirmCalculateDependencies = function () {\n ModalService.openSimpleModal({\n title: $translate.instant('confirm.operation'),\n message: $translate.instant('graphexplore.calculating.relationships'),\n warning: true\n }).result\n .then(function () {\n $scope.calculateDependencies();\n });\n };\n\n $scope.calculateDependencies = function () {\n $scope.status = STATUS.WAIT;\n $scope.selectedClasses = undefined;\n GraphDataRestService.calculateRelationships(selectedGraph.contextID.uri)\n .success(function (data) {\n if (data.indexOf('ERROR;') === 0) {\n toastr.error($translate.instant('graphexplore.error.dependencies.calc', {error:$scope.status.substring('ERROR;'.length)}));\n } else {\n getRelationshipsStatus();\n }\n })\n .error(function (data) {\n toastr.error($translate.instant('graphexplore.error.could.not.force.count', {error: getError(data)}));\n });\n };\n\n $scope.addClass = function (clazz) {\n $scope.selectedClasses.push(clazz);\n getRelationshipsData($scope.selectedClasses);\n };\n\n $scope.removeClass = function (clazz) {\n _.remove($scope.selectedClasses, function (c) {\n return c.name === clazz.name;\n });\n getRelationshipsData($scope.selectedClasses);\n };\n\n $scope.showClass = function (clazz) {\n $scope.classToShow = clazz;\n };\n\n $scope.isClassByNameShown = function (name) {\n return _.find($scope.selectedClasses, {name: name}) !== undefined;\n };\n\n $scope.addClassByName = function (name) {\n $scope.selectedClasses.push(_.find($scope.allClasses.items, {name: name}));\n getRelationshipsData($scope.selectedClasses);\n };\n\n $scope.removeClassByName = function (name) {\n _.remove($scope.selectedClasses, function (c) {\n return c.name === name;\n });\n getRelationshipsData($scope.selectedClasses);\n };\n\n\n $scope.removeAllClasses = function () {\n $scope.selectedClasses = [];\n getRelationshipsData($scope.selectedClasses);\n };\n\n $scope.isSystemRepository = function () {\n return $repositories.getActiveRepository() === 'SYSTEM';\n };\n\n function onRepositoryIsSet() {\n // clear class search on changing the repository\n $scope.classQuery = {};\n $scope.classQuery.query = '';\n $scope.repositoryError = null;\n selectedGraph = allGraphs;\n if (!$repositories.getActiveRepository() || $repositories.isActiveRepoFedXType()) {\n $scope.status = STATUS.NO_REPO;\n return;\n }\n initView();\n }\n\n const repoIsSetListener = $scope.$on('repositoryIsSet', onRepositoryIsSet);\n\n window.addEventListener('beforeunload', removeRepoIsSetListener);\n\n function removeRepoIsSetListener() {\n repoIsSetListener();\n window.removeEventListener('beforeunload', removeRepoIsSetListener);\n }\n\n $scope.selectGraph = function (graph) {\n selectedGraph = graph;\n getRelationshipsStatus(true);\n LocalStorageAdapter.set(`dependencies-selectedGraph-${$repositories.getActiveRepository()}`, selectedGraph);\n };\n\n $scope.getSelectedGraphValue = function () {\n return selectedGraph.contextID.value;\n };\n\n $scope.isAllGraphsSelected = function () {\n return $scope.getSelectedGraphValue() === 'all.graphs.label'\n }\n}\n"],"sourceRoot":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["webpack:///./src/js/angular/graphexplore/controllers/rdf-class-hierarchy.controller.js"],"names":["RdfClassHierarchyCtlr","$scope","$rootScope","$location","$repositories","$licenseService","$window","toastr","GraphDataRestService","UiScrollService","RdfsLabelCommentService","$timeout","ModalService","bowser","LocalStorageAdapter","LSKeys","RDF4JRepositoriesRestService","$translate","classHierarchyData","instancesObj","instancesQueryObj","items","instancesNotFiltered","isWarningShowed","onopen","onclose","angular","noop","currentBrowserLimit","firefox","safari","msie","msedge","datasource","position","current","key","get","index","count","success","initLazyList","selectedGraph","allGraphs","initView","getActiveRepository","resolveGraphs","graphsInRepo","results","bindings","setSelectedGraphFromCache","error","data","repositoryError","getError","instant","selGraphFromCache","some","graph","contextID","uri","set","initClassCountSlider","event","classCount","currentSliderValue","classCountSlider","options","ceil","classLimit","value","showExternalElements","floor","vertical","showSelectionBar","onChange","setNewCurrentSliderValue","CLASS_HIERARCHY_CURRENT_SLIDER_VALUE","chrome","warning","browser","name","s","CLASS_HIERARCHY_SWITCH_PREFIXES","window","$broadcast","lastTimeWheel","$","on","e","preventDefault","stopPropagation","now","Date","getTime","originalEvent","newValue","deltaY","$apply","goToDomainRangeGraphView","selectedClass","fullName","checkDomainRangeData","response","status","CLASS_HIERARCHY_LAST_SELECTED_CLASS","hash","path","search","refreshDiagramExternalElements","replace","showClassInfoPanel","clearClassHieararchyState","hidePrefixes","CLASS_HIERARCHY_HIDE_PREFIXES","undefined","fixToolbar","hasClassHierarchy","removeClass","$watch","_","each","item","revision","adapterContainer","adapter","remain","$on","isLicenseValid","currentActiveRepository","then","getClassHierarchyData","toggleClassInfoSidePanel","getActiveRepositoryNoError","isSystemRepository","confirmReloadClassHierarchy","openSimpleModal","title","message","result","loader","hierarchyError","reloadClassHierarchy","focusOnRoot","copyToClipboard","openCopyToClipboardModal","searchedClassCallback","selected","searchedClass","query","instancesFilterFunc","inst","resolvedUri","toLowerCase","indexOf","length","reload","localNameStartIdx","lastIndexOf","substring","encodedUri","encodeURIComponent","encodedQuery","viewInstancesUri","getRdfsLabelAndComment","rdfsLabel","label","rdfsComment","comment","expanded","instancesLoader","getClassInstances","obj","type","startsWith","endsWith","absUri","absUriNonEncoded","push","instancesSearchPlaceholder","prepareDataForClassInfoSidePanel","document","ready","click","hide","chosenGraph","getSelGraphValue","isAllGraphsSelected","module","controller","$inject"],"mappings":"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","file":"62.41c0ac4da8e49e4d4dd3.bundle.js","sourcesContent":["import 'angular/utils/local-storage-adapter';\n\nconst modules = [\n 'pageslide-directive',\n 'ngAnimate',\n 'ui.scroll.jqlite',\n 'ui.scroll',\n 'angucomplete-alt',\n 'rzSlider',\n 'toastr',\n 'graphdb.framework.utils.localstorageadapter'\n];\n\nconst SAFARI_IE_EDGE_CLASS_LIMIT = 400;\nconst FIREFOX_CLASS_LIMIT = 50;\nconst CLASS_COUNT_THRESHOLD = 1500;\nconst CLASS_COUNT_THRESHOLD_IE = 25;\n\nangular\n .module('graphdb.framework.graphexplore.controllers.class', modules)\n .controller('RdfClassHierarchyCtlr', RdfClassHierarchyCtlr);\n\nRdfClassHierarchyCtlr.$inject = [\"$scope\", \"$rootScope\", \"$location\", \"$repositories\", \"$licenseService\", \"$window\", \"toastr\", \"GraphDataRestService\", \"UiScrollService\", \"RdfsLabelCommentService\", \"$timeout\", \"ModalService\", \"bowser\", \"LocalStorageAdapter\", \"LSKeys\", \"RDF4JRepositoriesRestService\", \"$translate\"];\n\nfunction RdfClassHierarchyCtlr($scope, $rootScope, $location, $repositories, $licenseService, $window, toastr, GraphDataRestService, UiScrollService, RdfsLabelCommentService, $timeout, ModalService, bowser, LocalStorageAdapter, LSKeys, RDF4JRepositoriesRestService, $translate) {\n $scope.classHierarchyData = {};\n $scope.instancesObj = {};\n $scope.instancesQueryObj = {};\n\n $scope.instancesObj.items = [];\n $scope.instancesNotFiltered = [];\n $scope.isWarningShowed = false;\n\n // Handle pageslide directive callbacks which incidentally appeared to be present in the angular's\n // scope, so we need to define our's and pass them to pageslide, otherwise it throws an error.\n $scope.onopen = $scope.onclose = () => angular.noop();\n\n $scope.currentBrowserLimit = 2000;\n if (bowser.firefox) {\n $scope.currentBrowserLimit = FIREFOX_CLASS_LIMIT;\n } else if (bowser.safari || bowser.msie || bowser.msedge) {\n $scope.currentBrowserLimit = SAFARI_IE_EDGE_CLASS_LIMIT;\n }\n\n // creating datasource for class instances data\n const datasource = {};\n let position = 0;\n let current = 0;\n $rootScope.key = \"\";\n datasource.get = function (index, count, success) {\n return UiScrollService.initLazyList(index, count, success, position, $scope.instancesObj.items);\n };\n\n let selectedGraph = allGraphs;\n\n const initView = function () {\n if (!$scope.getActiveRepository()) {\n return;\n }\n return RDF4JRepositoriesRestService.resolveGraphs()\n .success(function (graphsInRepo) {\n $scope.graphsInRepo = graphsInRepo.results.bindings;\n setSelectedGraphFromCache();\n }).error(function (data) {\n $scope.repositoryError = getError(data);\n toastr.error(getError(data), $translate.instant('graphexplore.error.getting.graphs'));\n });\n };\n\n const setSelectedGraphFromCache = function () {\n const selGraphFromCache = LocalStorageAdapter.get(`classHierarchy-selectedGraph-${$repositories.getActiveRepository()}`);\n if (selGraphFromCache !== null && $scope.graphsInRepo.some(graph => graph.contextID.uri === selGraphFromCache.contextID.uri)) {\n selectedGraph = selGraphFromCache;\n } else {\n LocalStorageAdapter.set(`classHierarchy-selectedGraph-${$repositories.getActiveRepository()}`, selectedGraph);\n }\n };\n\n $rootScope.$watch(function () {\n return $rootScope.key;\n }, function () {\n position = 0;\n _.each($scope.instancesObj.items, function (item) {\n if ($rootScope.key > item) position++;\n });\n current++;\n });\n\n datasource.revision = function () {\n return current;\n };\n // adapter implementation for ui-scroll directive\n $scope.adapterContainer = {adapter: {remain: true}};\n\n\n // events\n $scope.$on('goToDomainRangeGraphView', onGoToDomainRangeGraphView);\n $scope.$on('classCount', initClassCountSlider);\n $scope.$on('repositoryIsSet', onRepositoryIsSet);\n\n // objects\n $scope.datasource = datasource;\n\n // functions\n $scope.goToDomainRangeGraphView = goToDomainRangeGraphView;\n $scope.toggleClassInfoSidePanel = toggleClassInfoSidePanel;\n $scope.getActiveRepositoryNoError = getActiveRepositoryNoError;\n $scope.isSystemRepository = isSystemRepository;\n $scope.confirmReloadClassHierarchy = confirmReloadClassHierarchy;\n $scope.focusOnRoot = focusOnRoot;\n $scope.copyToClipboard = copyToClipboard;\n\n $scope.searchedClassCallback = searchedClassCallback;\n\n $scope.instancesQueryObj.query = \"\";\n $scope.instancesFilterFunc = instancesFilterFunc;\n\n initView();\n\n $scope.$watch('instancesObj.items', function () {\n if ($scope.instancesObj.items.length > 0) {\n $timeout(function () {\n $scope.adapterContainer.adapter.reload();\n }, 30);\n }\n });\n\n $scope.$watch('selectedClass', function () {\n if ($scope.showClassInfoPanel) {\n prepareDataForClassInfoSidePanel($scope.selectedClass);\n }\n });\n\n function instancesFilterFunc(inst) {\n return inst.resolvedUri\n .toLowerCase()\n .indexOf($scope.instancesQueryObj.query.toLowerCase()) >= 0;\n }\n\n function searchedClassCallback(selected) {\n if (selected) {\n const searchedClass = {name: selected.title};\n $rootScope.$broadcast('searchedClass', searchedClass);\n }\n }\n\n function initClassCountSlider(event, classCount, currentSliderValue) {\n if ($scope.classCountSlider.options && $scope.classCountSlider.options.ceil !== classCount) {\n // Force reset of the slider if it exists and its class count (ceil) is different from\n // the broadcast class count.\n $scope.classCountSlider = {};\n }\n\n const showBrowserCompatibleClassLimitWarning = function (classLimit) {\n if (bowser.chrome) {\n toastr.warning($translate.instant('graphexplore.disabling.animations', {classLimit: classLimit}),\n $translate.instant('graphexplore.reducing.visual.effects'));\n } else {\n toastr.warning($translate.instant('graphexplore.browser.performance', {browser: bowser.name, classLimit: classLimit}),\n $translate.instant('graphexplore.reducing.visual.effects'));\n }\n };\n\n if (!$scope.classCountSlider.value) {\n $scope.showExternalElements = true;\n $scope.classCountSlider = {\n value: classCount,\n options: {\n floor: 1,\n ceil: classCount,\n vertical: true,\n showSelectionBar: true,\n onChange: function () {\n $timeout(setNewCurrentSliderValue, 100, true);\n }\n }\n };\n\n if (LocalStorageAdapter.get(LSKeys.CLASS_HIERARCHY_CURRENT_SLIDER_VALUE) === null) {\n if (classCount > $scope.currentBrowserLimit) {\n showBrowserCompatibleClassLimitWarning($scope.currentBrowserLimit);\n }\n }\n }\n\n const s = LocalStorageAdapter.get(LSKeys.CLASS_HIERARCHY_SWITCH_PREFIXES);\n const noSwitchPrefixes = (s != null) && (s !== \"true\");\n if (noSwitchPrefixes) {\n $scope.showExternalElements = true;\n }\n\n if (currentSliderValue) {\n $scope.classCountSlider.value = currentSliderValue;\n } else if (classCount >= CLASS_COUNT_THRESHOLD) {\n $scope.classCountSlider.value = CLASS_COUNT_THRESHOLD;\n toastr.warning($translate.instant('graphexplore.class.count.slider', {count: CLASS_COUNT_THRESHOLD}), $translate.instant('graphexplore.reducing.class.count'));\n }\n\n if (classCount >= CLASS_COUNT_THRESHOLD_IE && (!(window.ActiveXObject) && \"ActiveXObject\" in window) && !$scope.isWarningShowed) {\n $scope.classCountSlider.value = CLASS_COUNT_THRESHOLD_IE;\n $scope.isWarningShowed = true;\n toastr.warning($translate.instant('graphexplore.class.count.browser', {count: CLASS_COUNT_THRESHOLD_IE}), $translate.instant('graphexplore.reducing.class.count'));\n }\n\n $timeout(function () {\n $scope.$broadcast('reCalcViewDimensions');\n }, 200);\n\n // set this before the slider is moved by the user as we need it\n setNewCurrentSliderValue();\n\n // Modify the slider with the mouse wheel\n let lastTimeWheel = 0;\n $('rzslider').on('wheel', function (e) {\n e.preventDefault();\n e.stopPropagation();\n\n // at least 100ms must have passed since last time we updated\n const now = new Date().getTime();\n if (now - lastTimeWheel > 100) {\n lastTimeWheel = now;\n } else {\n return;\n }\n\n e = e.originalEvent;\n\n let newValue = $scope.classCountSlider.value;\n if (e.deltaY <= -1) {\n newValue += 1;\n } else if (e.deltaY >= 1) {\n newValue -= 1;\n }\n\n if (newValue !== $scope.classCountSlider.value\n && newValue >= $scope.classCountSlider.options.floor\n && newValue <= $scope.classCountSlider.options.ceil) {\n $scope.$apply(function () {\n $scope.classCountSlider.value = newValue;\n $timeout(setNewCurrentSliderValue, 100, true);\n });\n }\n });\n }\n\n function setNewCurrentSliderValue() {\n $scope.currentSliderValue = $scope.classCountSlider.value;\n }\n\n function goToDomainRangeGraphView(selectedClass) {\n const uri = selectedClass.fullName;\n const name = selectedClass.name;\n\n GraphDataRestService.checkDomainRangeData(uri)\n .success(function (response, status) {\n if (status === 204) {\n toastr.warning($translate.instant('graphexplore.no.domain.range', {name: name}));\n } else {\n LocalStorageAdapter.set(LSKeys.CLASS_HIERARCHY_LAST_SELECTED_CLASS, $location.hash());\n $location\n .hash(\"\")\n .path(\"domain-range-graph\")\n .search(\"uri\", uri)\n .search(\"name\", name);\n }\n }).error(function () {\n toastr.error($translate.instant('graphexplore.error.request.failed', {name: name}));\n });\n }\n\n function onGoToDomainRangeGraphView(event, selectedClass) {\n goToDomainRangeGraphView(selectedClass);\n }\n\n function copyToClipboard(uri) {\n ModalService.openCopyToClipboardModal(uri);\n }\n\n function prepareDataForClassInfoSidePanel(selectedClass) {\n // generate SPARQL query for listing class instances in sparql view\n const uri = selectedClass.fullName;\n let name = selectedClass.name;\n\n // in case of no prefix available both name and uri are the same\n // so only take the local name of the uri a tab name for the SPARQL view\n if (name === uri) {\n const localNameStartIdx = name.lastIndexOf(\"#\");\n name = name.substring(localNameStartIdx + 1);\n }\n $scope.encodedUri = encodeURIComponent(uri);\n\n const query = \"prefix onto:<http://www.ontotext.com/>\\nselect ?s {\\n ?s a <\" + uri + \"> .\\n}\";\n\n const encodedQuery = encodeURIComponent(query);\n\n // generate url for redirecting to sparql view, opening a new tab, writing the generated query and executing it\n $scope.viewInstancesUri = 'sparql?name=' + name + '&infer=true&sameAs=false&query=' + encodedQuery + '&execute=true';\n\n GraphDataRestService.getRdfsLabelAndComment(uri)\n .success(function (response) {\n $scope.rdfsLabel = response.label;\n $scope.rdfsComment = response.comment;\n $scope.expanded = false;\n })\n .error(function () {\n toastr.error(\"Error getting rdfs:label and rdfs:comment\");\n });\n\n // clear instances search input field when changing classes\n $scope.instancesQueryObj.query = '';\n\n // get class instances for selected rdf class\n $scope.instancesLoader = true;\n GraphDataRestService.getClassInstances(uri)\n .success(function (response) {\n $scope.instancesObj.items = [];\n _.each(response, function (value, key) {\n const obj = {};\n // TODO extract in core function isTriple(str)\n obj.type = (value.startsWith(\"<<\") && value.endsWith(\">>\")) ? \"triple\": \"uri\";\n obj.absUri = encodeURIComponent(value);\n obj.absUriNonEncoded = value;\n obj.resolvedUri = key;\n $scope.instancesObj.items.push(obj);\n });\n $scope.instancesLoader = false;\n\n $scope.instancesSearchPlaceholder = $scope.instancesObj.items.length < 1000 ? \"Search class instances\" : \"Search first 1000 class instances\";\n $scope.instancesNotFiltered = $scope.instancesObj.items;\n })\n .error(function () {\n toastr.error($translate.instant('graphexplore.error.instances.request'));\n });\n\n }\n\n function toggleClassInfoSidePanel() {\n $scope.showClassInfoPanel = !$scope.showClassInfoPanel;\n $rootScope.$broadcast('sidePanelClosed');\n }\n\n function getActiveRepositoryNoError() {\n if (!$scope.repositoryError) {\n return $repositories.getActiveRepository();\n }\n }\n\n function isSystemRepository() {\n return $repositories.isSystemRepository();\n }\n\n // Hack needed to force hide prefix toggle tooltip in order not be\n // visible after icon is switched\n $(document).ready(function () {\n $(\".prefix-toggle\").click(function () {\n $(\".tooltip\").hide();\n });\n });\n\n function focusOnRoot() {\n $scope.$broadcast(\"rootFocus\");\n }\n\n function refreshDiagramExternalElements() {\n $location.replace().hash(\"1\");\n\n // clear old instances data from previous repository\n $scope.instancesObj.items = [];\n\n // delete old instance count slider and reinit with classes count values\n // appropriate for the newly activated repository\n $scope.showExternalElements = false;\n\n $scope.showClassInfoPanel = false;\n\n LocalStorageAdapter.clearClassHieararchyState();\n\n // reset all watched scope variables to undefined in order to stop unwanted triggering of watches\n $scope.hidePrefixes = LocalStorageAdapter.get(LSKeys.CLASS_HIERARCHY_HIDE_PREFIXES) === \"true\";\n $scope.currentSliderValue = undefined;\n $scope.classHierarchyData = {};\n\n // clear class search input field\n $rootScope.$broadcast('angucomplete-alt:clearInput');\n }\n\n function fixToolbar() {\n // For some reason angular behaves weirdly with the toolbar and its ng-show. Even though the condition\n // is updated, angular won't remove the ng-hide class and the toolbar will stay hidden.\n // Calling $apply(), $digest() or whatever doesn't help either so we have to resort to this instead.\n // The problem is easy to reproduce when viewing a deeper class and changing the repository.\n if ($scope.hasClassHierarchy()) {\n $timeout(function () {\n $('#toolbar').removeClass('ng-hide');\n }, 0);\n }\n }\n\n function reloadClassHierarchy() {\n refreshDiagramExternalElements();\n $scope.loader = true;\n $scope.hierarchyError = false;\n GraphDataRestService.reloadClassHierarchy(selectedGraph.contextID.uri)\n .success(function (response) {\n $scope.loader = false;\n $scope.classHierarchyData = response;\n fixToolbar();\n initClassCountSlider();\n })\n .error(function (response) {\n $scope.loader = false;\n $scope.hierarchyError = getError(response);\n toastr.error(getError(response), $translate.instant('graphexplore.error.rdf.class.request'));\n });\n }\n\n function confirmReloadClassHierarchy() {\n ModalService.openSimpleModal({\n title: $translate.instant('confirm.operation'),\n message: $translate.instant('graphexplore.calculating.hierarchy'),\n warning: true\n }).result\n .then(function () {\n reloadClassHierarchy();\n });\n }\n\n let currentActiveRepository = $repositories.getActiveRepository();\n function onRepositoryIsSet() {\n if (!$licenseService.isLicenseValid()) {\n return;\n }\n if (currentActiveRepository === $repositories.getActiveRepository()) {\n return;\n } else {\n currentActiveRepository = $repositories.getActiveRepository();\n }\n $scope.repositoryError = null;\n if (!currentActiveRepository) {\n return;\n }\n selectedGraph = allGraphs;\n initView()\n .then(getClassHierarchyData);\n }\n\n function getClassHierarchyData() {\n\n refreshDiagramExternalElements();\n\n if (!$scope.isSystemRepository() && $scope.isLicenseValid()) {\n $scope.hierarchyError = false;\n $scope.loader = true;\n GraphDataRestService.getClassHierarchyData(selectedGraph.contextID.uri)\n .success(function (response, status) {\n $scope.showExternalElements = true;\n $scope.loader = false;\n $scope.classHierarchyData = response;\n if (status === 207) {\n toastr.warning($translate.instant('graphexplore.update.diagram'), $translate.instant('graphexplore.repository.data.changed'));\n }\n fixToolbar();\n }).error(function (response) {\n $scope.loader = false;\n $scope.hierarchyError = getError(response);\n toastr.error(getError(response), $translate.instant('graphexplore.error.rdf.class.request'));\n });\n }\n }\n\n $scope.hasClassHierarchy = function () {\n return $scope.classHierarchyData.classCount && $scope.getActiveRepositoryNoError() && !$scope.isSystemRepository();\n };\n\n $scope.isLicenseValid = function () {\n return $licenseService.isLicenseValid();\n };\n\n\n $scope.chosenGraph = function (graph) {\n selectedGraph = graph;\n getClassHierarchyData();\n LocalStorageAdapter.set(`classHierarchy-selectedGraph-${$repositories.getActiveRepository()}`, selectedGraph);\n };\n\n $scope.getSelGraphValue = function () {\n return selectedGraph.contextID.value;\n };\n\n $scope.isAllGraphsSelected = function () {\n return $scope.getSelGraphValue() === 'all.graphs.label'\n }\n}\n"],"sourceRoot":""}
|