graphdb-workbench 2.0.0-TR8 → 2.0.0-TR9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (155) hide show
  1. package/README.md +6 -1
  2. package/dist/114.282a327015f8ae87918b.bundle.js +1 -1
  3. package/dist/114.282a327015f8ae87918b.bundle.js.map +1 -1
  4. package/dist/{12.60db051e76264d3f95b2.bundle.js → 12.5d4da897bdd91e8808fa.bundle.js} +2 -2
  5. package/dist/12.5d4da897bdd91e8808fa.bundle.js.map +1 -0
  6. package/dist/13.f62fa8acc6e68826e07a.bundle.js +4 -0
  7. package/dist/13.f62fa8acc6e68826e07a.bundle.js.map +1 -0
  8. package/dist/{14.7e9059b5c9c57d952e47.bundle.js → 14.349458c1675f763995a5.bundle.js} +2 -2
  9. package/dist/{14.7e9059b5c9c57d952e47.bundle.js.map → 14.349458c1675f763995a5.bundle.js.map} +1 -1
  10. package/dist/{15.02ad5872995df6d6692a.bundle.js → 15.ebce70c05fd90026747b.bundle.js} +2 -2
  11. package/dist/{15.02ad5872995df6d6692a.bundle.js.map → 15.ebce70c05fd90026747b.bundle.js.map} +1 -1
  12. package/dist/{17.8bfbe7d08efa149bdb00.bundle.js → 17.f01afdf3b3892d73a3fe.bundle.js} +2 -2
  13. package/dist/{17.8bfbe7d08efa149bdb00.bundle.js.map → 17.f01afdf3b3892d73a3fe.bundle.js.map} +1 -1
  14. package/dist/{18.5514f95535bdd2a71d6e.bundle.js → 18.10f65755b64a6534289e.bundle.js} +2 -2
  15. package/dist/{18.5514f95535bdd2a71d6e.bundle.js.map → 18.10f65755b64a6534289e.bundle.js.map} +1 -1
  16. package/dist/{21.e75213686a349ae7df89.bundle.js → 21.b6bf0d54a846411501c7.bundle.js} +2 -2
  17. package/dist/{21.e75213686a349ae7df89.bundle.js.map → 21.b6bf0d54a846411501c7.bundle.js.map} +1 -1
  18. package/dist/22.e8167eba683605211409.bundle.js +2 -0
  19. package/dist/22.e8167eba683605211409.bundle.js.map +1 -0
  20. package/dist/{23.32f2701680565c5d107b.bundle.js → 23.e3ca5b7bb2cee4f9467f.bundle.js} +3 -3
  21. package/dist/{23.32f2701680565c5d107b.bundle.js.map → 23.e3ca5b7bb2cee4f9467f.bundle.js.map} +1 -1
  22. package/dist/{24.8dd957168a8be963b393.bundle.js → 24.d5ea0f435b896dc12709.bundle.js} +2 -2
  23. package/dist/{24.8dd957168a8be963b393.bundle.js.map → 24.d5ea0f435b896dc12709.bundle.js.map} +1 -1
  24. package/dist/{25.cbe8e59c80330ff6e706.bundle.js → 25.5b3feb79a7be0ca1f4ad.bundle.js} +2 -2
  25. package/dist/{25.cbe8e59c80330ff6e706.bundle.js.map → 25.5b3feb79a7be0ca1f4ad.bundle.js.map} +1 -1
  26. package/dist/26.c4983d9f3009f41beb11.bundle.js +2 -0
  27. package/dist/26.c4983d9f3009f41beb11.bundle.js.map +1 -0
  28. package/dist/{26.67154910989ca1f563ec.bundle.js → 27.04085d1d15db39ca4a36.bundle.js} +2 -2
  29. package/dist/{26.67154910989ca1f563ec.bundle.js.map → 27.04085d1d15db39ca4a36.bundle.js.map} +1 -1
  30. package/dist/{28.b1c15ce7633c501836c5.bundle.js → 28.57b84065ebe40bb45f72.bundle.js} +2 -2
  31. package/dist/{28.b1c15ce7633c501836c5.bundle.js.map → 28.57b84065ebe40bb45f72.bundle.js.map} +1 -1
  32. package/dist/{29.66259b8a21bbb5431a06.bundle.js → 29.959ae6b366d15d0ddea9.bundle.js} +2 -2
  33. package/dist/{29.66259b8a21bbb5431a06.bundle.js.map → 29.959ae6b366d15d0ddea9.bundle.js.map} +1 -1
  34. package/dist/{3.9eb2c7cced9d8b971c99.bundle.js → 3.26d967229917c7c5cdfb.bundle.js} +2 -2
  35. package/dist/{3.9eb2c7cced9d8b971c99.bundle.js.map → 3.26d967229917c7c5cdfb.bundle.js.map} +1 -1
  36. package/dist/{31.d810abed46d7c73ade7f.bundle.js → 31.c808da656c9ee6b7e84e.bundle.js} +2 -2
  37. package/dist/{31.d810abed46d7c73ade7f.bundle.js.map → 31.c808da656c9ee6b7e84e.bundle.js.map} +1 -1
  38. package/dist/{32.4f4c8e24d97a9d315335.bundle.js → 32.92b02260015995b4f777.bundle.js} +2 -2
  39. package/dist/{32.4f4c8e24d97a9d315335.bundle.js.map → 32.92b02260015995b4f777.bundle.js.map} +1 -1
  40. package/dist/{33.c670eeb3a325251e141f.bundle.js → 33.479162c943ca9a1982aa.bundle.js} +2 -2
  41. package/dist/{33.c670eeb3a325251e141f.bundle.js.map → 33.479162c943ca9a1982aa.bundle.js.map} +1 -1
  42. package/dist/{35.b9183a8ffba2bbd8daa1.bundle.js → 35.9c81c96cc1621f9468aa.bundle.js} +2 -2
  43. package/dist/{35.b9183a8ffba2bbd8daa1.bundle.js.map → 35.9c81c96cc1621f9468aa.bundle.js.map} +1 -1
  44. package/dist/{36.d444f7ad7724d126da1c.bundle.js → 36.cee947247d32cdcec00e.bundle.js} +2 -2
  45. package/dist/{36.d444f7ad7724d126da1c.bundle.js.map → 36.cee947247d32cdcec00e.bundle.js.map} +1 -1
  46. package/dist/{37.e82ed70c9f1ccac1fa36.bundle.js → 37.42e443af5752a63a28fe.bundle.js} +2 -2
  47. package/dist/{37.e82ed70c9f1ccac1fa36.bundle.js.map → 37.42e443af5752a63a28fe.bundle.js.map} +1 -1
  48. package/dist/{38.93c5a81548a3294efd9d.bundle.js → 38.5fff5c171cdd2563aad1.bundle.js} +2 -2
  49. package/dist/{38.93c5a81548a3294efd9d.bundle.js.map → 38.5fff5c171cdd2563aad1.bundle.js.map} +1 -1
  50. package/dist/{39.30dddbc6461137994eb4.bundle.js → 39.91c49550b6e2d11104fa.bundle.js} +2 -2
  51. package/dist/{39.30dddbc6461137994eb4.bundle.js.map → 39.91c49550b6e2d11104fa.bundle.js.map} +1 -1
  52. package/dist/4.786e6f1de67e5c6289a3.bundle.js +2 -0
  53. package/dist/4.786e6f1de67e5c6289a3.bundle.js.map +1 -0
  54. package/dist/{40.ae6db480b8323937451c.bundle.js → 40.a7e0220eb0c8a125abde.bundle.js} +2 -2
  55. package/dist/{40.ae6db480b8323937451c.bundle.js.map → 40.a7e0220eb0c8a125abde.bundle.js.map} +1 -1
  56. package/dist/41.1258b9502ba9383894d7.bundle.js +2 -0
  57. package/dist/{41.ba8cb2fb7f46ccb2ab28.bundle.js.map → 41.1258b9502ba9383894d7.bundle.js.map} +1 -1
  58. package/dist/{43.8d096939ee87946076e0.bundle.js → 43.86f9220f4f79feec5b27.bundle.js} +2 -2
  59. package/dist/{43.8d096939ee87946076e0.bundle.js.map → 43.86f9220f4f79feec5b27.bundle.js.map} +1 -1
  60. package/dist/{47.92a64d48c14c1ae82934.bundle.js → 47.fca0edd51becf34c06b7.bundle.js} +2 -2
  61. package/dist/{47.92a64d48c14c1ae82934.bundle.js.map → 47.fca0edd51becf34c06b7.bundle.js.map} +1 -1
  62. package/dist/{48.4b57a948edab2d3b9c55.bundle.js → 48.e495edf3c48e1b2fc052.bundle.js} +2 -2
  63. package/dist/{48.4b57a948edab2d3b9c55.bundle.js.map → 48.e495edf3c48e1b2fc052.bundle.js.map} +1 -1
  64. package/dist/{53.4b8ed1b79c1c20cdadd4.bundle.js → 53.c29678970b0cb8aa4b47.bundle.js} +2 -2
  65. package/dist/{53.4b8ed1b79c1c20cdadd4.bundle.js.map → 53.c29678970b0cb8aa4b47.bundle.js.map} +1 -1
  66. package/dist/{55.751acc0e54255fa3ace7.bundle.js → 55.427172af3ba7612f747a.bundle.js} +2 -2
  67. package/dist/{55.751acc0e54255fa3ace7.bundle.js.map → 55.427172af3ba7612f747a.bundle.js.map} +1 -1
  68. package/dist/{57.677c1eebf6a003639fff.bundle.js → 57.41b09f5fa3ee623aab83.bundle.js} +2 -2
  69. package/dist/{57.677c1eebf6a003639fff.bundle.js.map → 57.41b09f5fa3ee623aab83.bundle.js.map} +1 -1
  70. package/dist/{58.2c460e480eefb1a02aea.bundle.js → 58.ce5a29dded68f58c53b4.bundle.js} +2 -2
  71. package/dist/{58.2c460e480eefb1a02aea.bundle.js.map → 58.ce5a29dded68f58c53b4.bundle.js.map} +1 -1
  72. package/dist/{59.b8e9155530acba27a6fa.bundle.js → 59.10efdeff3a8ef9e5733d.bundle.js} +2 -2
  73. package/dist/{59.b8e9155530acba27a6fa.bundle.js.map → 59.10efdeff3a8ef9e5733d.bundle.js.map} +1 -1
  74. package/dist/{60.27e731a670680751538c.bundle.js → 60.97fb695857f6241ae612.bundle.js} +2 -2
  75. package/dist/{60.27e731a670680751538c.bundle.js.map → 60.97fb695857f6241ae612.bundle.js.map} +1 -1
  76. package/dist/{61.fce8a2436742c2e20032.bundle.js → 61.5d71ec3fe0cda230482b.bundle.js} +2 -2
  77. package/dist/{61.fce8a2436742c2e20032.bundle.js.map → 61.5d71ec3fe0cda230482b.bundle.js.map} +1 -1
  78. package/dist/{62.9e101a1894ee0f9a48be.bundle.js → 62.d53d104f74f9fbdacb35.bundle.js} +2 -2
  79. package/dist/{62.9e101a1894ee0f9a48be.bundle.js.map → 62.d53d104f74f9fbdacb35.bundle.js.map} +1 -1
  80. package/dist/{63.3ffdfd6f35fe62ea729c.bundle.js → 63.46514dd9cf756bd0e831.bundle.js} +2 -2
  81. package/dist/{63.3ffdfd6f35fe62ea729c.bundle.js.map → 63.46514dd9cf756bd0e831.bundle.js.map} +1 -1
  82. package/dist/{65.96a1f2f3c83a29e2c6c3.bundle.js → 65.401f44aaddb8aec6be1e.bundle.js} +2 -2
  83. package/dist/{65.96a1f2f3c83a29e2c6c3.bundle.js.map → 65.401f44aaddb8aec6be1e.bundle.js.map} +1 -1
  84. package/dist/{66.cf37216fb6f8e53cef2b.bundle.js → 66.7a1e4093247d23b65387.bundle.js} +2 -2
  85. package/dist/{66.cf37216fb6f8e53cef2b.bundle.js.map → 66.7a1e4093247d23b65387.bundle.js.map} +1 -1
  86. package/dist/{69.60ff11762016829be80d.bundle.js → 69.1944a1afebe9115c9262.bundle.js} +2 -2
  87. package/dist/{69.60ff11762016829be80d.bundle.js.map → 69.1944a1afebe9115c9262.bundle.js.map} +1 -1
  88. package/dist/{70.f86421bf02a9bfda5b95.bundle.js → 70.84500509fe2b0d19ab93.bundle.js} +2 -2
  89. package/dist/{70.f86421bf02a9bfda5b95.bundle.js.map → 70.84500509fe2b0d19ab93.bundle.js.map} +1 -1
  90. package/dist/{76.fa9e5d02f7e1367b9b29.bundle.js → 76.2fa18e115678c4e24682.bundle.js} +2 -2
  91. package/dist/{76.fa9e5d02f7e1367b9b29.bundle.js.map → 76.2fa18e115678c4e24682.bundle.js.map} +1 -1
  92. package/dist/{8.66013fc0c58811b51903.bundle.js → 8.7209929899c18f8a4580.bundle.js} +2 -2
  93. package/dist/{8.66013fc0c58811b51903.bundle.js.map → 8.7209929899c18f8a4580.bundle.js.map} +1 -1
  94. package/dist/{80.37504cf0c1e5ad897478.bundle.js → 80.83e56da7d7a69fc34eed.bundle.js} +2 -2
  95. package/dist/{80.37504cf0c1e5ad897478.bundle.js.map → 80.83e56da7d7a69fc34eed.bundle.js.map} +1 -1
  96. package/dist/{82.9b4d4dc326055aa47e04.bundle.js → 82.74d50036c210cb10b7f5.bundle.js} +2 -2
  97. package/dist/{82.9b4d4dc326055aa47e04.bundle.js.map → 82.74d50036c210cb10b7f5.bundle.js.map} +1 -1
  98. package/dist/{84.fab513b88806deb0981a.bundle.js → 84.7f42dd9d7dc01baaf465.bundle.js} +2 -2
  99. package/dist/{84.fab513b88806deb0981a.bundle.js.map → 84.7f42dd9d7dc01baaf465.bundle.js.map} +1 -1
  100. package/dist/{86.b319a8b9fcabecd7a6c7.bundle.js → 86.581cbc54b6c6b6ea9f19.bundle.js} +2 -2
  101. package/dist/{86.b319a8b9fcabecd7a6c7.bundle.js.map → 86.581cbc54b6c6b6ea9f19.bundle.js.map} +1 -1
  102. package/dist/{87.765567c0cbe89cbdb03c.bundle.js → 87.3606797303ead8dc2879.bundle.js} +2 -2
  103. package/dist/{87.765567c0cbe89cbdb03c.bundle.js.map → 87.3606797303ead8dc2879.bundle.js.map} +1 -1
  104. package/dist/{88.50c46652774325bffad3.bundle.js → 88.f5b8f83e57c9bea3c137.bundle.js} +2 -2
  105. package/dist/{88.50c46652774325bffad3.bundle.js.map → 88.f5b8f83e57c9bea3c137.bundle.js.map} +1 -1
  106. package/dist/{89.91c58e1902b0f444b068.bundle.js → 89.f9b4c4ddff2c0b5b70f7.bundle.js} +2 -2
  107. package/dist/{89.91c58e1902b0f444b068.bundle.js.map → 89.f9b4c4ddff2c0b5b70f7.bundle.js.map} +1 -1
  108. package/dist/{9.16a945b967e9a52bf535.bundle.js → 9.6a95a5c1eec963050422.bundle.js} +2 -2
  109. package/dist/{9.16a945b967e9a52bf535.bundle.js.map → 9.6a95a5c1eec963050422.bundle.js.map} +1 -1
  110. package/dist/{90.e12e77898d6341e59d8f.bundle.js → 90.4d42ba583fbc1d63d3d2.bundle.js} +2 -2
  111. package/dist/{90.e12e77898d6341e59d8f.bundle.js.map → 90.4d42ba583fbc1d63d3d2.bundle.js.map} +1 -1
  112. package/dist/95.1f83b03f48326a6cec45.bundle.js +2 -0
  113. package/dist/{95.decfcd3477dee353025b.bundle.js.map → 95.1f83b03f48326a6cec45.bundle.js.map} +1 -1
  114. package/dist/{bundle.e787556c9b592367c35c.bundle.js → bundle.1a982e7b3e2d9d06a802.bundle.js} +5 -5
  115. package/dist/{bundle.e787556c9b592367c35c.bundle.js.map → bundle.1a982e7b3e2d9d06a802.bundle.js.map} +1 -1
  116. package/dist/index.html +3 -3
  117. package/dist/js/angular/core/directives/rdfresourcesearch/templates/rdfResourceSearchTemplate.html +1 -1
  118. package/dist/pages/autocomplete.html +1 -1
  119. package/dist/pages/choose-repository-type.html +1 -1
  120. package/dist/pages/clusterInfo.html +1 -1
  121. package/dist/pages/create-index.html +4 -4
  122. package/dist/pages/dependencies.html +1 -1
  123. package/dist/pages/domainRangeInfo.html +2 -2
  124. package/dist/pages/edit.html +1 -1
  125. package/dist/pages/explore.html +1 -1
  126. package/dist/pages/export.html +1 -1
  127. package/dist/pages/find.html +1 -1
  128. package/dist/pages/graph-config/saveGraphConfig.html +11 -11
  129. package/dist/pages/graphs-visualizations.html +14 -8
  130. package/dist/pages/import.html +1 -1
  131. package/dist/pages/jdbc-create.html +5 -5
  132. package/dist/pages/monitor/queries.html +1 -1
  133. package/dist/pages/monitor/resources.html +2 -2
  134. package/dist/pages/namespaces.html +2 -2
  135. package/dist/pages/rdfClassHierarchyInfo.html +7 -7
  136. package/dist/pages/rdfrank.html +2 -2
  137. package/dist/pages/repositories.html +2 -2
  138. package/dist/pages/repository.html +2 -2
  139. package/dist/pages/similarity-indexes.html +1 -1
  140. package/dist/pages/sparql-template-create.html +5 -5
  141. package/dist/pages/sparql.html +3 -3
  142. package/dist/pages/webapi.html +2 -2
  143. package/dist/res/swagger/index.html +25 -25
  144. package/package.json +1 -1
  145. package/dist/12.60db051e76264d3f95b2.bundle.js.map +0 -1
  146. package/dist/13.1419a81a33174950a34c.bundle.js +0 -4
  147. package/dist/13.1419a81a33174950a34c.bundle.js.map +0 -1
  148. package/dist/22.a3b52347055f1adac9ce.bundle.js +0 -2
  149. package/dist/22.a3b52347055f1adac9ce.bundle.js.map +0 -1
  150. package/dist/27.61bd08d0e926fe471a91.bundle.js +0 -2
  151. package/dist/27.61bd08d0e926fe471a91.bundle.js.map +0 -1
  152. package/dist/4.6a8bdb4c9048dd910bfd.bundle.js +0 -2
  153. package/dist/4.6a8bdb4c9048dd910bfd.bundle.js.map +0 -1
  154. package/dist/41.ba8cb2fb7f46ccb2ab28.bundle.js +0 -2
  155. package/dist/95.decfcd3477dee353025b.bundle.js +0 -2
@@ -1 +1 @@
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","timer","status","getActiveRepository","STATUS","WAIT","NO_REPO","selectedGraph","initView","resolveGraphs","success","graphsInRepo","results","bindings","setSelectedGraphFromCache","isSystemRepository","getRelationshipsStatus","error","data","repositoryError","getError","selGraphFromCache","get","some","graph","set","getRelationshipsData","selectedClasses","d3","select","html","direction","matrixData","dependenciesData","matrix","right","nodes","left","hasLinks","_","sum","map","arr","READY","force","IN_PROGRESS","cancel","getRelationshipsClasses","classesData","allClasses","items","filter","classFilterFunc","allNotFilteredClasses","undefined","angular","isUndefined","slice","warning","indexOf","ERROR","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":"57.677c1eebf6a003639fff.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\",\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'];\n\nfunction DependenciesChordCtrl($scope, $rootScope, $repositories, toastr, $timeout, GraphDataRestService, UiScrollService, ModalService, LocalStorageAdapter, RDF4JRepositoriesRestService) {\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), 'Error getting graphs');\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), 'Could not get 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('You can update the diagram by pressing the reload button.', 'Repository data has 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('There was an error while calculating dependencies: ' + $scope.status.substring('ERROR;'.length));\n }\n })\n .error(function (data) {\n $scope.status = STATUS.ERROR;\n toastr.error(getError(data), 'Could not get 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: 'Confirm operation',\n message: 'Calculating relationships data may take some time. Are you sure?',\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('There was an error while calculating dependencies: ' + data.substring('ERROR;'.length));\n } else {\n getRelationshipsStatus();\n }\n })\n .error(function (data) {\n toastr.error('Could not force dependencies count' + 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'\n }\n}\n"],"sourceRoot":""}
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","timer","status","getActiveRepository","STATUS","WAIT","NO_REPO","selectedGraph","initView","resolveGraphs","success","graphsInRepo","results","bindings","setSelectedGraphFromCache","isSystemRepository","getRelationshipsStatus","error","data","repositoryError","getError","selGraphFromCache","get","some","graph","set","getRelationshipsData","selectedClasses","d3","select","html","direction","matrixData","dependenciesData","matrix","right","nodes","left","hasLinks","_","sum","map","arr","READY","force","IN_PROGRESS","cancel","getRelationshipsClasses","classesData","allClasses","items","filter","classFilterFunc","allNotFilteredClasses","undefined","angular","isUndefined","slice","warning","indexOf","ERROR","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":"57.41b09f5fa3ee623aab83.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\",\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'];\n\nfunction DependenciesChordCtrl($scope, $rootScope, $repositories, toastr, $timeout, GraphDataRestService, UiScrollService, ModalService, LocalStorageAdapter, RDF4JRepositoriesRestService) {\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), 'Error getting graphs');\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), 'Could not get 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('You can update the diagram by pressing the reload button.', 'Repository data has 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('There was an error while calculating dependencies: ' + $scope.status.substring('ERROR;'.length));\n }\n })\n .error(function (data) {\n $scope.status = STATUS.ERROR;\n toastr.error(getError(data), 'Could not get 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: 'Confirm operation',\n message: 'Calculating relationships data may take some time. Are you sure?',\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('There was an error while calculating dependencies: ' + data.substring('ERROR;'.length));\n } else {\n getRelationshipsStatus();\n }\n })\n .error(function (data) {\n toastr.error('Could not force dependencies count' + 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'\n }\n}\n"],"sourceRoot":""}
@@ -1,2 +1,2 @@
1
- (window.webpackJsonp=window.webpackJsonp||[]).push([[58],{54:function(e,o,t){"use strict";t.r(o);t(4);function r(e,o,t,r,a,i,c,s,n,d,l,p){e.predicatesObj={},e.predicatesQueryObj={},e.predicatesObj.items=[],e.predicatesQueryObj.query="",e.predicatesListNotFiltered=[],e.predicatesSearchPlaceholder="Search predicates",e.onopen=e.onclose=()=>angular.noop();const u={};let g=0,m=0;t.key="",u.get=function(o,t,r){return d.initLazyList(o,t,r,g,e.predicatesObj.items)},t.$watch((function(){return t.key}),(function(){g=0,_.each(e.predicatesObj.items,(function(e){t.key>e&&g++})),m++})),u.revision=function(){return m},e.adapterContainer={adapter:{remain:!0}};const b=c.get(s.DOMAIN_RANGE_COLLAPSE_EDGES);function h(){const e=c.get(s.CLASS_HIERARCHY_LAST_SELECTED_CLASS);o.search("").hash(e).path("hierarchy")}e.collapseEdges=null===b||"true"===b,e.datasource=u,e.$on("reloadDomainRangeGraphView",(function(e,t){const r=t.objectPropClassUri,a=t.objectPropClassName;o.path("domain-range-graph").search("uri",r).search("name",a)})),e.$on("switchEdgeMode",(function(e,t){o.path("domain-range-graph").search("uri",t.uri).search("name",t.name).search("collapsed",t.collapsed)})),e.$on("repositoryIsSet",(function(){if(f===a.getActiveRepository())return;f=a.getActiveRepository();h()})),e.$on("changeCollapsedEdgesState",(function(o,t){e.collapseEdges=!t,c.set(s.DOMAIN_RANGE_COLLAPSE_EDGES,e.collapseEdges)})),e.goToClassHierarchyView=h,e.copyToClipboard=function(e){l.openCopyToClipboardModal(e)},e.toggleCollapseEdgesState=function(){e.collapseEdges=!e.collapseEdges,i.history.pushState({collapsed:e.collapseEdges},"domainRangePage",null)},e.predicatesListFilterFunc=function(o){return o.resolvedUri.toLowerCase().indexOf(e.predicatesQueryObj.query.toLowerCase())>=0},e.$watch("predicatesObj.items",(function(){e.predicatesObj.items>0&&r((function(){e.adapterContainer.adapter.reload()}),30)})),e.$watch("selectedPredicate",(function(){e.showPredicatesInfoPanel&&function(o){const t=o.target,r=o.source;e.encodedUri=encodeURIComponent(o.uri),e.sourceTargetObjectNodeUri=t.objectPropClassUri?t.objectPropClassUri:r.objectPropClassUri,e.encodedSourceTargetObjectNodeUri=encodeURIComponent(e.sourceTargetObjectNodeUri),e.sourceTargetObjectNodeName=t.objectPropClassName?t.objectPropClassName:r.objectPropClassName?r.objectPropClassName:"<i>Literal</i>",-1===e.sourceTargetObjectNodeName.indexOf("Literal")?n.getRdfsLabelAndComment(e.sourceTargetObjectNodeUri).success((function(o){e.rdfsLabel=o.label,e.rdfsComment=o.comment})).error((function(){p.error("Error getting rdfs:label and rdfs:comment")})):(e.rdfsComment=void 0,e.rdfsLabel=void 0);e.predicatesObj.items=[],e.predicatesQueryObj.query="";const a=t.allEdges?t.allEdges:r.allEdges;_.each(a,(function(o){const t={};t.absUri=encodeURIComponent(o.uri),t.absUriNonEncoded=o.uri,t.resolvedUri=o.name,t.isImplicit=o.implicit,e.predicatesObj.items.push(t)})),e.predicatesListNotFiltered=e.predicatesObj.items}(e.selectedPredicate)})),$(document).ready((function(){$(".compact-mode-toggle").click((function(){$(".tooltip").hide()}))}));let f=a.getActiveRepository()}angular.module("graphdb.framework.graphexplore.controllers.domainrange",["ui.scroll.jqlite","ui.scroll","ngSanitize","graphdb.framework.utils.localstorageadapter"]).controller("DomainRangeGraphCtlr",r),r.$inject=["$scope","$location","$rootScope","$timeout","$repositories","$window","LocalStorageAdapter","LSKeys","GraphDataRestService","UiScrollService","ModalService","toastr"]}}]);
2
- //# sourceMappingURL=58.2c460e480eefb1a02aea.bundle.js.map
1
+ (window.webpackJsonp=window.webpackJsonp||[]).push([[58],{55:function(e,o,t){"use strict";t.r(o);t(4);function r(e,o,t,r,a,i,c,s,n,d,l,p){e.predicatesObj={},e.predicatesQueryObj={},e.predicatesObj.items=[],e.predicatesQueryObj.query="",e.predicatesListNotFiltered=[],e.predicatesSearchPlaceholder="Search predicates",e.onopen=e.onclose=()=>angular.noop();const u={};let g=0,m=0;t.key="",u.get=function(o,t,r){return d.initLazyList(o,t,r,g,e.predicatesObj.items)},t.$watch((function(){return t.key}),(function(){g=0,_.each(e.predicatesObj.items,(function(e){t.key>e&&g++})),m++})),u.revision=function(){return m},e.adapterContainer={adapter:{remain:!0}};const b=c.get(s.DOMAIN_RANGE_COLLAPSE_EDGES);function h(){const e=c.get(s.CLASS_HIERARCHY_LAST_SELECTED_CLASS);o.search("").hash(e).path("hierarchy")}e.collapseEdges=null===b||"true"===b,e.datasource=u,e.$on("reloadDomainRangeGraphView",(function(e,t){const r=t.objectPropClassUri,a=t.objectPropClassName;o.path("domain-range-graph").search("uri",r).search("name",a)})),e.$on("switchEdgeMode",(function(e,t){o.path("domain-range-graph").search("uri",t.uri).search("name",t.name).search("collapsed",t.collapsed)})),e.$on("repositoryIsSet",(function(){if(f===a.getActiveRepository())return;f=a.getActiveRepository();h()})),e.$on("changeCollapsedEdgesState",(function(o,t){e.collapseEdges=!t,c.set(s.DOMAIN_RANGE_COLLAPSE_EDGES,e.collapseEdges)})),e.goToClassHierarchyView=h,e.copyToClipboard=function(e){l.openCopyToClipboardModal(e)},e.toggleCollapseEdgesState=function(){e.collapseEdges=!e.collapseEdges,i.history.pushState({collapsed:e.collapseEdges},"domainRangePage",null)},e.predicatesListFilterFunc=function(o){return o.resolvedUri.toLowerCase().indexOf(e.predicatesQueryObj.query.toLowerCase())>=0},e.$watch("predicatesObj.items",(function(){e.predicatesObj.items>0&&r((function(){e.adapterContainer.adapter.reload()}),30)})),e.$watch("selectedPredicate",(function(){e.showPredicatesInfoPanel&&function(o){const t=o.target,r=o.source;e.encodedUri=encodeURIComponent(o.uri),e.sourceTargetObjectNodeUri=t.objectPropClassUri?t.objectPropClassUri:r.objectPropClassUri,e.encodedSourceTargetObjectNodeUri=encodeURIComponent(e.sourceTargetObjectNodeUri),e.sourceTargetObjectNodeName=t.objectPropClassName?t.objectPropClassName:r.objectPropClassName?r.objectPropClassName:"<i>Literal</i>",-1===e.sourceTargetObjectNodeName.indexOf("Literal")?n.getRdfsLabelAndComment(e.sourceTargetObjectNodeUri).success((function(o){e.rdfsLabel=o.label,e.rdfsComment=o.comment})).error((function(){p.error("Error getting rdfs:label and rdfs:comment")})):(e.rdfsComment=void 0,e.rdfsLabel=void 0);e.predicatesObj.items=[],e.predicatesQueryObj.query="";const a=t.allEdges?t.allEdges:r.allEdges;_.each(a,(function(o){const t={};t.absUri=encodeURIComponent(o.uri),t.absUriNonEncoded=o.uri,t.resolvedUri=o.name,t.isImplicit=o.implicit,e.predicatesObj.items.push(t)})),e.predicatesListNotFiltered=e.predicatesObj.items}(e.selectedPredicate)})),$(document).ready((function(){$(".compact-mode-toggle").click((function(){$(".tooltip").hide()}))}));let f=a.getActiveRepository()}angular.module("graphdb.framework.graphexplore.controllers.domainrange",["ui.scroll.jqlite","ui.scroll","ngSanitize","graphdb.framework.utils.localstorageadapter"]).controller("DomainRangeGraphCtlr",r),r.$inject=["$scope","$location","$rootScope","$timeout","$repositories","$window","LocalStorageAdapter","LSKeys","GraphDataRestService","UiScrollService","ModalService","toastr"]}}]);
2
+ //# sourceMappingURL=58.ce5a29dded68f58c53b4.bundle.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["webpack:///./src/js/angular/graphexplore/controllers/domain-range-graph.controller.js"],"names":["DomainRangeGraphCtlr","$scope","$location","$rootScope","$timeout","$repositories","$window","LocalStorageAdapter","LSKeys","GraphDataRestService","UiScrollService","ModalService","toastr","predicatesObj","predicatesQueryObj","items","query","predicatesListNotFiltered","predicatesSearchPlaceholder","onopen","onclose","angular","noop","datasource","position","current","key","get","index","count","success","initLazyList","$watch","_","each","item","revision","adapterContainer","adapter","remain","doCollapseEdges","DOMAIN_RANGE_COLLAPSE_EDGES","goToClassHierarchyView","lastSelectedClass","CLASS_HIERARCHY_LAST_SELECTED_CLASS","search","hash","path","collapseEdges","$on","event","selectedClass","uri","objectPropClassUri","name","objectPropClassName","collapsed","currentActiveRepository","getActiveRepository","set","copyToClipboard","openCopyToClipboardModal","toggleCollapseEdgesState","history","pushState","predicatesListFilterFunc","pred","resolvedUri","toLowerCase","indexOf","reload","showPredicatesInfoPanel","selectedPredicate","targetNode","target","sourceNode","source","encodedUri","encodeURIComponent","sourceTargetObjectNodeUri","encodedSourceTargetObjectNodeUri","sourceTargetObjectNodeName","getRdfsLabelAndComment","response","rdfsLabel","label","rdfsComment","comment","error","undefined","allEdges","obj","absUri","absUriNonEncoded","isImplicit","implicit","push","prepareDataForPredicatesInfoSidePanel","$","document","ready","click","hide","module","controller","$inject"],"mappings":"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","file":"58.2c460e480eefb1a02aea.bundle.js","sourcesContent":["import 'angular/utils/local-storage-adapter';\n\nangular\n .module('graphdb.framework.graphexplore.controllers.domainrange', [\n 'ui.scroll.jqlite',\n 'ui.scroll',\n 'ngSanitize',\n 'graphdb.framework.utils.localstorageadapter'\n ])\n .controller('DomainRangeGraphCtlr', DomainRangeGraphCtlr);\n\nDomainRangeGraphCtlr.$inject = ['$scope', '$location', '$rootScope', '$timeout', '$repositories', '$window', 'LocalStorageAdapter', 'LSKeys', 'GraphDataRestService', 'UiScrollService', 'ModalService', 'toastr'];\n\nfunction DomainRangeGraphCtlr($scope, $location, $rootScope, $timeout, $repositories, $window, LocalStorageAdapter, LSKeys, GraphDataRestService, UiScrollService, ModalService, toastr) {\n $scope.predicatesObj = {};\n $scope.predicatesQueryObj = {};\n $scope.predicatesObj.items = [];\n $scope.predicatesQueryObj.query = '';\n $scope.predicatesListNotFiltered = [];\n $scope.predicatesSearchPlaceholder = 'Search predicates';\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 // creating datasource for predicates 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.predicatesObj.items);\n };\n $rootScope.$watch(function () {\n return $rootScope.key;\n }, function () {\n position = 0;\n _.each($scope.predicatesObj.items, function (item) {\n if ($rootScope.key > item) position++;\n });\n current++;\n });\n\n datasource.revision = function () {\n return current;\n };\n\n // adapter implementation for ui-scroll directive\n $scope.adapterContainer = {adapter: {remain: true}};\n\n\n const doCollapseEdges = LocalStorageAdapter.get(LSKeys.DOMAIN_RANGE_COLLAPSE_EDGES);\n if (doCollapseEdges === null) {\n $scope.collapseEdges = true;\n } else {\n $scope.collapseEdges = doCollapseEdges === 'true';\n }\n\n $scope.datasource = datasource;\n\n $scope.$on('reloadDomainRangeGraphView', reloadDomainRangeGraphView);\n $scope.$on('switchEdgeMode', switchEdgeMode);\n $scope.$on('repositoryIsSet', onRepositoryIsSet);\n $scope.$on('changeCollapsedEdgesState', function (event, collapsed) {\n $scope.collapseEdges = !collapsed;\n LocalStorageAdapter.set(LSKeys.DOMAIN_RANGE_COLLAPSE_EDGES, $scope.collapseEdges);\n });\n\n $scope.goToClassHierarchyView = goToClassHierarchyView;\n $scope.copyToClipboard = copyToClipboard;\n $scope.toggleCollapseEdgesState = toggleCollapseEdgesState;\n $scope.predicatesListFilterFunc = predicatesListFilterFunc;\n\n $scope.$watch('predicatesObj.items', function () {\n if ($scope.predicatesObj.items > 0) {\n $timeout(function () {\n $scope.adapterContainer.adapter.reload();\n }, 30);\n }\n });\n\n $scope.$watch('selectedPredicate', function () {\n if ($scope.showPredicatesInfoPanel) {\n prepareDataForPredicatesInfoSidePanel($scope.selectedPredicate);\n }\n });\n\n function predicatesListFilterFunc(pred) {\n return pred.resolvedUri\n .toLowerCase()\n .indexOf($scope.predicatesQueryObj.query.toLowerCase()) >= 0;\n }\n\n function prepareDataForPredicatesInfoSidePanel(selectedPredicate) {\n const targetNode = selectedPredicate.target;\n const sourceNode = selectedPredicate.source;\n\n $scope.encodedUri = encodeURIComponent(selectedPredicate.uri);\n\n $scope.sourceTargetObjectNodeUri = targetNode.objectPropClassUri\n ? targetNode.objectPropClassUri\n : sourceNode.objectPropClassUri;\n\n $scope.encodedSourceTargetObjectNodeUri = encodeURIComponent($scope.sourceTargetObjectNodeUri);\n\n $scope.sourceTargetObjectNodeName = targetNode.objectPropClassName\n ? targetNode.objectPropClassName\n : sourceNode.objectPropClassName\n ? sourceNode.objectPropClassName\n : '<i>Literal</i>';\n\n if ($scope.sourceTargetObjectNodeName.indexOf('Literal') === -1) {\n GraphDataRestService.getRdfsLabelAndComment($scope.sourceTargetObjectNodeUri)\n .success(function (response) {\n $scope.rdfsLabel = response.label;\n $scope.rdfsComment = response.comment;\n })\n .error(function () {\n toastr.error('Error getting rdfs:label and rdfs:comment');\n });\n } else {\n $scope.rdfsComment = undefined;\n $scope.rdfsLabel = undefined;\n }\n\n $scope.predicatesObj.items = [];\n\n // clear predicates search input field when changing edges\n $scope.predicatesQueryObj.query = '';\n\n // if target node of selected predicate has no edges then it is a left edge and edges should\n // come from the source node\n const allEdges = targetNode.allEdges\n ? targetNode.allEdges\n : sourceNode.allEdges;\n\n _.each(allEdges, function (pred) {\n const obj = {};\n obj.absUri = encodeURIComponent(pred.uri);\n obj.absUriNonEncoded = pred.uri;\n obj.resolvedUri = pred.name;\n obj.isImplicit = pred.implicit;\n $scope.predicatesObj.items.push(obj);\n });\n $scope.predicatesListNotFiltered = $scope.predicatesObj.items;\n }\n\n\n // Hack needed to force hide collapsed-mode toggle tooltip in order not be\n // visible after icon is switched\n $(document).ready(function () {\n $('.compact-mode-toggle').click(function () {\n $('.tooltip').hide();\n });\n });\n\n function reloadDomainRangeGraphView(event, selectedClass) {\n const uri = selectedClass.objectPropClassUri;\n const name = selectedClass.objectPropClassName;\n\n $location\n .path('domain-range-graph')\n .search('uri', uri)\n .search('name', name);\n }\n\n function switchEdgeMode(event, selectedClass) {\n $location\n .path('domain-range-graph')\n .search('uri', selectedClass.uri)\n .search('name', selectedClass.name)\n .search('collapsed', selectedClass.collapsed);\n }\n\n function goToClassHierarchyView() {\n const lastSelectedClass = LocalStorageAdapter.get(LSKeys.CLASS_HIERARCHY_LAST_SELECTED_CLASS);\n\n $location\n .search('')\n .hash(lastSelectedClass)\n .path('hierarchy');\n }\n\n function toggleCollapseEdgesState() {\n $scope.collapseEdges = !$scope.collapseEdges;\n $window.history.pushState({collapsed: $scope.collapseEdges}, 'domainRangePage', null);\n }\n\n function copyToClipboard(uri) {\n ModalService.openCopyToClipboardModal(uri);\n }\n\n\n let currentActiveRepository = $repositories.getActiveRepository();\n\n function onRepositoryIsSet() {\n if (currentActiveRepository === $repositories.getActiveRepository()) {\n return;\n } else {\n currentActiveRepository = $repositories.getActiveRepository();\n }\n goToClassHierarchyView();\n }\n}\n"],"sourceRoot":""}
1
+ {"version":3,"sources":["webpack:///./src/js/angular/graphexplore/controllers/domain-range-graph.controller.js"],"names":["DomainRangeGraphCtlr","$scope","$location","$rootScope","$timeout","$repositories","$window","LocalStorageAdapter","LSKeys","GraphDataRestService","UiScrollService","ModalService","toastr","predicatesObj","predicatesQueryObj","items","query","predicatesListNotFiltered","predicatesSearchPlaceholder","onopen","onclose","angular","noop","datasource","position","current","key","get","index","count","success","initLazyList","$watch","_","each","item","revision","adapterContainer","adapter","remain","doCollapseEdges","DOMAIN_RANGE_COLLAPSE_EDGES","goToClassHierarchyView","lastSelectedClass","CLASS_HIERARCHY_LAST_SELECTED_CLASS","search","hash","path","collapseEdges","$on","event","selectedClass","uri","objectPropClassUri","name","objectPropClassName","collapsed","currentActiveRepository","getActiveRepository","set","copyToClipboard","openCopyToClipboardModal","toggleCollapseEdgesState","history","pushState","predicatesListFilterFunc","pred","resolvedUri","toLowerCase","indexOf","reload","showPredicatesInfoPanel","selectedPredicate","targetNode","target","sourceNode","source","encodedUri","encodeURIComponent","sourceTargetObjectNodeUri","encodedSourceTargetObjectNodeUri","sourceTargetObjectNodeName","getRdfsLabelAndComment","response","rdfsLabel","label","rdfsComment","comment","error","undefined","allEdges","obj","absUri","absUriNonEncoded","isImplicit","implicit","push","prepareDataForPredicatesInfoSidePanel","$","document","ready","click","hide","module","controller","$inject"],"mappings":"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","file":"58.ce5a29dded68f58c53b4.bundle.js","sourcesContent":["import 'angular/utils/local-storage-adapter';\n\nangular\n .module('graphdb.framework.graphexplore.controllers.domainrange', [\n 'ui.scroll.jqlite',\n 'ui.scroll',\n 'ngSanitize',\n 'graphdb.framework.utils.localstorageadapter'\n ])\n .controller('DomainRangeGraphCtlr', DomainRangeGraphCtlr);\n\nDomainRangeGraphCtlr.$inject = ['$scope', '$location', '$rootScope', '$timeout', '$repositories', '$window', 'LocalStorageAdapter', 'LSKeys', 'GraphDataRestService', 'UiScrollService', 'ModalService', 'toastr'];\n\nfunction DomainRangeGraphCtlr($scope, $location, $rootScope, $timeout, $repositories, $window, LocalStorageAdapter, LSKeys, GraphDataRestService, UiScrollService, ModalService, toastr) {\n $scope.predicatesObj = {};\n $scope.predicatesQueryObj = {};\n $scope.predicatesObj.items = [];\n $scope.predicatesQueryObj.query = '';\n $scope.predicatesListNotFiltered = [];\n $scope.predicatesSearchPlaceholder = 'Search predicates';\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 // creating datasource for predicates 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.predicatesObj.items);\n };\n $rootScope.$watch(function () {\n return $rootScope.key;\n }, function () {\n position = 0;\n _.each($scope.predicatesObj.items, function (item) {\n if ($rootScope.key > item) position++;\n });\n current++;\n });\n\n datasource.revision = function () {\n return current;\n };\n\n // adapter implementation for ui-scroll directive\n $scope.adapterContainer = {adapter: {remain: true}};\n\n\n const doCollapseEdges = LocalStorageAdapter.get(LSKeys.DOMAIN_RANGE_COLLAPSE_EDGES);\n if (doCollapseEdges === null) {\n $scope.collapseEdges = true;\n } else {\n $scope.collapseEdges = doCollapseEdges === 'true';\n }\n\n $scope.datasource = datasource;\n\n $scope.$on('reloadDomainRangeGraphView', reloadDomainRangeGraphView);\n $scope.$on('switchEdgeMode', switchEdgeMode);\n $scope.$on('repositoryIsSet', onRepositoryIsSet);\n $scope.$on('changeCollapsedEdgesState', function (event, collapsed) {\n $scope.collapseEdges = !collapsed;\n LocalStorageAdapter.set(LSKeys.DOMAIN_RANGE_COLLAPSE_EDGES, $scope.collapseEdges);\n });\n\n $scope.goToClassHierarchyView = goToClassHierarchyView;\n $scope.copyToClipboard = copyToClipboard;\n $scope.toggleCollapseEdgesState = toggleCollapseEdgesState;\n $scope.predicatesListFilterFunc = predicatesListFilterFunc;\n\n $scope.$watch('predicatesObj.items', function () {\n if ($scope.predicatesObj.items > 0) {\n $timeout(function () {\n $scope.adapterContainer.adapter.reload();\n }, 30);\n }\n });\n\n $scope.$watch('selectedPredicate', function () {\n if ($scope.showPredicatesInfoPanel) {\n prepareDataForPredicatesInfoSidePanel($scope.selectedPredicate);\n }\n });\n\n function predicatesListFilterFunc(pred) {\n return pred.resolvedUri\n .toLowerCase()\n .indexOf($scope.predicatesQueryObj.query.toLowerCase()) >= 0;\n }\n\n function prepareDataForPredicatesInfoSidePanel(selectedPredicate) {\n const targetNode = selectedPredicate.target;\n const sourceNode = selectedPredicate.source;\n\n $scope.encodedUri = encodeURIComponent(selectedPredicate.uri);\n\n $scope.sourceTargetObjectNodeUri = targetNode.objectPropClassUri\n ? targetNode.objectPropClassUri\n : sourceNode.objectPropClassUri;\n\n $scope.encodedSourceTargetObjectNodeUri = encodeURIComponent($scope.sourceTargetObjectNodeUri);\n\n $scope.sourceTargetObjectNodeName = targetNode.objectPropClassName\n ? targetNode.objectPropClassName\n : sourceNode.objectPropClassName\n ? sourceNode.objectPropClassName\n : '<i>Literal</i>';\n\n if ($scope.sourceTargetObjectNodeName.indexOf('Literal') === -1) {\n GraphDataRestService.getRdfsLabelAndComment($scope.sourceTargetObjectNodeUri)\n .success(function (response) {\n $scope.rdfsLabel = response.label;\n $scope.rdfsComment = response.comment;\n })\n .error(function () {\n toastr.error('Error getting rdfs:label and rdfs:comment');\n });\n } else {\n $scope.rdfsComment = undefined;\n $scope.rdfsLabel = undefined;\n }\n\n $scope.predicatesObj.items = [];\n\n // clear predicates search input field when changing edges\n $scope.predicatesQueryObj.query = '';\n\n // if target node of selected predicate has no edges then it is a left edge and edges should\n // come from the source node\n const allEdges = targetNode.allEdges\n ? targetNode.allEdges\n : sourceNode.allEdges;\n\n _.each(allEdges, function (pred) {\n const obj = {};\n obj.absUri = encodeURIComponent(pred.uri);\n obj.absUriNonEncoded = pred.uri;\n obj.resolvedUri = pred.name;\n obj.isImplicit = pred.implicit;\n $scope.predicatesObj.items.push(obj);\n });\n $scope.predicatesListNotFiltered = $scope.predicatesObj.items;\n }\n\n\n // Hack needed to force hide collapsed-mode toggle tooltip in order not be\n // visible after icon is switched\n $(document).ready(function () {\n $('.compact-mode-toggle').click(function () {\n $('.tooltip').hide();\n });\n });\n\n function reloadDomainRangeGraphView(event, selectedClass) {\n const uri = selectedClass.objectPropClassUri;\n const name = selectedClass.objectPropClassName;\n\n $location\n .path('domain-range-graph')\n .search('uri', uri)\n .search('name', name);\n }\n\n function switchEdgeMode(event, selectedClass) {\n $location\n .path('domain-range-graph')\n .search('uri', selectedClass.uri)\n .search('name', selectedClass.name)\n .search('collapsed', selectedClass.collapsed);\n }\n\n function goToClassHierarchyView() {\n const lastSelectedClass = LocalStorageAdapter.get(LSKeys.CLASS_HIERARCHY_LAST_SELECTED_CLASS);\n\n $location\n .search('')\n .hash(lastSelectedClass)\n .path('hierarchy');\n }\n\n function toggleCollapseEdgesState() {\n $scope.collapseEdges = !$scope.collapseEdges;\n $window.history.pushState({collapsed: $scope.collapseEdges}, 'domainRangePage', null);\n }\n\n function copyToClipboard(uri) {\n ModalService.openCopyToClipboardModal(uri);\n }\n\n\n let currentActiveRepository = $repositories.getActiveRepository();\n\n function onRepositoryIsSet() {\n if (currentActiveRepository === $repositories.getActiveRepository()) {\n return;\n } else {\n currentActiveRepository = $repositories.getActiveRepository();\n }\n goToClassHierarchyView();\n }\n}\n"],"sourceRoot":""}
@@ -1,2 +1,2 @@
1
- (window.webpackJsonp=window.webpackJsonp||[]).push([[59],{53:function(e,r,t){"use strict";t.r(r);t(4);const s=400,n=50,o=1500,a=25;function i(e,r,t,i,c,l,u,d,f,h,p,g,m,C,y,S){e.classHierarchyData={},e.instancesObj={},e.instancesQueryObj={},e.instancesObj.items=[],e.instancesNotFiltered=[],e.isWarningShowed=!1,e.onopen=e.onclose=()=>angular.noop(),e.currentBrowserLimit=2e3,m.firefox?e.currentBrowserLimit=n:(m.safari||m.msie||m.msedge)&&(e.currentBrowserLimit=s);const w={};let R=0,b=0;r.key="",w.get=function(r,t,s){return f.initLazyList(r,t,s,R,e.instancesObj.items)};let v=allGraphs;const E=function(){if(e.getActiveRepository())return S.resolveGraphs().success((function(r){e.graphsInRepo=r.results.bindings,A()})).error((function(r){e.repositoryError=getError(r),u.error(getError(r),"Error getting graphs")}))},A=function(){const r=C.get(`classHierarchy-selectedGraph-${i.getActiveRepository()}`);null!==r&&e.graphsInRepo.some(e=>e.contextID.uri===r.contextID.uri)?v=r:C.set(`classHierarchy-selectedGraph-${i.getActiveRepository()}`,v)};function I(r,t,s){e.classCountSlider.options&&e.classCountSlider.options.ceil!==t&&(e.classCountSlider={});var n;e.classCountSlider.value||(e.showExternalElements=!0,e.classCountSlider={value:t,options:{floor:1,ceil:t,vertical:!0,showSelectionBar:!0,onChange:function(){p(L,100,!0)}}},null===C.get(y.CLASS_HIERARCHY_CURRENT_SLIDER_VALUE)&&t>e.currentBrowserLimit&&(n=e.currentBrowserLimit,m.chrome?u.warning("Disabling animations for more than "+n+" classes.","Reducing visual effects"):u.warning(m.name+" performs poorly with more than "+n+" classes. Please consider using Chrome for more optimal performance.","Reducing visual effects")));const i=C.get(y.CLASS_HIERARCHY_SWITCH_PREFIXES);null!=i&&"true"!==i&&(e.showExternalElements=!0),s?e.classCountSlider.value=s:t>=o&&(e.classCountSlider.value=o,u.warning("Class count is reduced to "+o+" for faster initial load. Use the slider to see all classes.","Reducing class count")),t>=a&&!window.ActiveXObject&&"ActiveXObject"in window&&!e.isWarningShowed&&(e.classCountSlider.value=a,e.isWarningShowed=!0,u.warning("Class count is reduced to "+a+" for faster load in IE. If you want better performance please switch to different browser.","Reducing class count")),p((function(){e.$broadcast("reCalcViewDimensions")}),200),L();let c=0;$("rzslider").on("wheel",(function(r){r.preventDefault(),r.stopPropagation();const t=(new Date).getTime();if(!(t-c>100))return;c=t,r=r.originalEvent;let s=e.classCountSlider.value;r.deltaY<=-1?s+=1:r.deltaY>=1&&(s-=1),s!==e.classCountSlider.value&&s>=e.classCountSlider.options.floor&&s<=e.classCountSlider.options.ceil&&e.$apply((function(){e.classCountSlider.value=s,p(L,100,!0)}))}))}function L(){e.currentSliderValue=e.classCountSlider.value}function H(e){const r=e.fullName,s=e.name;d.checkDomainRangeData(r).success((function(e,n){204===n?u.warning("No domain-range data available for '"+s+"'"):(C.set(y.CLASS_HIERARCHY_LAST_SELECTED_CLASS,t.hash()),t.hash("").path("domain-range-graph").search("uri",r).search("name",s))})).error((function(){u.error("Request for "+s+" failed!")}))}function D(){t.replace().hash("1"),e.instancesObj.items=[],e.showExternalElements=!1,e.showClassInfoPanel=!1,C.clearClassHieararchyState(),e.hidePrefixes="true"===C.get(y.CLASS_HIERARCHY_HIDE_PREFIXES),e.currentSliderValue=void 0,e.classHierarchyData={},r.$broadcast("angucomplete-alt:clearInput")}function O(){e.hasClassHierarchy()&&p((function(){$("#toolbar").removeClass("ng-hide")}),0)}r.$watch((function(){return r.key}),(function(){R=0,_.each(e.instancesObj.items,(function(e){r.key>e&&R++})),b++})),w.revision=function(){return b},e.adapterContainer={adapter:{remain:!0}},e.$on("goToDomainRangeGraphView",(function(e,r){H(r)})),e.$on("classCount",I),e.$on("repositoryIsSet",(function(){if(!c.isLicenseValid())return;if(j===i.getActiveRepository())return;j=i.getActiveRepository();if(e.repositoryError=null,!j)return;v=allGraphs,E().then(x)})),e.datasource=w,e.goToDomainRangeGraphView=H,e.toggleClassInfoSidePanel=function(){e.showClassInfoPanel=!e.showClassInfoPanel,r.$broadcast("sidePanelClosed")},e.getActiveRepositoryNoError=function(){if(!e.repositoryError)return i.getActiveRepository()},e.isSystemRepository=function(){return i.isSystemRepository()},e.confirmReloadClassHierarchy=function(){g.openSimpleModal({title:"Confirm operation",message:"Calculating class hierarchy data may take some time. Are you sure?",warning:!0}).result.then((function(){D(),e.loader=!0,e.hierarchyError=!1,d.reloadClassHierarchy(v.contextID.uri).success((function(r){e.loader=!1,e.classHierarchyData=r,O(),I()})).error((function(r){e.loader=!1,e.hierarchyError=getError(r),u.error(getError(r),"Request for RDF Class Hierarchy failed!")}))}))},e.focusOnRoot=function(){e.$broadcast("rootFocus")},e.copyToClipboard=function(e){g.openCopyToClipboardModal(e)},e.searchedClassCallback=function(e){if(e){const t={name:e.title};r.$broadcast("searchedClass",t)}},e.instancesQueryObj.query="",e.instancesFilterFunc=function(r){return r.resolvedUri.toLowerCase().indexOf(e.instancesQueryObj.query.toLowerCase())>=0},E(),e.$watch("instancesObj.items",(function(){e.instancesObj.items.length>0&&p((function(){e.adapterContainer.adapter.reload()}),30)})),e.$watch("selectedClass",(function(){e.showClassInfoPanel&&function(r){const t=r.fullName;let s=r.name;if(s===t){const e=s.lastIndexOf("#");s=s.substring(e+1)}e.encodedUri=encodeURIComponent(t);const n=encodeURIComponent("prefix onto:<http://www.ontotext.com/> select ?s from onto:disable-sameAs { ?s a <"+t+"> . }");e.viewInstancesUri="sparql?name="+s+"&infer=true&sameAs=false&query="+n+"&execute=true",d.getRdfsLabelAndComment(t).success((function(r){e.rdfsLabel=r.label,e.rdfsComment=r.comment,e.expanded=!1})).error((function(){u.error("Error getting rdfs:label and rdfs:comment")})),e.instancesQueryObj.query="",e.instancesLoader=!0,d.getClassInstances(t).success((function(r){e.instancesObj.items=[],_.each(r,(function(r,t){const s={};s.type=r.startsWith("<<")&&r.endsWith(">>")?"triple":"uri",s.absUri=encodeURIComponent(r),s.absUriNonEncoded=r,s.resolvedUri=t,e.instancesObj.items.push(s)})),e.instancesLoader=!1,e.instancesSearchPlaceholder=e.instancesObj.items.length<1e3?"Search class instances":"Search first 1000 class instances",e.instancesNotFiltered=e.instancesObj.items})).error((function(){u.error("Request for class instances for failed!")}))}(e.selectedClass)})),$(document).ready((function(){$(".prefix-toggle").click((function(){$(".tooltip").hide()}))}));let j=i.getActiveRepository();function x(){D(),!e.isSystemRepository()&&e.isLicenseValid()&&(e.hierarchyError=!1,e.loader=!0,d.getClassHierarchyData(v.contextID.uri).success((function(r,t){e.showExternalElements=!0,e.loader=!1,e.classHierarchyData=r,207===t&&u.warning("You can update the diagram by pressing the reload button.","Repository data has changed"),O()})).error((function(r){e.loader=!1,e.hierarchyError=getError(r),u.error(getError(r),"Request for RDF Class Hierarchy failed!")})))}e.hasClassHierarchy=function(){return e.classHierarchyData.classCount&&e.getActiveRepositoryNoError()&&!e.isSystemRepository()},e.isLicenseValid=function(){return c.isLicenseValid()},e.chosenGraph=function(e){v=e,x(),C.set(`classHierarchy-selectedGraph-${i.getActiveRepository()}`,v)},e.getSelGraphValue=function(){return v.contextID.value},e.isAllGraphsSelected=function(){return"All graphs"===e.getSelGraphValue()}}angular.module("graphdb.framework.graphexplore.controllers.class",["pageslide-directive","ngAnimate","ui.scroll.jqlite","ui.scroll","angucomplete-alt","rzSlider","toastr","graphdb.framework.utils.localstorageadapter"]).controller("RdfClassHierarchyCtlr",i),i.$inject=["$scope","$rootScope","$location","$repositories","$licenseService","$window","toastr","GraphDataRestService","UiScrollService","RdfsLabelCommentService","$timeout","ModalService","bowser","LocalStorageAdapter","LSKeys","RDF4JRepositoriesRestService"]}}]);
2
- //# sourceMappingURL=59.b8e9155530acba27a6fa.bundle.js.map
1
+ (window.webpackJsonp=window.webpackJsonp||[]).push([[59],{54:function(e,r,t){"use strict";t.r(r);t(4);const s=400,n=50,o=1500,a=25;function i(e,r,t,i,c,l,u,d,f,h,p,g,m,C,y,S){e.classHierarchyData={},e.instancesObj={},e.instancesQueryObj={},e.instancesObj.items=[],e.instancesNotFiltered=[],e.isWarningShowed=!1,e.onopen=e.onclose=()=>angular.noop(),e.currentBrowserLimit=2e3,m.firefox?e.currentBrowserLimit=n:(m.safari||m.msie||m.msedge)&&(e.currentBrowserLimit=s);const w={};let R=0,b=0;r.key="",w.get=function(r,t,s){return f.initLazyList(r,t,s,R,e.instancesObj.items)};let v=allGraphs;const E=function(){if(e.getActiveRepository())return S.resolveGraphs().success((function(r){e.graphsInRepo=r.results.bindings,A()})).error((function(r){e.repositoryError=getError(r),u.error(getError(r),"Error getting graphs")}))},A=function(){const r=C.get(`classHierarchy-selectedGraph-${i.getActiveRepository()}`);null!==r&&e.graphsInRepo.some(e=>e.contextID.uri===r.contextID.uri)?v=r:C.set(`classHierarchy-selectedGraph-${i.getActiveRepository()}`,v)};function I(r,t,s){e.classCountSlider.options&&e.classCountSlider.options.ceil!==t&&(e.classCountSlider={});var n;e.classCountSlider.value||(e.showExternalElements=!0,e.classCountSlider={value:t,options:{floor:1,ceil:t,vertical:!0,showSelectionBar:!0,onChange:function(){p(L,100,!0)}}},null===C.get(y.CLASS_HIERARCHY_CURRENT_SLIDER_VALUE)&&t>e.currentBrowserLimit&&(n=e.currentBrowserLimit,m.chrome?u.warning("Disabling animations for more than "+n+" classes.","Reducing visual effects"):u.warning(m.name+" performs poorly with more than "+n+" classes. Please consider using Chrome for more optimal performance.","Reducing visual effects")));const i=C.get(y.CLASS_HIERARCHY_SWITCH_PREFIXES);null!=i&&"true"!==i&&(e.showExternalElements=!0),s?e.classCountSlider.value=s:t>=o&&(e.classCountSlider.value=o,u.warning("Class count is reduced to "+o+" for faster initial load. Use the slider to see all classes.","Reducing class count")),t>=a&&!window.ActiveXObject&&"ActiveXObject"in window&&!e.isWarningShowed&&(e.classCountSlider.value=a,e.isWarningShowed=!0,u.warning("Class count is reduced to "+a+" for faster load in IE. If you want better performance please switch to different browser.","Reducing class count")),p((function(){e.$broadcast("reCalcViewDimensions")}),200),L();let c=0;$("rzslider").on("wheel",(function(r){r.preventDefault(),r.stopPropagation();const t=(new Date).getTime();if(!(t-c>100))return;c=t,r=r.originalEvent;let s=e.classCountSlider.value;r.deltaY<=-1?s+=1:r.deltaY>=1&&(s-=1),s!==e.classCountSlider.value&&s>=e.classCountSlider.options.floor&&s<=e.classCountSlider.options.ceil&&e.$apply((function(){e.classCountSlider.value=s,p(L,100,!0)}))}))}function L(){e.currentSliderValue=e.classCountSlider.value}function H(e){const r=e.fullName,s=e.name;d.checkDomainRangeData(r).success((function(e,n){204===n?u.warning("No domain-range data available for '"+s+"'"):(C.set(y.CLASS_HIERARCHY_LAST_SELECTED_CLASS,t.hash()),t.hash("").path("domain-range-graph").search("uri",r).search("name",s))})).error((function(){u.error("Request for "+s+" failed!")}))}function D(){t.replace().hash("1"),e.instancesObj.items=[],e.showExternalElements=!1,e.showClassInfoPanel=!1,C.clearClassHieararchyState(),e.hidePrefixes="true"===C.get(y.CLASS_HIERARCHY_HIDE_PREFIXES),e.currentSliderValue=void 0,e.classHierarchyData={},r.$broadcast("angucomplete-alt:clearInput")}function O(){e.hasClassHierarchy()&&p((function(){$("#toolbar").removeClass("ng-hide")}),0)}r.$watch((function(){return r.key}),(function(){R=0,_.each(e.instancesObj.items,(function(e){r.key>e&&R++})),b++})),w.revision=function(){return b},e.adapterContainer={adapter:{remain:!0}},e.$on("goToDomainRangeGraphView",(function(e,r){H(r)})),e.$on("classCount",I),e.$on("repositoryIsSet",(function(){if(!c.isLicenseValid())return;if(j===i.getActiveRepository())return;j=i.getActiveRepository();if(e.repositoryError=null,!j)return;v=allGraphs,E().then(x)})),e.datasource=w,e.goToDomainRangeGraphView=H,e.toggleClassInfoSidePanel=function(){e.showClassInfoPanel=!e.showClassInfoPanel,r.$broadcast("sidePanelClosed")},e.getActiveRepositoryNoError=function(){if(!e.repositoryError)return i.getActiveRepository()},e.isSystemRepository=function(){return i.isSystemRepository()},e.confirmReloadClassHierarchy=function(){g.openSimpleModal({title:"Confirm operation",message:"Calculating class hierarchy data may take some time. Are you sure?",warning:!0}).result.then((function(){D(),e.loader=!0,e.hierarchyError=!1,d.reloadClassHierarchy(v.contextID.uri).success((function(r){e.loader=!1,e.classHierarchyData=r,O(),I()})).error((function(r){e.loader=!1,e.hierarchyError=getError(r),u.error(getError(r),"Request for RDF Class Hierarchy failed!")}))}))},e.focusOnRoot=function(){e.$broadcast("rootFocus")},e.copyToClipboard=function(e){g.openCopyToClipboardModal(e)},e.searchedClassCallback=function(e){if(e){const t={name:e.title};r.$broadcast("searchedClass",t)}},e.instancesQueryObj.query="",e.instancesFilterFunc=function(r){return r.resolvedUri.toLowerCase().indexOf(e.instancesQueryObj.query.toLowerCase())>=0},E(),e.$watch("instancesObj.items",(function(){e.instancesObj.items.length>0&&p((function(){e.adapterContainer.adapter.reload()}),30)})),e.$watch("selectedClass",(function(){e.showClassInfoPanel&&function(r){const t=r.fullName;let s=r.name;if(s===t){const e=s.lastIndexOf("#");s=s.substring(e+1)}e.encodedUri=encodeURIComponent(t);const n=encodeURIComponent("prefix onto:<http://www.ontotext.com/> select ?s from onto:disable-sameAs { ?s a <"+t+"> . }");e.viewInstancesUri="sparql?name="+s+"&infer=true&sameAs=false&query="+n+"&execute=true",d.getRdfsLabelAndComment(t).success((function(r){e.rdfsLabel=r.label,e.rdfsComment=r.comment,e.expanded=!1})).error((function(){u.error("Error getting rdfs:label and rdfs:comment")})),e.instancesQueryObj.query="",e.instancesLoader=!0,d.getClassInstances(t).success((function(r){e.instancesObj.items=[],_.each(r,(function(r,t){const s={};s.type=r.startsWith("<<")&&r.endsWith(">>")?"triple":"uri",s.absUri=encodeURIComponent(r),s.absUriNonEncoded=r,s.resolvedUri=t,e.instancesObj.items.push(s)})),e.instancesLoader=!1,e.instancesSearchPlaceholder=e.instancesObj.items.length<1e3?"Search class instances":"Search first 1000 class instances",e.instancesNotFiltered=e.instancesObj.items})).error((function(){u.error("Request for class instances for failed!")}))}(e.selectedClass)})),$(document).ready((function(){$(".prefix-toggle").click((function(){$(".tooltip").hide()}))}));let j=i.getActiveRepository();function x(){D(),!e.isSystemRepository()&&e.isLicenseValid()&&(e.hierarchyError=!1,e.loader=!0,d.getClassHierarchyData(v.contextID.uri).success((function(r,t){e.showExternalElements=!0,e.loader=!1,e.classHierarchyData=r,207===t&&u.warning("You can update the diagram by pressing the reload button.","Repository data has changed"),O()})).error((function(r){e.loader=!1,e.hierarchyError=getError(r),u.error(getError(r),"Request for RDF Class Hierarchy failed!")})))}e.hasClassHierarchy=function(){return e.classHierarchyData.classCount&&e.getActiveRepositoryNoError()&&!e.isSystemRepository()},e.isLicenseValid=function(){return c.isLicenseValid()},e.chosenGraph=function(e){v=e,x(),C.set(`classHierarchy-selectedGraph-${i.getActiveRepository()}`,v)},e.getSelGraphValue=function(){return v.contextID.value},e.isAllGraphsSelected=function(){return"All graphs"===e.getSelGraphValue()}}angular.module("graphdb.framework.graphexplore.controllers.class",["pageslide-directive","ngAnimate","ui.scroll.jqlite","ui.scroll","angucomplete-alt","rzSlider","toastr","graphdb.framework.utils.localstorageadapter"]).controller("RdfClassHierarchyCtlr",i),i.$inject=["$scope","$rootScope","$location","$repositories","$licenseService","$window","toastr","GraphDataRestService","UiScrollService","RdfsLabelCommentService","$timeout","ModalService","bowser","LocalStorageAdapter","LSKeys","RDF4JRepositoriesRestService"]}}]);
2
+ //# sourceMappingURL=59.10efdeff3a8ef9e5733d.bundle.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["webpack:///./src/js/angular/graphexplore/controllers/rdf-class-hierarchy.controller.js"],"names":["SAFARI_IE_EDGE_CLASS_LIMIT","FIREFOX_CLASS_LIMIT","CLASS_COUNT_THRESHOLD","CLASS_COUNT_THRESHOLD_IE","RdfClassHierarchyCtlr","$scope","$rootScope","$location","$repositories","$licenseService","$window","toastr","GraphDataRestService","UiScrollService","RdfsLabelCommentService","$timeout","ModalService","bowser","LocalStorageAdapter","LSKeys","RDF4JRepositoriesRestService","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","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","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":"59.b8e9155530acba27a6fa.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\"];\n\nfunction RdfClassHierarchyCtlr($scope, $rootScope, $location, $repositories, $licenseService, $window, toastr, GraphDataRestService, UiScrollService, RdfsLabelCommentService, $timeout, ModalService, bowser, LocalStorageAdapter, LSKeys, RDF4JRepositoriesRestService) {\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), '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(\"Disabling animations for more than \" + classLimit + \" classes.\",\n \"Reducing visual effects\");\n } else {\n toastr.warning(bowser.name + \" performs poorly with more than \" +\n classLimit + \" classes. \" +\n \"Please consider using Chrome for more optimal performance.\",\n \"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(\"Class count is reduced to \" + CLASS_COUNT_THRESHOLD + \" for faster initial load. Use the slider to see all classes.\", \"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(\"Class count is reduced to \" + CLASS_COUNT_THRESHOLD_IE + \" for faster load in IE. If you want better performance please switch to different browser.\", \"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(\"No domain-range data available for '\" + 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(\"Request for \" + name + \" failed!\");\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/> select ?s from onto:disable-sameAs { ?s a <\" + uri + \"> . }\";\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(\"Request for class instances for failed!\");\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), \"Request for RDF Class Hierarchy failed!\");\n });\n }\n\n function confirmReloadClassHierarchy() {\n ModalService.openSimpleModal({\n title: 'Confirm operation',\n message: 'Calculating class hierarchy data may take some time. Are you sure?',\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(\"You can update the diagram by pressing the reload button.\", \"Repository data has changed\");\n }\n fixToolbar();\n }).error(function (response) {\n $scope.loader = false;\n $scope.hierarchyError = getError(response);\n toastr.error(getError(response), \"Request for RDF Class Hierarchy failed!\");\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'\n }\n}\n"],"sourceRoot":""}
1
+ {"version":3,"sources":["webpack:///./src/js/angular/graphexplore/controllers/rdf-class-hierarchy.controller.js"],"names":["SAFARI_IE_EDGE_CLASS_LIMIT","FIREFOX_CLASS_LIMIT","CLASS_COUNT_THRESHOLD","CLASS_COUNT_THRESHOLD_IE","RdfClassHierarchyCtlr","$scope","$rootScope","$location","$repositories","$licenseService","$window","toastr","GraphDataRestService","UiScrollService","RdfsLabelCommentService","$timeout","ModalService","bowser","LocalStorageAdapter","LSKeys","RDF4JRepositoriesRestService","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","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","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":"59.10efdeff3a8ef9e5733d.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\"];\n\nfunction RdfClassHierarchyCtlr($scope, $rootScope, $location, $repositories, $licenseService, $window, toastr, GraphDataRestService, UiScrollService, RdfsLabelCommentService, $timeout, ModalService, bowser, LocalStorageAdapter, LSKeys, RDF4JRepositoriesRestService) {\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), '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(\"Disabling animations for more than \" + classLimit + \" classes.\",\n \"Reducing visual effects\");\n } else {\n toastr.warning(bowser.name + \" performs poorly with more than \" +\n classLimit + \" classes. \" +\n \"Please consider using Chrome for more optimal performance.\",\n \"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(\"Class count is reduced to \" + CLASS_COUNT_THRESHOLD + \" for faster initial load. Use the slider to see all classes.\", \"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(\"Class count is reduced to \" + CLASS_COUNT_THRESHOLD_IE + \" for faster load in IE. If you want better performance please switch to different browser.\", \"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(\"No domain-range data available for '\" + 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(\"Request for \" + name + \" failed!\");\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/> select ?s from onto:disable-sameAs { ?s a <\" + uri + \"> . }\";\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(\"Request for class instances for failed!\");\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), \"Request for RDF Class Hierarchy failed!\");\n });\n }\n\n function confirmReloadClassHierarchy() {\n ModalService.openSimpleModal({\n title: 'Confirm operation',\n message: 'Calculating class hierarchy data may take some time. Are you sure?',\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(\"You can update the diagram by pressing the reload button.\", \"Repository data has changed\");\n }\n fixToolbar();\n }).error(function (response) {\n $scope.loader = false;\n $scope.hierarchyError = getError(response);\n toastr.error(getError(response), \"Request for RDF Class Hierarchy failed!\");\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'\n }\n}\n"],"sourceRoot":""}
@@ -1,2 +1,2 @@
1
- (window.webpackJsonp=window.webpackJsonp||[]).push([[60],{63:function(e,t){function r(){return{restrict:"AE",scope:{filterQueryObj:"=",filterFunction:"&",listItemsObj:"=",listItemsNotFiltered:"=",searchPlaceholder:"@"},templateUrl:"js/angular/graphexplore/templates/listItemsSearchFilterTemplate.html",link:function(e){e.filterFunction=e.filterFunction(),e.$watch("filterQueryObj.query",(function(){var t,r,i,l;e.listItemsObj.items=(t=e.filterQueryObj.query,r=e.listItemsObj.items,i=e.listItemsNotFiltered,l=e.filterFunction,t.length>0?_.filter(i,l):r.length!==i.length?i:r)}))}}}angular.module("graphdb.framework.graphexplore.directives.searchfilter",[]).directive("listItemsSearchFilter",r),r.$inject=[]}}]);
2
- //# sourceMappingURL=60.27e731a670680751538c.bundle.js.map
1
+ (window.webpackJsonp=window.webpackJsonp||[]).push([[60],{64:function(e,t){function r(){return{restrict:"AE",scope:{filterQueryObj:"=",filterFunction:"&",listItemsObj:"=",listItemsNotFiltered:"=",searchPlaceholder:"@"},templateUrl:"js/angular/graphexplore/templates/listItemsSearchFilterTemplate.html",link:function(e){e.filterFunction=e.filterFunction(),e.$watch("filterQueryObj.query",(function(){var t,r,i,l;e.listItemsObj.items=(t=e.filterQueryObj.query,r=e.listItemsObj.items,i=e.listItemsNotFiltered,l=e.filterFunction,t.length>0?_.filter(i,l):r.length!==i.length?i:r)}))}}}angular.module("graphdb.framework.graphexplore.directives.searchfilter",[]).directive("listItemsSearchFilter",r),r.$inject=[]}}]);
2
+ //# sourceMappingURL=60.97fb695857f6241ae612.bundle.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["webpack:///./src/js/angular/graphexplore/directives/list-items-search-filter.directive.js"],"names":["listItemsSearchFilterDirective","restrict","scope","filterQueryObj","filterFunction","listItemsObj","listItemsNotFiltered","searchPlaceholder","templateUrl","link","$watch","searchQuery","data","nonFilteredData","customFilter","items","query","length","_","filter","angular","module","directive","$inject"],"mappings":"2EAMA,SAASA,IACL,MAAO,CACHC,SAAU,KACVC,MAAO,CACHC,eAAgB,IAChBC,eAAgB,IAChBC,aAAc,IACdC,qBAAsB,IACtBC,kBAAmB,KAEvBC,YAAa,uEACbC,KAAM,SAAUP,GAYZA,EAAME,eAAiBF,EAAME,iBAE7BF,EAAMQ,OAAO,wBAAwB,WAZrC,IAAgBC,EAAaC,EAAMC,EAAiBC,EAahDZ,EAAMG,aAAaU,OAbPJ,EAcRT,EAAMC,eAAea,MAdAJ,EAerBV,EAAMG,aAAaU,MAfQF,EAgB3BX,EAAMI,qBAhBsCQ,EAiB5CZ,EAAME,eAhBNO,EAAYM,OAAS,EACdC,EAAEC,OAAON,EAAiBC,GAC1BF,EAAKK,SAAWJ,EAAgBI,OAChCJ,EAEJD,QAzBvBQ,QACKC,OAAO,yDAA0D,IACjEC,UAAU,wBAAyBtB,GAExCA,EAA+BuB,QAAU","file":"60.27e731a670680751538c.bundle.js","sourcesContent":["angular\n .module('graphdb.framework.graphexplore.directives.searchfilter', [])\n .directive('listItemsSearchFilter', listItemsSearchFilterDirective);\n\nlistItemsSearchFilterDirective.$inject = [];\n\nfunction listItemsSearchFilterDirective() {\n return {\n restrict: 'AE',\n scope: {\n filterQueryObj: '=',\n filterFunction: '&',\n listItemsObj: '=',\n listItemsNotFiltered: '=',\n searchPlaceholder: '@'\n },\n templateUrl: 'js/angular/graphexplore/templates/listItemsSearchFilterTemplate.html',\n link: function (scope) {\n\n function filter(searchQuery, data, nonFilteredData, customFilter) {\n if (searchQuery.length > 0) {\n return _.filter(nonFilteredData, customFilter);\n } else if (data.length !== nonFilteredData.length) {\n return nonFilteredData;\n }\n return data;\n }\n\n // unwrap callback filter function\n scope.filterFunction = scope.filterFunction();\n\n scope.$watch('filterQueryObj.query', function () {\n scope.listItemsObj.items = filter(\n scope.filterQueryObj.query,\n scope.listItemsObj.items,\n scope.listItemsNotFiltered,\n scope.filterFunction);\n });\n }\n };\n}\n"],"sourceRoot":""}
1
+ {"version":3,"sources":["webpack:///./src/js/angular/graphexplore/directives/list-items-search-filter.directive.js"],"names":["listItemsSearchFilterDirective","restrict","scope","filterQueryObj","filterFunction","listItemsObj","listItemsNotFiltered","searchPlaceholder","templateUrl","link","$watch","searchQuery","data","nonFilteredData","customFilter","items","query","length","_","filter","angular","module","directive","$inject"],"mappings":"2EAMA,SAASA,IACL,MAAO,CACHC,SAAU,KACVC,MAAO,CACHC,eAAgB,IAChBC,eAAgB,IAChBC,aAAc,IACdC,qBAAsB,IACtBC,kBAAmB,KAEvBC,YAAa,uEACbC,KAAM,SAAUP,GAYZA,EAAME,eAAiBF,EAAME,iBAE7BF,EAAMQ,OAAO,wBAAwB,WAZrC,IAAgBC,EAAaC,EAAMC,EAAiBC,EAahDZ,EAAMG,aAAaU,OAbPJ,EAcRT,EAAMC,eAAea,MAdAJ,EAerBV,EAAMG,aAAaU,MAfQF,EAgB3BX,EAAMI,qBAhBsCQ,EAiB5CZ,EAAME,eAhBNO,EAAYM,OAAS,EACdC,EAAEC,OAAON,EAAiBC,GAC1BF,EAAKK,SAAWJ,EAAgBI,OAChCJ,EAEJD,QAzBvBQ,QACKC,OAAO,yDAA0D,IACjEC,UAAU,wBAAyBtB,GAExCA,EAA+BuB,QAAU","file":"60.97fb695857f6241ae612.bundle.js","sourcesContent":["angular\n .module('graphdb.framework.graphexplore.directives.searchfilter', [])\n .directive('listItemsSearchFilter', listItemsSearchFilterDirective);\n\nlistItemsSearchFilterDirective.$inject = [];\n\nfunction listItemsSearchFilterDirective() {\n return {\n restrict: 'AE',\n scope: {\n filterQueryObj: '=',\n filterFunction: '&',\n listItemsObj: '=',\n listItemsNotFiltered: '=',\n searchPlaceholder: '@'\n },\n templateUrl: 'js/angular/graphexplore/templates/listItemsSearchFilterTemplate.html',\n link: function (scope) {\n\n function filter(searchQuery, data, nonFilteredData, customFilter) {\n if (searchQuery.length > 0) {\n return _.filter(nonFilteredData, customFilter);\n } else if (data.length !== nonFilteredData.length) {\n return nonFilteredData;\n }\n return data;\n }\n\n // unwrap callback filter function\n scope.filterFunction = scope.filterFunction();\n\n scope.$watch('filterQueryObj.query', function () {\n scope.listItemsObj.items = filter(\n scope.filterQueryObj.query,\n scope.listItemsObj.items,\n scope.listItemsNotFiltered,\n scope.filterFunction);\n });\n }\n };\n}\n"],"sourceRoot":""}
@@ -1,2 +1,2 @@
1
- (window.webpackJsonp=window.webpackJsonp||[]).push([[61],{61:function(e,n){function t(e){return{restrict:"AE",scope:{rdfsLabel:"=",rdfsComment:"=",expanded:"=",alwaysExpanded:"="},templateUrl:"js/angular/graphexplore/templates/rdfsCommentLabelTemplate.html",link:function(n,t){n.stringLimit=e,n.scrollToTop=function(){t[0].getElementsByClassName("rdfs-comment")[0].scrollTop=0},n.checkCommentLength=function(){return t[0].getElementsByClassName("rdfs-comment-text")[0].innerText.length<e},n.equalHeights=function(){const e=t[0].getElementsByClassName("rdfs-comment-text")[0].innerHeight;e<250&&n.expanded&&(t[0].getElementsByClassName("rdfs-comment")[0].innerHeight=e)},n.toggleFullComment=function(){n.expanded=!n.expanded},n.$watch("expanded || alwaysExpanded",(function(t){n.stringLimit=t?n.rdfsComment.length:e}))}}}angular.module("graphdb.framework.graphexplore.directives.rdfsdetails",[]).directive("rdfsCommentLabel",t).constant("SHORT_COMMENT_LENGTH",100),t.$inject=["SHORT_COMMENT_LENGTH"]}}]);
2
- //# sourceMappingURL=61.fce8a2436742c2e20032.bundle.js.map
1
+ (window.webpackJsonp=window.webpackJsonp||[]).push([[61],{62:function(e,n){function t(e){return{restrict:"AE",scope:{rdfsLabel:"=",rdfsComment:"=",expanded:"=",alwaysExpanded:"="},templateUrl:"js/angular/graphexplore/templates/rdfsCommentLabelTemplate.html",link:function(n,t){n.stringLimit=e,n.scrollToTop=function(){t[0].getElementsByClassName("rdfs-comment")[0].scrollTop=0},n.checkCommentLength=function(){return t[0].getElementsByClassName("rdfs-comment-text")[0].innerText.length<e},n.equalHeights=function(){const e=t[0].getElementsByClassName("rdfs-comment-text")[0].innerHeight;e<250&&n.expanded&&(t[0].getElementsByClassName("rdfs-comment")[0].innerHeight=e)},n.toggleFullComment=function(){n.expanded=!n.expanded},n.$watch("expanded || alwaysExpanded",(function(t){n.stringLimit=t?n.rdfsComment.length:e}))}}}angular.module("graphdb.framework.graphexplore.directives.rdfsdetails",[]).directive("rdfsCommentLabel",t).constant("SHORT_COMMENT_LENGTH",100),t.$inject=["SHORT_COMMENT_LENGTH"]}}]);
2
+ //# sourceMappingURL=61.5d71ec3fe0cda230482b.bundle.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["webpack:///./src/js/angular/graphexplore/directives/rdfs-comment-label.directive.js"],"names":["rdfsCommentLabelDirective","SHORT_COMMENT_LENGTH","restrict","scope","rdfsLabel","rdfsComment","expanded","alwaysExpanded","templateUrl","link","element","stringLimit","scrollToTop","getElementsByClassName","scrollTop","checkCommentLength","innerText","length","equalHeights","commentHeight","innerHeight","toggleFullComment","$watch","value","angular","module","directive","constant","$inject"],"mappings":"2EAOA,SAASA,EAA0BC,GAC/B,MAAO,CACHC,SAAU,KACVC,MAAO,CACHC,UAAW,IACXC,YAAa,IACbC,SAAU,IACVC,eAAgB,KAEpBC,YAAa,kEACbC,KAAM,SAAUN,EAAOO,GACnBP,EAAMQ,YAAcV,EACpBE,EAAMS,YAAc,WAChBF,EAAQ,GAAGG,uBAAuB,gBAAgB,GAAGC,UAAY,GAGrEX,EAAMY,mBAAqB,WAEvB,OADsBL,EAAQ,GAAGG,uBAAuB,qBAAqB,GAAGG,UAAUC,OACnEhB,GAG3BE,EAAMe,aAAe,WACjB,MAAMC,EAAgBT,EAAQ,GAAGG,uBAAuB,qBAAqB,GAAGO,YAC5ED,EAAgB,KAAOhB,EAAMG,WAC7BI,EAAQ,GAAGG,uBAAuB,gBAAgB,GAAGO,YAAcD,IAI3EhB,EAAMkB,kBAAoB,WACtBlB,EAAMG,UAAYH,EAAMG,UAG5BH,EAAMmB,OAAO,8BAA8B,SAAUC,GAE7CpB,EAAMQ,YADNY,EACoBpB,EAAME,YAAYY,OAElBhB,OA3CxCuB,QACKC,OAAO,wDAAyD,IAChEC,UAAU,mBAAoB1B,GAC9B2B,SAAS,uBAAwB,KAEtC3B,EAA0B4B,QAAU,CAAC","file":"61.fce8a2436742c2e20032.bundle.js","sourcesContent":["angular\n .module('graphdb.framework.graphexplore.directives.rdfsdetails', [])\n .directive('rdfsCommentLabel', rdfsCommentLabelDirective)\n .constant('SHORT_COMMENT_LENGTH', 100);\n\nrdfsCommentLabelDirective.$inject = ['SHORT_COMMENT_LENGTH'];\n\nfunction rdfsCommentLabelDirective(SHORT_COMMENT_LENGTH) {\n return {\n restrict: 'AE',\n scope: {\n rdfsLabel: '=',\n rdfsComment: '=',\n expanded: '=',\n alwaysExpanded: '='\n },\n templateUrl: 'js/angular/graphexplore/templates/rdfsCommentLabelTemplate.html',\n link: function (scope, element) {\n scope.stringLimit = SHORT_COMMENT_LENGTH;\n scope.scrollToTop = function () {\n element[0].getElementsByClassName('rdfs-comment')[0].scrollTop = 0;\n };\n\n scope.checkCommentLength = function () {\n const commentLength = element[0].getElementsByClassName('rdfs-comment-text')[0].innerText.length;\n return commentLength < SHORT_COMMENT_LENGTH;\n };\n\n scope.equalHeights = function () {\n const commentHeight = element[0].getElementsByClassName('rdfs-comment-text')[0].innerHeight;\n if (commentHeight < 250 && scope.expanded) {\n element[0].getElementsByClassName('rdfs-comment')[0].innerHeight = commentHeight;\n }\n };\n\n scope.toggleFullComment = function () {\n scope.expanded = !scope.expanded;\n };\n\n scope.$watch('expanded || alwaysExpanded', function (value) {\n if (value) {\n scope.stringLimit = scope.rdfsComment.length;\n } else {\n scope.stringLimit = SHORT_COMMENT_LENGTH;\n }\n });\n }\n };\n}\n"],"sourceRoot":""}
1
+ {"version":3,"sources":["webpack:///./src/js/angular/graphexplore/directives/rdfs-comment-label.directive.js"],"names":["rdfsCommentLabelDirective","SHORT_COMMENT_LENGTH","restrict","scope","rdfsLabel","rdfsComment","expanded","alwaysExpanded","templateUrl","link","element","stringLimit","scrollToTop","getElementsByClassName","scrollTop","checkCommentLength","innerText","length","equalHeights","commentHeight","innerHeight","toggleFullComment","$watch","value","angular","module","directive","constant","$inject"],"mappings":"2EAOA,SAASA,EAA0BC,GAC/B,MAAO,CACHC,SAAU,KACVC,MAAO,CACHC,UAAW,IACXC,YAAa,IACbC,SAAU,IACVC,eAAgB,KAEpBC,YAAa,kEACbC,KAAM,SAAUN,EAAOO,GACnBP,EAAMQ,YAAcV,EACpBE,EAAMS,YAAc,WAChBF,EAAQ,GAAGG,uBAAuB,gBAAgB,GAAGC,UAAY,GAGrEX,EAAMY,mBAAqB,WAEvB,OADsBL,EAAQ,GAAGG,uBAAuB,qBAAqB,GAAGG,UAAUC,OACnEhB,GAG3BE,EAAMe,aAAe,WACjB,MAAMC,EAAgBT,EAAQ,GAAGG,uBAAuB,qBAAqB,GAAGO,YAC5ED,EAAgB,KAAOhB,EAAMG,WAC7BI,EAAQ,GAAGG,uBAAuB,gBAAgB,GAAGO,YAAcD,IAI3EhB,EAAMkB,kBAAoB,WACtBlB,EAAMG,UAAYH,EAAMG,UAG5BH,EAAMmB,OAAO,8BAA8B,SAAUC,GAE7CpB,EAAMQ,YADNY,EACoBpB,EAAME,YAAYY,OAElBhB,OA3CxCuB,QACKC,OAAO,wDAAyD,IAChEC,UAAU,mBAAoB1B,GAC9B2B,SAAS,uBAAwB,KAEtC3B,EAA0B4B,QAAU,CAAC","file":"61.5d71ec3fe0cda230482b.bundle.js","sourcesContent":["angular\n .module('graphdb.framework.graphexplore.directives.rdfsdetails', [])\n .directive('rdfsCommentLabel', rdfsCommentLabelDirective)\n .constant('SHORT_COMMENT_LENGTH', 100);\n\nrdfsCommentLabelDirective.$inject = ['SHORT_COMMENT_LENGTH'];\n\nfunction rdfsCommentLabelDirective(SHORT_COMMENT_LENGTH) {\n return {\n restrict: 'AE',\n scope: {\n rdfsLabel: '=',\n rdfsComment: '=',\n expanded: '=',\n alwaysExpanded: '='\n },\n templateUrl: 'js/angular/graphexplore/templates/rdfsCommentLabelTemplate.html',\n link: function (scope, element) {\n scope.stringLimit = SHORT_COMMENT_LENGTH;\n scope.scrollToTop = function () {\n element[0].getElementsByClassName('rdfs-comment')[0].scrollTop = 0;\n };\n\n scope.checkCommentLength = function () {\n const commentLength = element[0].getElementsByClassName('rdfs-comment-text')[0].innerText.length;\n return commentLength < SHORT_COMMENT_LENGTH;\n };\n\n scope.equalHeights = function () {\n const commentHeight = element[0].getElementsByClassName('rdfs-comment-text')[0].innerHeight;\n if (commentHeight < 250 && scope.expanded) {\n element[0].getElementsByClassName('rdfs-comment')[0].innerHeight = commentHeight;\n }\n };\n\n scope.toggleFullComment = function () {\n scope.expanded = !scope.expanded;\n };\n\n scope.$watch('expanded || alwaysExpanded', function (value) {\n if (value) {\n scope.stringLimit = scope.rdfsComment.length;\n } else {\n scope.stringLimit = SHORT_COMMENT_LENGTH;\n }\n });\n }\n };\n}\n"],"sourceRoot":""}
@@ -1,2 +1,2 @@
1
- (window.webpackJsonp=window.webpackJsonp||[]).push([[62],{64:function(e,n){function c(e,n){return{restrict:"AE",scope:{searchData:"=",searchFields:"@",titleField:"@",searchPlaceholder:"@",initialValue:"=",searchedObjCallback:"&"},templateUrl:"js/angular/graphexplore/templates/searchIconInputTemplate.html",link:function(c,s){c.searchedObjCallback=c.searchedObjCallback(),c.performSearchActionOnEnter=function(){e.$broadcast("onEnterKeypressSearchAction")},c.showInput=function(){$("#selectGraphDropdown").hide(),s.find("#search_input #search_input_value")[0].value="",s.find(".search-icon").addClass("animated bounceOut").css("z-index","-1"),s.find("#search_input .angucomplete-holder").css("display","block"),n((function(){s.find("#search_input .angucomplete-holder").css("width","250px").css("left","-215px"),n((function(){s.find(".close-icon").css("display","block").addClass("animated bounceIn").css("z-index","3"),s.find("#search_input #search_input_value").focus()}),200)}),1)},c.hideInput=function(){s.find("#search_input #search_input_value")[0].value="",s.find("#search_input .angucomplete-holder").css("width","0px").css("left","35px"),n((function(){s.find("#search_input .angucomplete-holder").css("display","none"),$("#selectGraphDropdown").show()}),250),s.find(".close-icon").addClass("animated bounceOut").removeClass("bounceOut").css("z-index","-1").css("display","none").click((function(){$(".tooltip").hide()})),n((function(){s.find(".search-icon").css("display","inline-block").removeClass("bounceOut").addClass("bounceIn").css("z-index","3")}),200)}}}}angular.module("graphdb.framework.graphexplore.directives.searchcontrols",[]).directive("searchIconInput",c),c.$inject=["$rootScope","$timeout"]}}]);
2
- //# sourceMappingURL=62.9e101a1894ee0f9a48be.bundle.js.map
1
+ (window.webpackJsonp=window.webpackJsonp||[]).push([[62],{65:function(e,n){function c(e,n){return{restrict:"AE",scope:{searchData:"=",searchFields:"@",titleField:"@",searchPlaceholder:"@",initialValue:"=",searchedObjCallback:"&"},templateUrl:"js/angular/graphexplore/templates/searchIconInputTemplate.html",link:function(c,s){c.searchedObjCallback=c.searchedObjCallback(),c.performSearchActionOnEnter=function(){e.$broadcast("onEnterKeypressSearchAction")},c.showInput=function(){$("#selectGraphDropdown").hide(),s.find("#search_input #search_input_value")[0].value="",s.find(".search-icon").addClass("animated bounceOut").css("z-index","-1"),s.find("#search_input .angucomplete-holder").css("display","block"),n((function(){s.find("#search_input .angucomplete-holder").css("width","250px").css("left","-215px"),n((function(){s.find(".close-icon").css("display","block").addClass("animated bounceIn").css("z-index","3"),s.find("#search_input #search_input_value").focus()}),200)}),1)},c.hideInput=function(){s.find("#search_input #search_input_value")[0].value="",s.find("#search_input .angucomplete-holder").css("width","0px").css("left","35px"),n((function(){s.find("#search_input .angucomplete-holder").css("display","none"),$("#selectGraphDropdown").show()}),250),s.find(".close-icon").addClass("animated bounceOut").removeClass("bounceOut").css("z-index","-1").css("display","none").click((function(){$(".tooltip").hide()})),n((function(){s.find(".search-icon").css("display","inline-block").removeClass("bounceOut").addClass("bounceIn").css("z-index","3")}),200)}}}}angular.module("graphdb.framework.graphexplore.directives.searchcontrols",[]).directive("searchIconInput",c),c.$inject=["$rootScope","$timeout"]}}]);
2
+ //# sourceMappingURL=62.d53d104f74f9fbdacb35.bundle.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["webpack:///./src/js/angular/graphexplore/directives/search-icon-input.directive.js"],"names":["searchIconInputDirective","$rootScope","$timeout","restrict","scope","searchData","searchFields","titleField","searchPlaceholder","initialValue","searchedObjCallback","templateUrl","link","element","performSearchActionOnEnter","$broadcast","showInput","$","hide","find","value","addClass","css","focus","hideInput","show","removeClass","click","angular","module","directive","$inject"],"mappings":"2EAMA,SAASA,EAAyBC,EAAYC,GAC1C,MAAO,CACHC,SAAU,KACVC,MAAO,CACHC,WAAY,IACZC,aAAc,IACdC,WAAY,IACZC,kBAAmB,IACnBC,aAAc,IACdC,oBAAqB,KAEzBC,YAAa,iEACbC,KAAM,SAAUR,EAAOS,GACnBT,EAAMM,oBAAsBN,EAAMM,sBAElCN,EAAMU,2BAA6B,WAC/Bb,EAAWc,WAAW,gCAG1BX,EAAMY,UAAY,WACdC,EAAE,wBAAwBC,OAC1BL,EAAQM,KAAK,qCAAqC,GAAGC,MAAQ,GAC7DP,EAAQM,KAAK,gBACRE,SAAS,sBACTC,IAAI,UAAW,MACpBT,EAAQM,KAAK,sCACRG,IAAI,UAAW,SACpBpB,GAAS,WACLW,EAAQM,KAAK,sCACRG,IAAI,QAAS,SACbA,IAAI,OAAQ,UACjBpB,GAAS,WACLW,EAAQM,KAAK,eACRG,IAAI,UAAW,SACfD,SAAS,qBACTC,IAAI,UAAW,KACpBT,EAAQM,KAAK,qCACRI,UACN,OACJ,IAGPnB,EAAMoB,UAAY,WACdX,EAAQM,KAAK,qCAAqC,GAAGC,MAAQ,GAC7DP,EAAQM,KAAK,sCACRG,IAAI,QAAS,OACbA,IAAI,OAAQ,QACjBpB,GAAS,WACLW,EAAQM,KAAK,sCACRG,IAAI,UAAW,QACpBL,EAAE,wBAAwBQ,SAC3B,KACHZ,EAAQM,KAAK,eACRE,SAAS,sBACTK,YAAY,aACZJ,IAAI,UAAW,MACfA,IAAI,UAAW,QAGfK,OAAM,WACHV,EAAE,YAAYC,UAEtBhB,GAAS,WACLW,EAAQM,KAAK,gBACRG,IAAI,UAAW,gBACfI,YAAY,aACZL,SAAS,YACTC,IAAI,UAAW,OACrB,QA1EnBM,QACKC,OAAO,2DAA4D,IACnEC,UAAU,kBAAmB9B,GAElCA,EAAyB+B,QAAU,CAAC,aAAc","file":"62.9e101a1894ee0f9a48be.bundle.js","sourcesContent":["angular\n .module('graphdb.framework.graphexplore.directives.searchcontrols', [])\n .directive('searchIconInput', searchIconInputDirective);\n\nsearchIconInputDirective.$inject = ['$rootScope', '$timeout'];\n\nfunction searchIconInputDirective($rootScope, $timeout) {\n return {\n restrict: 'AE',\n scope: {\n searchData: '=',\n searchFields: '@',\n titleField: '@',\n searchPlaceholder: '@',\n initialValue: '=',\n searchedObjCallback: '&'\n },\n templateUrl: 'js/angular/graphexplore/templates/searchIconInputTemplate.html',\n link: function (scope, element) {\n scope.searchedObjCallback = scope.searchedObjCallback();\n\n scope.performSearchActionOnEnter = function () {\n $rootScope.$broadcast('onEnterKeypressSearchAction');\n };\n\n scope.showInput = function () {\n $('#selectGraphDropdown').hide();\n element.find('#search_input #search_input_value')[0].value = '';\n element.find('.search-icon')\n .addClass('animated bounceOut')\n .css('z-index', '-1');\n element.find('#search_input .angucomplete-holder')\n .css('display', 'block');\n $timeout(function () {\n element.find('#search_input .angucomplete-holder')\n .css('width', '250px')\n .css('left', '-215px');\n $timeout(function () {\n element.find('.close-icon')\n .css('display', 'block')\n .addClass('animated bounceIn')\n .css('z-index', '3');\n element.find('#search_input #search_input_value')\n .focus();\n }, 200);\n }, 1);\n };\n\n scope.hideInput = function () {\n element.find('#search_input #search_input_value')[0].value = '';\n element.find('#search_input .angucomplete-holder')\n .css('width', '0px')\n .css('left', '35px');\n $timeout(function () {\n element.find('#search_input .angucomplete-holder')\n .css('display', 'none');\n $('#selectGraphDropdown').show();\n }, 250);\n element.find('.close-icon')\n .addClass('animated bounceOut')\n .removeClass('bounceOut')\n .css('z-index', '-1')\n .css('display', 'none')\n // Hack needed to force close close-button tooltip in order not be\n // visible after icon is switched\n .click(function () {\n $('.tooltip').hide();\n });\n $timeout(function () {\n element.find('.search-icon')\n .css('display', 'inline-block')\n .removeClass('bounceOut')\n .addClass('bounceIn')\n .css('z-index', '3');\n }, 200);\n };\n }\n };\n}\n"],"sourceRoot":""}
1
+ {"version":3,"sources":["webpack:///./src/js/angular/graphexplore/directives/search-icon-input.directive.js"],"names":["searchIconInputDirective","$rootScope","$timeout","restrict","scope","searchData","searchFields","titleField","searchPlaceholder","initialValue","searchedObjCallback","templateUrl","link","element","performSearchActionOnEnter","$broadcast","showInput","$","hide","find","value","addClass","css","focus","hideInput","show","removeClass","click","angular","module","directive","$inject"],"mappings":"2EAMA,SAASA,EAAyBC,EAAYC,GAC1C,MAAO,CACHC,SAAU,KACVC,MAAO,CACHC,WAAY,IACZC,aAAc,IACdC,WAAY,IACZC,kBAAmB,IACnBC,aAAc,IACdC,oBAAqB,KAEzBC,YAAa,iEACbC,KAAM,SAAUR,EAAOS,GACnBT,EAAMM,oBAAsBN,EAAMM,sBAElCN,EAAMU,2BAA6B,WAC/Bb,EAAWc,WAAW,gCAG1BX,EAAMY,UAAY,WACdC,EAAE,wBAAwBC,OAC1BL,EAAQM,KAAK,qCAAqC,GAAGC,MAAQ,GAC7DP,EAAQM,KAAK,gBACRE,SAAS,sBACTC,IAAI,UAAW,MACpBT,EAAQM,KAAK,sCACRG,IAAI,UAAW,SACpBpB,GAAS,WACLW,EAAQM,KAAK,sCACRG,IAAI,QAAS,SACbA,IAAI,OAAQ,UACjBpB,GAAS,WACLW,EAAQM,KAAK,eACRG,IAAI,UAAW,SACfD,SAAS,qBACTC,IAAI,UAAW,KACpBT,EAAQM,KAAK,qCACRI,UACN,OACJ,IAGPnB,EAAMoB,UAAY,WACdX,EAAQM,KAAK,qCAAqC,GAAGC,MAAQ,GAC7DP,EAAQM,KAAK,sCACRG,IAAI,QAAS,OACbA,IAAI,OAAQ,QACjBpB,GAAS,WACLW,EAAQM,KAAK,sCACRG,IAAI,UAAW,QACpBL,EAAE,wBAAwBQ,SAC3B,KACHZ,EAAQM,KAAK,eACRE,SAAS,sBACTK,YAAY,aACZJ,IAAI,UAAW,MACfA,IAAI,UAAW,QAGfK,OAAM,WACHV,EAAE,YAAYC,UAEtBhB,GAAS,WACLW,EAAQM,KAAK,gBACRG,IAAI,UAAW,gBACfI,YAAY,aACZL,SAAS,YACTC,IAAI,UAAW,OACrB,QA1EnBM,QACKC,OAAO,2DAA4D,IACnEC,UAAU,kBAAmB9B,GAElCA,EAAyB+B,QAAU,CAAC,aAAc","file":"62.d53d104f74f9fbdacb35.bundle.js","sourcesContent":["angular\n .module('graphdb.framework.graphexplore.directives.searchcontrols', [])\n .directive('searchIconInput', searchIconInputDirective);\n\nsearchIconInputDirective.$inject = ['$rootScope', '$timeout'];\n\nfunction searchIconInputDirective($rootScope, $timeout) {\n return {\n restrict: 'AE',\n scope: {\n searchData: '=',\n searchFields: '@',\n titleField: '@',\n searchPlaceholder: '@',\n initialValue: '=',\n searchedObjCallback: '&'\n },\n templateUrl: 'js/angular/graphexplore/templates/searchIconInputTemplate.html',\n link: function (scope, element) {\n scope.searchedObjCallback = scope.searchedObjCallback();\n\n scope.performSearchActionOnEnter = function () {\n $rootScope.$broadcast('onEnterKeypressSearchAction');\n };\n\n scope.showInput = function () {\n $('#selectGraphDropdown').hide();\n element.find('#search_input #search_input_value')[0].value = '';\n element.find('.search-icon')\n .addClass('animated bounceOut')\n .css('z-index', '-1');\n element.find('#search_input .angucomplete-holder')\n .css('display', 'block');\n $timeout(function () {\n element.find('#search_input .angucomplete-holder')\n .css('width', '250px')\n .css('left', '-215px');\n $timeout(function () {\n element.find('.close-icon')\n .css('display', 'block')\n .addClass('animated bounceIn')\n .css('z-index', '3');\n element.find('#search_input #search_input_value')\n .focus();\n }, 200);\n }, 1);\n };\n\n scope.hideInput = function () {\n element.find('#search_input #search_input_value')[0].value = '';\n element.find('#search_input .angucomplete-holder')\n .css('width', '0px')\n .css('left', '35px');\n $timeout(function () {\n element.find('#search_input .angucomplete-holder')\n .css('display', 'none');\n $('#selectGraphDropdown').show();\n }, 250);\n element.find('.close-icon')\n .addClass('animated bounceOut')\n .removeClass('bounceOut')\n .css('z-index', '-1')\n .css('display', 'none')\n // Hack needed to force close close-button tooltip in order not be\n // visible after icon is switched\n .click(function () {\n $('.tooltip').hide();\n });\n $timeout(function () {\n element.find('.search-icon')\n .css('display', 'inline-block')\n .removeClass('bounceOut')\n .addClass('bounceIn')\n .css('z-index', '3');\n }, 200);\n };\n }\n };\n}\n"],"sourceRoot":""}
@@ -1,2 +1,2 @@
1
- (window.webpackJsonp=window.webpackJsonp||[]).push([[63],{60:function(e,r){function o(e,r){return{restrict:"A",scope:{},templateUrl:"js/angular/graphexplore/templates/systemRepoWarningTemplate.html",link:function(o){o.isSystemRepository=function(){return"SYSTEM"===e.getActiveRepository()},o.hasPermission=function(){return r.hasPermission()}}}}angular.module("graphdb.framework.graphexplore.directives.sysrepo",["graphdb.framework.graphexplore.controllers.class"]).directive("systemRepoWarning",o),o.$inject=["$repositories","$rootScope"]}}]);
2
- //# sourceMappingURL=63.3ffdfd6f35fe62ea729c.bundle.js.map
1
+ (window.webpackJsonp=window.webpackJsonp||[]).push([[63],{61:function(e,r){function o(e,r){return{restrict:"A",scope:{},templateUrl:"js/angular/graphexplore/templates/systemRepoWarningTemplate.html",link:function(o){o.isSystemRepository=function(){return"SYSTEM"===e.getActiveRepository()},o.hasPermission=function(){return r.hasPermission()}}}}angular.module("graphdb.framework.graphexplore.directives.sysrepo",["graphdb.framework.graphexplore.controllers.class"]).directive("systemRepoWarning",o),o.$inject=["$repositories","$rootScope"]}}]);
2
+ //# sourceMappingURL=63.46514dd9cf756bd0e831.bundle.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["webpack:///./src/js/angular/graphexplore/directives/system-repo-warning.directive.js"],"names":["systemRepoWarningDirective","$repositories","$rootScope","restrict","scope","templateUrl","link","isSystemRepository","getActiveRepository","hasPermission","angular","module","directive","$inject"],"mappings":"2EAMA,SAASA,EAA2BC,EAAeC,GAC/C,MAAO,CACHC,SAAU,IACVC,MAAO,GACPC,YAAa,mEACbC,KAAM,SAAUF,GACZA,EAAMG,mBAAqB,WACvB,MAA+C,WAAxCN,EAAcO,uBAGzBJ,EAAMK,cAAgB,WAClB,OAAOP,EAAWO,mBAjBlCC,QACKC,OAAO,oDAAqD,CAAC,qDAC7DC,UAAU,oBAAqBZ,GAEpCA,EAA2Ba,QAAU,CAAC,gBAAiB","file":"63.3ffdfd6f35fe62ea729c.bundle.js","sourcesContent":["angular\n .module('graphdb.framework.graphexplore.directives.sysrepo', ['graphdb.framework.graphexplore.controllers.class'])\n .directive('systemRepoWarning', systemRepoWarningDirective);\n\nsystemRepoWarningDirective.$inject = ['$repositories', '$rootScope'];\n\nfunction systemRepoWarningDirective($repositories, $rootScope) {\n return {\n restrict: 'A',\n scope: {},\n templateUrl: 'js/angular/graphexplore/templates/systemRepoWarningTemplate.html',\n link: function (scope) {\n scope.isSystemRepository = function () {\n return $repositories.getActiveRepository() === 'SYSTEM';\n };\n\n scope.hasPermission = function () {\n return $rootScope.hasPermission();\n };\n }\n };\n}\n"],"sourceRoot":""}
1
+ {"version":3,"sources":["webpack:///./src/js/angular/graphexplore/directives/system-repo-warning.directive.js"],"names":["systemRepoWarningDirective","$repositories","$rootScope","restrict","scope","templateUrl","link","isSystemRepository","getActiveRepository","hasPermission","angular","module","directive","$inject"],"mappings":"2EAMA,SAASA,EAA2BC,EAAeC,GAC/C,MAAO,CACHC,SAAU,IACVC,MAAO,GACPC,YAAa,mEACbC,KAAM,SAAUF,GACZA,EAAMG,mBAAqB,WACvB,MAA+C,WAAxCN,EAAcO,uBAGzBJ,EAAMK,cAAgB,WAClB,OAAOP,EAAWO,mBAjBlCC,QACKC,OAAO,oDAAqD,CAAC,qDAC7DC,UAAU,oBAAqBZ,GAEpCA,EAA2Ba,QAAU,CAAC,gBAAiB","file":"63.46514dd9cf756bd0e831.bundle.js","sourcesContent":["angular\n .module('graphdb.framework.graphexplore.directives.sysrepo', ['graphdb.framework.graphexplore.controllers.class'])\n .directive('systemRepoWarning', systemRepoWarningDirective);\n\nsystemRepoWarningDirective.$inject = ['$repositories', '$rootScope'];\n\nfunction systemRepoWarningDirective($repositories, $rootScope) {\n return {\n restrict: 'A',\n scope: {},\n templateUrl: 'js/angular/graphexplore/templates/systemRepoWarningTemplate.html',\n link: function (scope) {\n scope.isSystemRepository = function () {\n return $repositories.getActiveRepository() === 'SYSTEM';\n };\n\n scope.hasPermission = function () {\n return $rootScope.hasPermission();\n };\n }\n };\n}\n"],"sourceRoot":""}
@@ -1,2 +1,2 @@
1
- (window.webpackJsonp=window.webpackJsonp||[]).push([[65],{50:function(e,n){angular.module("graphdb.framework.graphexplore.services.rdfsdetails",[]).factory("RdfsLabelCommentService",(function(){return{processAndFilterLabelAndComment:function(e){function n(e){const n={};for(let r in e)if(e.hasOwnProperty(r)){let a=r;r.indexOf(":")>-1&&(a=r,r=r.split(":")[1].toLowerCase()),n[r]=e[a]}return n}const r=e.results.bindings,a=[],t=[];_.each(r,(function(e){let r;angular.isUndefined(e.label)||(r=n(e.label),a.push(r)),angular.isUndefined(e.comment)||(r=n(e.comment),t.push(r))}));const l=function(e){return"en"===e.lang||"de"===e.lang},o=$.grep(a,l)[0],i=$.grep(t,l)[0],s=angular.isUndefined(o)?a.length>0?a[0].value:void 0:o.value,d=angular.isUndefined(i)?t.length>0?t[0].value:void 0:i.value;return{rdfsLabel:s,rdfsComment:d}}}}))}}]);
2
- //# sourceMappingURL=65.96a1f2f3c83a29e2c6c3.bundle.js.map
1
+ (window.webpackJsonp=window.webpackJsonp||[]).push([[65],{51:function(e,n){angular.module("graphdb.framework.graphexplore.services.rdfsdetails",[]).factory("RdfsLabelCommentService",(function(){return{processAndFilterLabelAndComment:function(e){function n(e){const n={};for(let r in e)if(e.hasOwnProperty(r)){let a=r;r.indexOf(":")>-1&&(a=r,r=r.split(":")[1].toLowerCase()),n[r]=e[a]}return n}const r=e.results.bindings,a=[],t=[];_.each(r,(function(e){let r;angular.isUndefined(e.label)||(r=n(e.label),a.push(r)),angular.isUndefined(e.comment)||(r=n(e.comment),t.push(r))}));const l=function(e){return"en"===e.lang||"de"===e.lang},o=$.grep(a,l)[0],i=$.grep(t,l)[0],s=angular.isUndefined(o)?a.length>0?a[0].value:void 0:o.value,d=angular.isUndefined(i)?t.length>0?t[0].value:void 0:i.value;return{rdfsLabel:s,rdfsComment:d}}}}))}}]);
2
+ //# sourceMappingURL=65.401f44aaddb8aec6be1e.bundle.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["webpack:///./src/js/angular/graphexplore/services/rdfs-label-comment.service.js"],"names":["angular","module","factory","processAndFilterLabelAndComment","response","processKeysWithColon","obj","newObj","k","hasOwnProperty","origKey","indexOf","split","toLowerCase","results","bindings","labels","comments","_","each","value","processedObj","isUndefined","label","push","comment","langFilter","item","lang","filteredRdfsLabel","$","grep","filteredRdfsComment","rdfsLabel","length","undefined","rdfsComment"],"mappings":"2EAAAA,QACKC,OAAO,sDAAuD,IAC9DC,QAAQ,2BAEb,WACI,MAAO,CACHC,gCAGJ,SAAyCC,GACrC,SAASC,EAAqBC,GAC1B,MAAMC,EAAS,GACf,IAAK,IAAIC,KAAKF,EACV,GAAIA,EAAIG,eAAeD,GAAI,CACvB,IAAIE,EAAUF,EACVA,EAAEG,QAAQ,MAAQ,IAClBD,EAAUF,EACVA,EAAIA,EAAEI,MAAM,KAAK,GAAGC,eAExBN,EAAOC,GAAKF,EAAII,GAGxB,OAAOH,EAGX,MAAMO,EAAUV,EAASU,QAAQC,SAC3BC,EAAS,GACTC,EAAW,GACjBC,EAAEC,KAAKL,GAAS,SAAUM,GACtB,IAAIC,EACCrB,QAAQsB,YAAYF,EAAMG,SAC3BF,EAAehB,EAAqBe,EAAMG,OAC1CP,EAAOQ,KAAKH,IAGXrB,QAAQsB,YAAYF,EAAMK,WAC3BJ,EAAehB,EAAqBe,EAAMK,SAC1CR,EAASO,KAAKH,OAItB,MAAMK,EAAa,SAAUC,GACzB,MAAqB,OAAdA,EAAKC,MAA+B,OAAdD,EAAKC,MAGhCC,EAAoBC,EAAEC,KAAKf,EAAQU,GAAY,GAC/CM,EAAsBF,EAAEC,KAAKd,EAAUS,GAAY,GAEnDO,EAAajC,QAAQsB,YAAYO,GAEjCb,EAAOkB,OAAS,EACZlB,EAAO,GAAGI,WACVe,EAHJN,EAAkBT,MAKlBgB,EAAepC,QAAQsB,YAAYU,GAEnCf,EAASiB,OAAS,EACdjB,EAAS,GAAGG,WACZe,EAHJH,EAAoBZ,MAK1B,MAAO,CACHa,UAAWA,EACXG,YAAaA","file":"65.96a1f2f3c83a29e2c6c3.bundle.js","sourcesContent":["angular\n .module('graphdb.framework.graphexplore.services.rdfsdetails', [])\n .factory('RdfsLabelCommentService', RdfsLabelCommentService);\n\nfunction RdfsLabelCommentService() {\n return {\n processAndFilterLabelAndComment: processAndFilterLabelAndComment\n };\n\n function processAndFilterLabelAndComment(response) {\n function processKeysWithColon(obj) {\n const newObj = {};\n for (let k in obj) {\n if (obj.hasOwnProperty(k)) {\n let origKey = k;\n if (k.indexOf(':') > -1) {\n origKey = k;\n k = k.split(':')[1].toLowerCase();\n }\n newObj[k] = obj[origKey];\n }\n }\n return newObj;\n }\n\n const results = response.results.bindings;\n const labels = [];\n const comments = [];\n _.each(results, function (value) {\n let processedObj;\n if (!angular.isUndefined(value.label)) {\n processedObj = processKeysWithColon(value.label);\n labels.push(processedObj);\n }\n\n if (!angular.isUndefined(value.comment)) {\n processedObj = processKeysWithColon(value.comment);\n comments.push(processedObj);\n }\n });\n\n const langFilter = function (item) {\n return item.lang === 'en' || item.lang === 'de';\n };\n\n const filteredRdfsLabel = $.grep(labels, langFilter)[0];\n const filteredRdfsComment = $.grep(comments, langFilter)[0];\n\n const rdfsLabel = !angular.isUndefined(filteredRdfsLabel)\n ? filteredRdfsLabel.value\n : labels.length > 0\n ? labels[0].value\n : undefined;\n\n const rdfsComment = !angular.isUndefined(filteredRdfsComment)\n ? filteredRdfsComment.value\n : comments.length > 0\n ? comments[0].value\n : undefined;\n\n return {\n rdfsLabel: rdfsLabel,\n rdfsComment: rdfsComment\n };\n }\n}\n"],"sourceRoot":""}
1
+ {"version":3,"sources":["webpack:///./src/js/angular/graphexplore/services/rdfs-label-comment.service.js"],"names":["angular","module","factory","processAndFilterLabelAndComment","response","processKeysWithColon","obj","newObj","k","hasOwnProperty","origKey","indexOf","split","toLowerCase","results","bindings","labels","comments","_","each","value","processedObj","isUndefined","label","push","comment","langFilter","item","lang","filteredRdfsLabel","$","grep","filteredRdfsComment","rdfsLabel","length","undefined","rdfsComment"],"mappings":"2EAAAA,QACKC,OAAO,sDAAuD,IAC9DC,QAAQ,2BAEb,WACI,MAAO,CACHC,gCAGJ,SAAyCC,GACrC,SAASC,EAAqBC,GAC1B,MAAMC,EAAS,GACf,IAAK,IAAIC,KAAKF,EACV,GAAIA,EAAIG,eAAeD,GAAI,CACvB,IAAIE,EAAUF,EACVA,EAAEG,QAAQ,MAAQ,IAClBD,EAAUF,EACVA,EAAIA,EAAEI,MAAM,KAAK,GAAGC,eAExBN,EAAOC,GAAKF,EAAII,GAGxB,OAAOH,EAGX,MAAMO,EAAUV,EAASU,QAAQC,SAC3BC,EAAS,GACTC,EAAW,GACjBC,EAAEC,KAAKL,GAAS,SAAUM,GACtB,IAAIC,EACCrB,QAAQsB,YAAYF,EAAMG,SAC3BF,EAAehB,EAAqBe,EAAMG,OAC1CP,EAAOQ,KAAKH,IAGXrB,QAAQsB,YAAYF,EAAMK,WAC3BJ,EAAehB,EAAqBe,EAAMK,SAC1CR,EAASO,KAAKH,OAItB,MAAMK,EAAa,SAAUC,GACzB,MAAqB,OAAdA,EAAKC,MAA+B,OAAdD,EAAKC,MAGhCC,EAAoBC,EAAEC,KAAKf,EAAQU,GAAY,GAC/CM,EAAsBF,EAAEC,KAAKd,EAAUS,GAAY,GAEnDO,EAAajC,QAAQsB,YAAYO,GAEjCb,EAAOkB,OAAS,EACZlB,EAAO,GAAGI,WACVe,EAHJN,EAAkBT,MAKlBgB,EAAepC,QAAQsB,YAAYU,GAEnCf,EAASiB,OAAS,EACdjB,EAAS,GAAGG,WACZe,EAHJH,EAAoBZ,MAK1B,MAAO,CACHa,UAAWA,EACXG,YAAaA","file":"65.401f44aaddb8aec6be1e.bundle.js","sourcesContent":["angular\n .module('graphdb.framework.graphexplore.services.rdfsdetails', [])\n .factory('RdfsLabelCommentService', RdfsLabelCommentService);\n\nfunction RdfsLabelCommentService() {\n return {\n processAndFilterLabelAndComment: processAndFilterLabelAndComment\n };\n\n function processAndFilterLabelAndComment(response) {\n function processKeysWithColon(obj) {\n const newObj = {};\n for (let k in obj) {\n if (obj.hasOwnProperty(k)) {\n let origKey = k;\n if (k.indexOf(':') > -1) {\n origKey = k;\n k = k.split(':')[1].toLowerCase();\n }\n newObj[k] = obj[origKey];\n }\n }\n return newObj;\n }\n\n const results = response.results.bindings;\n const labels = [];\n const comments = [];\n _.each(results, function (value) {\n let processedObj;\n if (!angular.isUndefined(value.label)) {\n processedObj = processKeysWithColon(value.label);\n labels.push(processedObj);\n }\n\n if (!angular.isUndefined(value.comment)) {\n processedObj = processKeysWithColon(value.comment);\n comments.push(processedObj);\n }\n });\n\n const langFilter = function (item) {\n return item.lang === 'en' || item.lang === 'de';\n };\n\n const filteredRdfsLabel = $.grep(labels, langFilter)[0];\n const filteredRdfsComment = $.grep(comments, langFilter)[0];\n\n const rdfsLabel = !angular.isUndefined(filteredRdfsLabel)\n ? filteredRdfsLabel.value\n : labels.length > 0\n ? labels[0].value\n : undefined;\n\n const rdfsComment = !angular.isUndefined(filteredRdfsComment)\n ? filteredRdfsComment.value\n : comments.length > 0\n ? comments[0].value\n : undefined;\n\n return {\n rdfsLabel: rdfsLabel,\n rdfsComment: rdfsComment\n };\n }\n}\n"],"sourceRoot":""}
@@ -1,2 +1,2 @@
1
- (window.webpackJsonp=window.webpackJsonp||[]).push([[66],{49:function(n,i){function r(n){return{initLazyList:function(i,r,e,o,t){return n((function(){const n=i+o-1,c=Math.max(0-o,n),a=Math.min(n+r-1,t.length);c>a?e([]):$.isArray(t)&&e(t.slice(c,a+1))}),100,!0)}}}angular.module("graphdb.framework.graphexplore.services.uiscroll",[]).factory("UiScrollService",r),r.$inject=["$timeout"]}}]);
2
- //# sourceMappingURL=66.cf37216fb6f8e53cef2b.bundle.js.map
1
+ (window.webpackJsonp=window.webpackJsonp||[]).push([[66],{50:function(n,i){function r(n){return{initLazyList:function(i,r,e,o,t){return n((function(){const n=i+o-1,c=Math.max(0-o,n),a=Math.min(n+r-1,t.length);c>a?e([]):$.isArray(t)&&e(t.slice(c,a+1))}),100,!0)}}}angular.module("graphdb.framework.graphexplore.services.uiscroll",[]).factory("UiScrollService",r),r.$inject=["$timeout"]}}]);
2
+ //# sourceMappingURL=66.7a1e4093247d23b65387.bundle.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["webpack:///./src/js/angular/graphexplore/services/ui-scroll.service.js"],"names":["UiScrollService","$timeout","initLazyList","index","count","success","position","data","actualIndex","start","Math","max","end","min","length","$","isArray","slice","angular","module","factory","$inject"],"mappings":"2EAMA,SAASA,EAAgBC,GACrB,MAAO,CACHC,aAGJ,SAAsBC,EAAOC,EAAOC,EAASC,EAAUC,GACnD,OAAON,GAAS,WACZ,MAAMO,EAAcL,EAAQG,EAAW,EACjCG,EAAQC,KAAKC,IAAI,EAAIL,EAAUE,GAC/BI,EAAMF,KAAKG,IAAIL,EAAcJ,EAAQ,EAAGG,EAAKO,QAC/CL,EAAQG,EACRP,EAAQ,IACDU,EAAEC,QAAQT,IACjBF,EAAQE,EAAKU,MAAMR,EAAOG,EAAM,MAErC,KAAK,KArBhBM,QACKC,OAAO,mDAAoD,IAC3DC,QAAQ,kBAAmBpB,GAEhCA,EAAgBqB,QAAU,CAAC","file":"66.cf37216fb6f8e53cef2b.bundle.js","sourcesContent":["angular\n .module('graphdb.framework.graphexplore.services.uiscroll', [])\n .factory('UiScrollService', UiScrollService);\n\nUiScrollService.$inject = ['$timeout'];\n\nfunction UiScrollService($timeout) {\n return {\n initLazyList: initLazyList\n };\n\n function initLazyList(index, count, success, position, data) {\n return $timeout(function () {\n const actualIndex = index + position - 1;\n const start = Math.max(0 - position, actualIndex);\n const end = Math.min(actualIndex + count - 1, data.length);\n if (start > end) {\n success([]);\n } else if ($.isArray(data)) {\n success(data.slice(start, end + 1));\n }\n }, 100, true);\n }\n}\n"],"sourceRoot":""}
1
+ {"version":3,"sources":["webpack:///./src/js/angular/graphexplore/services/ui-scroll.service.js"],"names":["UiScrollService","$timeout","initLazyList","index","count","success","position","data","actualIndex","start","Math","max","end","min","length","$","isArray","slice","angular","module","factory","$inject"],"mappings":"2EAMA,SAASA,EAAgBC,GACrB,MAAO,CACHC,aAGJ,SAAsBC,EAAOC,EAAOC,EAASC,EAAUC,GACnD,OAAON,GAAS,WACZ,MAAMO,EAAcL,EAAQG,EAAW,EACjCG,EAAQC,KAAKC,IAAI,EAAIL,EAAUE,GAC/BI,EAAMF,KAAKG,IAAIL,EAAcJ,EAAQ,EAAGG,EAAKO,QAC/CL,EAAQG,EACRP,EAAQ,IACDU,EAAEC,QAAQT,IACjBF,EAAQE,EAAKU,MAAMR,EAAOG,EAAM,MAErC,KAAK,KArBhBM,QACKC,OAAO,mDAAoD,IAC3DC,QAAQ,kBAAmBpB,GAEhCA,EAAgBqB,QAAU,CAAC","file":"66.7a1e4093247d23b65387.bundle.js","sourcesContent":["angular\n .module('graphdb.framework.graphexplore.services.uiscroll', [])\n .factory('UiScrollService', UiScrollService);\n\nUiScrollService.$inject = ['$timeout'];\n\nfunction UiScrollService($timeout) {\n return {\n initLazyList: initLazyList\n };\n\n function initLazyList(index, count, success, position, data) {\n return $timeout(function () {\n const actualIndex = index + position - 1;\n const start = Math.max(0 - position, actualIndex);\n const end = Math.min(actualIndex + count - 1, data.length);\n if (start > end) {\n success([]);\n } else if ($.isArray(data)) {\n success(data.slice(start, end + 1));\n }\n }, 100, true);\n }\n}\n"],"sourceRoot":""}