graphdb-workbench 2.2.4-TR1 → 2.2.4-TR2

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 (156) hide show
  1. package/dist/{102.7141102a059ef5eba1ea.bundle.js → 102.d52dc777ce7b5de1a30a.bundle.js} +2 -2
  2. package/dist/{102.7141102a059ef5eba1ea.bundle.js.map → 102.d52dc777ce7b5de1a30a.bundle.js.map} +1 -1
  3. package/dist/{104.ecd04b9cba294e159ca5.bundle.js → 104.09c8b5802e53cd9dced9.bundle.js} +2 -2
  4. package/dist/{104.ecd04b9cba294e159ca5.bundle.js.map → 104.09c8b5802e53cd9dced9.bundle.js.map} +1 -1
  5. package/dist/{107.5972b71755d2f24f6f44.bundle.js → 107.481f84627ac231f49e56.bundle.js} +2 -2
  6. package/dist/{107.5972b71755d2f24f6f44.bundle.js.map → 107.481f84627ac231f49e56.bundle.js.map} +1 -1
  7. package/dist/108.d61b0e4a54e1d0e6550d.bundle.js +2 -0
  8. package/dist/{108.162ea156d1fc4ad2525f.bundle.js.map → 108.d61b0e4a54e1d0e6550d.bundle.js.map} +1 -1
  9. package/dist/{11.f7cb87be309f6bd00aa5.bundle.js → 11.89d3de4f2e80e373ecf2.bundle.js} +3 -3
  10. package/dist/{11.f7cb87be309f6bd00aa5.bundle.js.map → 11.89d3de4f2e80e373ecf2.bundle.js.map} +1 -1
  11. package/dist/{115.abb22e52d5886ed645c1.bundle.js → 115.36a12f5a0804f33cb569.bundle.js} +2 -2
  12. package/dist/{115.abb22e52d5886ed645c1.bundle.js.map → 115.36a12f5a0804f33cb569.bundle.js.map} +1 -1
  13. package/dist/{117.ed07ffe3ff3bead9b43b.bundle.js → 117.9c58e6155d7467c45284.bundle.js} +2 -2
  14. package/dist/{117.ed07ffe3ff3bead9b43b.bundle.js.map → 117.9c58e6155d7467c45284.bundle.js.map} +1 -1
  15. package/dist/{118.57c922b04fbcf0d65d1c.bundle.js → 118.7cdbf2a7be83e4cdc7e2.bundle.js} +2 -2
  16. package/dist/{118.57c922b04fbcf0d65d1c.bundle.js.map → 118.7cdbf2a7be83e4cdc7e2.bundle.js.map} +1 -1
  17. package/dist/{119.7b75484ef37c16039937.bundle.js → 119.f7c106efa2582220baa7.bundle.js} +2 -2
  18. package/dist/{119.7b75484ef37c16039937.bundle.js.map → 119.f7c106efa2582220baa7.bundle.js.map} +1 -1
  19. package/dist/{12.eb41e4af80fee51d893c.bundle.js → 12.b4ac6d1ff3d669d3e63f.bundle.js} +2 -2
  20. package/dist/{12.eb41e4af80fee51d893c.bundle.js.map → 12.b4ac6d1ff3d669d3e63f.bundle.js.map} +1 -1
  21. package/dist/{120.0f42d5a0967c1f4636ca.bundle.js → 120.d20d9e20e2d3c5476f8d.bundle.js} +2 -2
  22. package/dist/{120.0f42d5a0967c1f4636ca.bundle.js.map → 120.d20d9e20e2d3c5476f8d.bundle.js.map} +1 -1
  23. package/dist/{121.f85253eb7e057efdb05d.bundle.js → 121.dc96efcaf4dc5e63f58d.bundle.js} +2 -2
  24. package/dist/{121.f85253eb7e057efdb05d.bundle.js.map → 121.dc96efcaf4dc5e63f58d.bundle.js.map} +1 -1
  25. package/dist/{126.349ebcea493c77fecf7e.bundle.js → 126.4c2fb40676d2508bbc65.bundle.js} +2 -2
  26. package/dist/{126.349ebcea493c77fecf7e.bundle.js.map → 126.4c2fb40676d2508bbc65.bundle.js.map} +1 -1
  27. package/dist/{13.bc3607638ad1e2068125.bundle.js → 13.f6b8f9a2288e2485ee20.bundle.js} +2 -2
  28. package/dist/{13.bc3607638ad1e2068125.bundle.js.map → 13.f6b8f9a2288e2485ee20.bundle.js.map} +1 -1
  29. package/dist/148.45985ae23de642595544.bundle.js +1 -1
  30. package/dist/148.45985ae23de642595544.bundle.js.map +1 -1
  31. package/dist/16.2ca98f5bec0fae221cef.bundle.js +3 -0
  32. package/dist/{16.cd06772f9e031d37db03.bundle.js.map → 16.2ca98f5bec0fae221cef.bundle.js.map} +1 -1
  33. package/dist/{17.45b5c34f6c73bde1113d.bundle.js → 17.b19a2d3870590d21e8e9.bundle.js} +2 -2
  34. package/dist/{17.45b5c34f6c73bde1113d.bundle.js.map → 17.b19a2d3870590d21e8e9.bundle.js.map} +1 -1
  35. package/dist/{19.92f27dd146df127e8d6e.bundle.js → 19.34c180252e48207f01b4.bundle.js} +3 -3
  36. package/dist/{19.92f27dd146df127e8d6e.bundle.js.map → 19.34c180252e48207f01b4.bundle.js.map} +1 -1
  37. package/dist/{20.4eb25ede434dc329ecf1.bundle.js → 20.9e9e388a98851c65f8f7.bundle.js} +2 -2
  38. package/dist/{20.4eb25ede434dc329ecf1.bundle.js.map → 20.9e9e388a98851c65f8f7.bundle.js.map} +1 -1
  39. package/dist/21.8434e1ecb6fcfa06e1f1.bundle.js +2 -0
  40. package/dist/21.8434e1ecb6fcfa06e1f1.bundle.js.map +1 -0
  41. package/dist/{23.16fc17b0a8983ce3d809.bundle.js → 23.22e3720d741ee87c8108.bundle.js} +2 -2
  42. package/dist/{23.16fc17b0a8983ce3d809.bundle.js.map → 23.22e3720d741ee87c8108.bundle.js.map} +1 -1
  43. package/dist/{24.04d84edbd8f93d036633.bundle.js → 24.63acd0fc451fc797ff79.bundle.js} +2 -2
  44. package/dist/{24.04d84edbd8f93d036633.bundle.js.map → 24.63acd0fc451fc797ff79.bundle.js.map} +1 -1
  45. package/dist/{26.3a642e64c7803f3b32f1.bundle.js → 26.194b2d09daa679b7e09c.bundle.js} +2 -2
  46. package/dist/{26.3a642e64c7803f3b32f1.bundle.js.map → 26.194b2d09daa679b7e09c.bundle.js.map} +1 -1
  47. package/dist/{27.fef157d9275358c9f1a0.bundle.js → 27.35fe33bb9622c2e29c43.bundle.js} +2 -2
  48. package/dist/{27.fef157d9275358c9f1a0.bundle.js.map → 27.35fe33bb9622c2e29c43.bundle.js.map} +1 -1
  49. package/dist/{29.a1b30610d7960a86b1cb.bundle.js → 29.e4eadb676659c5d6e44b.bundle.js} +3 -3
  50. package/dist/{29.a1b30610d7960a86b1cb.bundle.js.map → 29.e4eadb676659c5d6e44b.bundle.js.map} +1 -1
  51. package/dist/{30.3a05504ff287ca6df711.bundle.js → 30.0fb90b3cdf78fcde6251.bundle.js} +2 -2
  52. package/dist/{30.3a05504ff287ca6df711.bundle.js.map → 30.0fb90b3cdf78fcde6251.bundle.js.map} +1 -1
  53. package/dist/{31.13d5a8e9834cd5db589c.bundle.js → 31.8dd9fe71d36bd04a0433.bundle.js} +2 -2
  54. package/dist/{31.13d5a8e9834cd5db589c.bundle.js.map → 31.8dd9fe71d36bd04a0433.bundle.js.map} +1 -1
  55. package/dist/{32.59a7369287d15e8b9ab6.bundle.js → 32.8e1c25a47debdf5145d8.bundle.js} +2 -2
  56. package/dist/{32.59a7369287d15e8b9ab6.bundle.js.map → 32.8e1c25a47debdf5145d8.bundle.js.map} +1 -1
  57. package/dist/{33.fde8076c81c87c25c367.bundle.js → 33.89b51420b48880728b96.bundle.js} +2 -2
  58. package/dist/{33.fde8076c81c87c25c367.bundle.js.map → 33.89b51420b48880728b96.bundle.js.map} +1 -1
  59. package/dist/{35.fe688fc32270724c391d.bundle.js → 35.a9846fba95e98a294957.bundle.js} +2 -2
  60. package/dist/{35.fe688fc32270724c391d.bundle.js.map → 35.a9846fba95e98a294957.bundle.js.map} +1 -1
  61. package/dist/{36.7da22f08c8e850885cc5.bundle.js → 36.4dbd0f9007404b0adbe2.bundle.js} +2 -2
  62. package/dist/{36.7da22f08c8e850885cc5.bundle.js.map → 36.4dbd0f9007404b0adbe2.bundle.js.map} +1 -1
  63. package/dist/37.ac99eb00fe71266c5bff.bundle.js +2 -0
  64. package/dist/{37.8a9855206d5ae5eba9be.bundle.js.map → 37.ac99eb00fe71266c5bff.bundle.js.map} +1 -1
  65. package/dist/{39.0eebc4b972cff879c1c9.bundle.js → 39.8f8ae5c232bd2f023e7c.bundle.js} +2 -2
  66. package/dist/{39.0eebc4b972cff879c1c9.bundle.js.map → 39.8f8ae5c232bd2f023e7c.bundle.js.map} +1 -1
  67. package/dist/4.5391679fa01c55e842cc.bundle.js +2 -0
  68. package/dist/4.5391679fa01c55e842cc.bundle.js.map +1 -0
  69. package/dist/{40.10f42e3f6d8d87bd3221.bundle.js → 40.50f010a0a0ce99da5092.bundle.js} +2 -2
  70. package/dist/{40.10f42e3f6d8d87bd3221.bundle.js.map → 40.50f010a0a0ce99da5092.bundle.js.map} +1 -1
  71. package/dist/{41.368780c518c3f6cab4b7.bundle.js → 41.d09e0f01eac3492e3376.bundle.js} +2 -2
  72. package/dist/{41.368780c518c3f6cab4b7.bundle.js.map → 41.d09e0f01eac3492e3376.bundle.js.map} +1 -1
  73. package/dist/{42.1a48ae582180fa6374f9.bundle.js → 42.9561ff9cd77df0f86a91.bundle.js} +2 -2
  74. package/dist/{42.1a48ae582180fa6374f9.bundle.js.map → 42.9561ff9cd77df0f86a91.bundle.js.map} +1 -1
  75. package/dist/{43.64268be8880acd392fee.bundle.js → 43.0400aae23dac518b78ec.bundle.js} +2 -2
  76. package/dist/{43.64268be8880acd392fee.bundle.js.map → 43.0400aae23dac518b78ec.bundle.js.map} +1 -1
  77. package/dist/{53.58a23efc22865c67d57d.bundle.js → 53.54b20545d5504efa8958.bundle.js} +2 -2
  78. package/dist/{53.58a23efc22865c67d57d.bundle.js.map → 53.54b20545d5504efa8958.bundle.js.map} +1 -1
  79. package/dist/{54.1e2e99cd8cdf20b99a4f.bundle.js → 54.81f97307e31f5eabb5f0.bundle.js} +2 -2
  80. package/dist/{54.1e2e99cd8cdf20b99a4f.bundle.js.map → 54.81f97307e31f5eabb5f0.bundle.js.map} +1 -1
  81. package/dist/{55.693c1a0dd775181e1e29.bundle.js → 55.e8df33b84ca578a9a633.bundle.js} +2 -2
  82. package/dist/{55.693c1a0dd775181e1e29.bundle.js.map → 55.e8df33b84ca578a9a633.bundle.js.map} +1 -1
  83. package/dist/{56.62459de7af529d956b75.bundle.js → 56.d765faad673f618d41b0.bundle.js} +2 -2
  84. package/dist/{56.62459de7af529d956b75.bundle.js.map → 56.d765faad673f618d41b0.bundle.js.map} +1 -1
  85. package/dist/{60.2cb24e628b92cb3e0210.bundle.js → 60.f13766507ec5f29fde78.bundle.js} +2 -2
  86. package/dist/{60.2cb24e628b92cb3e0210.bundle.js.map → 60.f13766507ec5f29fde78.bundle.js.map} +1 -1
  87. package/dist/{65.6c12c48ac0d6f57a5079.bundle.js → 65.aa9736b7aad2582ca7ea.bundle.js} +2 -2
  88. package/dist/{65.6c12c48ac0d6f57a5079.bundle.js.map → 65.aa9736b7aad2582ca7ea.bundle.js.map} +1 -1
  89. package/dist/{67.5ae0610f77a1455ce92b.bundle.js → 67.e7bd652fadf93be1fbae.bundle.js} +2 -2
  90. package/dist/{67.5ae0610f77a1455ce92b.bundle.js.map → 67.e7bd652fadf93be1fbae.bundle.js.map} +1 -1
  91. package/dist/{69.90776e70cb361d1ac6d5.bundle.js → 69.6b915e6a7a9c36a78e2b.bundle.js} +2 -2
  92. package/dist/{69.90776e70cb361d1ac6d5.bundle.js.map → 69.6b915e6a7a9c36a78e2b.bundle.js.map} +1 -1
  93. package/dist/{71.3e927496e6e4175a3127.bundle.js → 71.624ca936339bf337e46a.bundle.js} +2 -2
  94. package/dist/{71.3e927496e6e4175a3127.bundle.js.map → 71.624ca936339bf337e46a.bundle.js.map} +1 -1
  95. package/dist/{72.bc99fbec188b4e49aa53.bundle.js → 72.3a5620a182219e9ea05d.bundle.js} +2 -2
  96. package/dist/{72.bc99fbec188b4e49aa53.bundle.js.map → 72.3a5620a182219e9ea05d.bundle.js.map} +1 -1
  97. package/dist/{73.40b5cbae08c7f3a58438.bundle.js → 73.f162e544378754078826.bundle.js} +2 -2
  98. package/dist/{73.40b5cbae08c7f3a58438.bundle.js.map → 73.f162e544378754078826.bundle.js.map} +1 -1
  99. package/dist/{74.cc42a1dcef7e9b830354.bundle.js → 74.7595755907badb1a99b8.bundle.js} +2 -2
  100. package/dist/{74.cc42a1dcef7e9b830354.bundle.js.map → 74.7595755907badb1a99b8.bundle.js.map} +1 -1
  101. package/dist/{75.31d1a4766c80c90b2afc.bundle.js → 75.4cc7ff534d56a05c578a.bundle.js} +2 -2
  102. package/dist/{75.31d1a4766c80c90b2afc.bundle.js.map → 75.4cc7ff534d56a05c578a.bundle.js.map} +1 -1
  103. package/dist/{76.89d209ce08efa7429e87.bundle.js → 76.cd0cfea4c96e88230dbe.bundle.js} +2 -2
  104. package/dist/{76.89d209ce08efa7429e87.bundle.js.map → 76.cd0cfea4c96e88230dbe.bundle.js.map} +1 -1
  105. package/dist/{77.64c49e9e99b0ae3fbbca.bundle.js → 77.df7767b1a0a3a0efa202.bundle.js} +2 -2
  106. package/dist/{77.64c49e9e99b0ae3fbbca.bundle.js.map → 77.df7767b1a0a3a0efa202.bundle.js.map} +1 -1
  107. package/dist/{79.0fbaedffc1f583a6064f.bundle.js → 79.4d64b377b0308809136f.bundle.js} +2 -2
  108. package/dist/{79.0fbaedffc1f583a6064f.bundle.js.map → 79.4d64b377b0308809136f.bundle.js.map} +1 -1
  109. package/dist/{80.6d489af9482e358c8dd8.bundle.js → 80.36e424031127d1743f20.bundle.js} +2 -2
  110. package/dist/{80.6d489af9482e358c8dd8.bundle.js.map → 80.36e424031127d1743f20.bundle.js.map} +1 -1
  111. package/dist/{94.94158487a9024ff3a623.bundle.js → 94.b1ccdd207229ae57569f.bundle.js} +2 -2
  112. package/dist/{94.94158487a9024ff3a623.bundle.js.map → 94.b1ccdd207229ae57569f.bundle.js.map} +1 -1
  113. package/dist/{97.48e14b67906b4d61a1b1.bundle.js → 97.951e03ffd2d5a10f868d.bundle.js} +2 -2
  114. package/dist/{97.48e14b67906b4d61a1b1.bundle.js.map → 97.951e03ffd2d5a10f868d.bundle.js.map} +1 -1
  115. package/dist/{98.cc7086155b76601af017.bundle.js → 98.745b4c457214d4189d7a.bundle.js} +2 -2
  116. package/dist/{98.cc7086155b76601af017.bundle.js.map → 98.745b4c457214d4189d7a.bundle.js.map} +1 -1
  117. package/dist/{bundle.afb7b0e2052d21766bfe.bundle.js → bundle.651116fe2383a66f32c9.bundle.js} +21 -21
  118. package/dist/{bundle.afb7b0e2052d21766bfe.bundle.js.map → bundle.651116fe2383a66f32c9.bundle.js.map} +1 -1
  119. package/dist/index.html +3 -3
  120. package/dist/js/angular/core/directives/rdfresourcesearch/templates/rdfResourceSearchTemplate.html +1 -1
  121. package/dist/pages/autocomplete.html +1 -1
  122. package/dist/pages/choose-repository-type.html +1 -1
  123. package/dist/pages/cluster-management/clusterInfo.html +3 -3
  124. package/dist/pages/create-index.html +4 -4
  125. package/dist/pages/dependencies.html +1 -1
  126. package/dist/pages/domainRangeInfo.html +2 -2
  127. package/dist/pages/edit.html +1 -1
  128. package/dist/pages/explore.html +1 -1
  129. package/dist/pages/export.html +1 -1
  130. package/dist/pages/find.html +1 -1
  131. package/dist/pages/graph-config/saveGraphConfig.html +11 -11
  132. package/dist/pages/graphs-visualizations.html +7 -7
  133. package/dist/pages/guides.html +1 -1
  134. package/dist/pages/import.html +1 -1
  135. package/dist/pages/jdbc-create.html +5 -5
  136. package/dist/pages/monitor/queries.html +1 -1
  137. package/dist/pages/monitor/resources.html +2 -2
  138. package/dist/pages/namespaces.html +2 -2
  139. package/dist/pages/plugins.html +1 -1
  140. package/dist/pages/rdfClassHierarchyInfo.html +7 -7
  141. package/dist/pages/rdfrank.html +2 -2
  142. package/dist/pages/repositories.html +2 -2
  143. package/dist/pages/repository.html +2 -2
  144. package/dist/pages/similarity-indexes.html +1 -1
  145. package/dist/pages/sparql-template-create.html +5 -5
  146. package/dist/pages/sparql.html +3 -3
  147. package/dist/pages/webapi.html +2 -2
  148. package/dist/res/swagger/index.html +27 -27
  149. package/package.json +1 -1
  150. package/dist/108.162ea156d1fc4ad2525f.bundle.js +0 -2
  151. package/dist/16.cd06772f9e031d37db03.bundle.js +0 -3
  152. package/dist/21.5586732af2e5cec0d05a.bundle.js +0 -2
  153. package/dist/21.5586732af2e5cec0d05a.bundle.js.map +0 -1
  154. package/dist/37.8a9855206d5ae5eba9be.bundle.js +0 -2
  155. package/dist/4.112f94be76eae8c6eea6.bundle.js +0 -2
  156. package/dist/4.112f94be76eae8c6eea6.bundle.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["webpack:///./src/js/angular/graphexplore/controllers/rdf-class-hierarchy.controller.js"],"names":["RdfClassHierarchyCtlr","$scope","$rootScope","$location","$repositories","$licenseService","$window","toastr","GraphDataRestService","UiScrollService","RdfsLabelCommentService","$timeout","ModalService","bowser","LocalStorageAdapter","LSKeys","RDF4JRepositoriesRestService","$translate","classHierarchyData","instancesObj","instancesQueryObj","items","instancesNotFiltered","isWarningShowed","onopen","onclose","angular","noop","currentBrowserLimit","firefox","safari","msie","msedge","datasource","position","current","key","get","index","count","success","initLazyList","selectedGraph","allGraphs","initView","getActiveRepository","resolveGraphs","graphsInRepo","results","bindings","length","slice","setSelectedGraphFromCache","error","data","repositoryError","getError","instant","selGraphFromCache","some","graph","contextID","uri","set","initClassCountSlider","event","classCount","currentSliderValue","classCountSlider","options","ceil","classLimit","value","showExternalElements","floor","vertical","showSelectionBar","onChange","setNewCurrentSliderValue","CLASS_HIERARCHY_CURRENT_SLIDER_VALUE","chrome","warning","browser","name","s","CLASS_HIERARCHY_SWITCH_PREFIXES","window","$broadcast","lastTimeWheel","$","on","e","preventDefault","stopPropagation","now","Date","getTime","originalEvent","newValue","deltaY","$apply","goToDomainRangeGraphView","selectedClass","fullName","checkDomainRangeData","response","status","CLASS_HIERARCHY_LAST_SELECTED_CLASS","hash","path","search","refreshDiagramExternalElements","replace","showClassInfoPanel","clearClassHieararchyState","hidePrefixes","CLASS_HIERARCHY_HIDE_PREFIXES","undefined","fixToolbar","hasClassHierarchy","removeClass","$watch","_","each","item","revision","adapterContainer","adapter","remain","$on","isLicenseValid","currentActiveRepository","then","getClassHierarchyData","toggleClassInfoSidePanel","getActiveRepositoryNoError","isSystemRepository","confirmReloadClassHierarchy","openSimpleModal","title","message","result","loader","hierarchyError","reloadClassHierarchy","focusOnRoot","copyToClipboard","openCopyToClipboardModal","searchedClassCallback","selected","searchedClass","query","instancesFilterFunc","inst","resolvedUri","toLowerCase","indexOf","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":"73.40b5cbae08c7f3a58438.bundle.js","sourcesContent":["import 'angular/utils/local-storage-adapter';\n\nconst modules = [\n 'pageslide-directive',\n 'ngAnimate',\n 'ui.scroll.jqlite',\n 'ui.scroll',\n 'angucomplete-alt',\n 'rzSlider',\n 'toastr',\n 'graphdb.framework.utils.localstorageadapter'\n];\n\nconst SAFARI_IE_EDGE_CLASS_LIMIT = 400;\nconst FIREFOX_CLASS_LIMIT = 50;\nconst CLASS_COUNT_THRESHOLD = 1500;\nconst CLASS_COUNT_THRESHOLD_IE = 25;\n\nangular\n .module('graphdb.framework.graphexplore.controllers.class', modules)\n .controller('RdfClassHierarchyCtlr', RdfClassHierarchyCtlr);\n\nRdfClassHierarchyCtlr.$inject = [\"$scope\", \"$rootScope\", \"$location\", \"$repositories\", \"$licenseService\", \"$window\", \"toastr\", \"GraphDataRestService\", \"UiScrollService\", \"RdfsLabelCommentService\", \"$timeout\", \"ModalService\", \"bowser\", \"LocalStorageAdapter\", \"LSKeys\", \"RDF4JRepositoriesRestService\", \"$translate\"];\n\nfunction RdfClassHierarchyCtlr($scope, $rootScope, $location, $repositories, $licenseService, $window, toastr, GraphDataRestService, UiScrollService, RdfsLabelCommentService, $timeout, ModalService, bowser, LocalStorageAdapter, LSKeys, RDF4JRepositoriesRestService, $translate) {\n $scope.classHierarchyData = {};\n $scope.instancesObj = {};\n $scope.instancesQueryObj = {};\n\n $scope.instancesObj.items = [];\n $scope.instancesNotFiltered = [];\n $scope.isWarningShowed = false;\n\n // Handle pageslide directive callbacks which incidentally appeared to be present in the angular's\n // scope, so we need to define our's and pass them to pageslide, otherwise it throws an error.\n $scope.onopen = $scope.onclose = () => angular.noop();\n\n $scope.currentBrowserLimit = 2000;\n if (bowser.firefox) {\n $scope.currentBrowserLimit = FIREFOX_CLASS_LIMIT;\n } else if (bowser.safari || bowser.msie || bowser.msedge) {\n $scope.currentBrowserLimit = SAFARI_IE_EDGE_CLASS_LIMIT;\n }\n\n // creating datasource for class instances data\n const datasource = {};\n let position = 0;\n let current = 0;\n $rootScope.key = \"\";\n datasource.get = function (index, count, success) {\n return UiScrollService.initLazyList(index, count, success, position, $scope.instancesObj.items);\n };\n\n //allGraphs is used to include all graphs in the chosen repository and represent the Class Hierarchy diagram,\n // while graphsInRepo is sliced to 1000 if there are more than 1000 graphs in the repository, and they are present\n // in the drop-down menu otherwise browsers crash.\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.length > 1002 ? graphsInRepo.results.bindings.slice(0, 1002) : graphsInRepo.results.bindings;\n setSelectedGraphFromCache();\n }).error(function (data) {\n $scope.repositoryError = getError(data);\n toastr.error(getError(data), $translate.instant('graphexplore.error.getting.graphs'));\n });\n };\n\n const setSelectedGraphFromCache = function () {\n const selGraphFromCache = LocalStorageAdapter.get(`classHierarchy-selectedGraph-${$repositories.getActiveRepository()}`);\n if (selGraphFromCache !== null && $scope.graphsInRepo.some(graph => graph.contextID.uri === selGraphFromCache.contextID.uri)) {\n selectedGraph = selGraphFromCache;\n } else {\n LocalStorageAdapter.set(`classHierarchy-selectedGraph-${$repositories.getActiveRepository()}`, selectedGraph);\n }\n };\n\n $rootScope.$watch(function () {\n return $rootScope.key;\n }, function () {\n position = 0;\n _.each($scope.instancesObj.items, function (item) {\n if ($rootScope.key > item) position++;\n });\n current++;\n });\n\n datasource.revision = function () {\n return current;\n };\n // adapter implementation for ui-scroll directive\n $scope.adapterContainer = {adapter: {remain: true}};\n\n\n // events\n $scope.$on('goToDomainRangeGraphView', onGoToDomainRangeGraphView);\n $scope.$on('classCount', initClassCountSlider);\n $scope.$on('repositoryIsSet', onRepositoryIsSet);\n\n // objects\n $scope.datasource = datasource;\n\n // functions\n $scope.goToDomainRangeGraphView = goToDomainRangeGraphView;\n $scope.toggleClassInfoSidePanel = toggleClassInfoSidePanel;\n $scope.getActiveRepositoryNoError = getActiveRepositoryNoError;\n $scope.isSystemRepository = isSystemRepository;\n $scope.confirmReloadClassHierarchy = confirmReloadClassHierarchy;\n $scope.focusOnRoot = focusOnRoot;\n $scope.copyToClipboard = copyToClipboard;\n\n $scope.searchedClassCallback = searchedClassCallback;\n\n $scope.instancesQueryObj.query = \"\";\n $scope.instancesFilterFunc = instancesFilterFunc;\n\n initView();\n\n $scope.$watch('instancesObj.items', function () {\n if ($scope.instancesObj.items.length > 0) {\n $timeout(function () {\n $scope.adapterContainer.adapter.reload();\n }, 30);\n }\n });\n\n $scope.$watch('selectedClass', function () {\n if ($scope.showClassInfoPanel) {\n prepareDataForClassInfoSidePanel($scope.selectedClass);\n }\n });\n\n function instancesFilterFunc(inst) {\n return inst.resolvedUri\n .toLowerCase()\n .indexOf($scope.instancesQueryObj.query.toLowerCase()) >= 0;\n }\n\n function searchedClassCallback(selected) {\n if (selected) {\n const searchedClass = {name: selected.title};\n $rootScope.$broadcast('searchedClass', searchedClass);\n }\n }\n\n function initClassCountSlider(event, classCount, currentSliderValue) {\n if ($scope.classCountSlider.options && $scope.classCountSlider.options.ceil !== classCount) {\n // Force reset of the slider if it exists and its class count (ceil) is different from\n // the broadcast class count.\n $scope.classCountSlider = {};\n }\n\n const showBrowserCompatibleClassLimitWarning = function (classLimit) {\n if (bowser.chrome) {\n toastr.warning($translate.instant('graphexplore.disabling.animations', {classLimit: classLimit}),\n $translate.instant('graphexplore.reducing.visual.effects'));\n } else {\n toastr.warning($translate.instant('graphexplore.browser.performance', {browser: bowser.name, classLimit: classLimit}),\n $translate.instant('graphexplore.reducing.visual.effects'));\n }\n };\n\n if (!$scope.classCountSlider.value) {\n $scope.showExternalElements = true;\n $scope.classCountSlider = {\n value: classCount,\n options: {\n floor: 1,\n ceil: classCount,\n vertical: true,\n showSelectionBar: true,\n onChange: function () {\n $timeout(setNewCurrentSliderValue, 100, true);\n }\n }\n };\n\n if (LocalStorageAdapter.get(LSKeys.CLASS_HIERARCHY_CURRENT_SLIDER_VALUE) === null) {\n if (classCount > $scope.currentBrowserLimit) {\n showBrowserCompatibleClassLimitWarning($scope.currentBrowserLimit);\n }\n }\n }\n\n const s = LocalStorageAdapter.get(LSKeys.CLASS_HIERARCHY_SWITCH_PREFIXES);\n const noSwitchPrefixes = (s != null) && (s !== \"true\");\n if (noSwitchPrefixes) {\n $scope.showExternalElements = true;\n }\n\n if (currentSliderValue) {\n $scope.classCountSlider.value = currentSliderValue;\n } else if (classCount >= CLASS_COUNT_THRESHOLD) {\n $scope.classCountSlider.value = CLASS_COUNT_THRESHOLD;\n toastr.warning($translate.instant('graphexplore.class.count.slider', {count: CLASS_COUNT_THRESHOLD}), $translate.instant('graphexplore.reducing.class.count'));\n }\n\n if (classCount >= CLASS_COUNT_THRESHOLD_IE && (!(window.ActiveXObject) && \"ActiveXObject\" in window) && !$scope.isWarningShowed) {\n $scope.classCountSlider.value = CLASS_COUNT_THRESHOLD_IE;\n $scope.isWarningShowed = true;\n toastr.warning($translate.instant('graphexplore.class.count.browser', {count: CLASS_COUNT_THRESHOLD_IE}), $translate.instant('graphexplore.reducing.class.count'));\n }\n\n $timeout(function () {\n $scope.$broadcast('reCalcViewDimensions');\n }, 200);\n\n // set this before the slider is moved by the user as we need it\n setNewCurrentSliderValue();\n\n // Modify the slider with the mouse wheel\n let lastTimeWheel = 0;\n $('rzslider').on('wheel', function (e) {\n e.preventDefault();\n e.stopPropagation();\n\n // at least 100ms must have passed since last time we updated\n const now = new Date().getTime();\n if (now - lastTimeWheel > 100) {\n lastTimeWheel = now;\n } else {\n return;\n }\n\n e = e.originalEvent;\n\n let newValue = $scope.classCountSlider.value;\n if (e.deltaY <= -1) {\n newValue += 1;\n } else if (e.deltaY >= 1) {\n newValue -= 1;\n }\n\n if (newValue !== $scope.classCountSlider.value\n && newValue >= $scope.classCountSlider.options.floor\n && newValue <= $scope.classCountSlider.options.ceil) {\n $scope.$apply(function () {\n $scope.classCountSlider.value = newValue;\n $timeout(setNewCurrentSliderValue, 100, true);\n });\n }\n });\n }\n\n function setNewCurrentSliderValue() {\n $scope.currentSliderValue = $scope.classCountSlider.value;\n }\n\n function goToDomainRangeGraphView(selectedClass) {\n const uri = selectedClass.fullName;\n const name = selectedClass.name;\n\n GraphDataRestService.checkDomainRangeData(uri)\n .success(function (response, status) {\n if (status === 204) {\n toastr.warning($translate.instant('graphexplore.no.domain.range', {name: name}));\n } else {\n LocalStorageAdapter.set(LSKeys.CLASS_HIERARCHY_LAST_SELECTED_CLASS, $location.hash());\n $location\n .hash(\"\")\n .path(\"domain-range-graph\")\n .search(\"uri\", uri)\n .search(\"name\", name);\n }\n }).error(function () {\n toastr.error($translate.instant('graphexplore.error.request.failed', {name: name}));\n });\n }\n\n function onGoToDomainRangeGraphView(event, selectedClass) {\n goToDomainRangeGraphView(selectedClass);\n }\n\n function copyToClipboard(uri) {\n ModalService.openCopyToClipboardModal(uri);\n }\n\n function prepareDataForClassInfoSidePanel(selectedClass) {\n // generate SPARQL query for listing class instances in sparql view\n const uri = selectedClass.fullName;\n let name = selectedClass.name;\n\n // in case of no prefix available both name and uri are the same\n // so only take the local name of the uri a tab name for the SPARQL view\n if (name === uri) {\n const localNameStartIdx = name.lastIndexOf(\"#\");\n name = name.substring(localNameStartIdx + 1);\n }\n $scope.encodedUri = encodeURIComponent(uri);\n\n const query = \"prefix onto:<http://www.ontotext.com/>\\nselect ?s {\\n ?s a <\" + uri + \"> .\\n}\";\n\n const encodedQuery = encodeURIComponent(query);\n\n // generate url for redirecting to sparql view, opening a new tab, writing the generated query and executing it\n $scope.viewInstancesUri = 'sparql?name=' + name + '&infer=true&sameAs=false&query=' + encodedQuery + '&execute=true';\n\n GraphDataRestService.getRdfsLabelAndComment(uri)\n .success(function (response) {\n $scope.rdfsLabel = response.label;\n $scope.rdfsComment = response.comment;\n $scope.expanded = false;\n })\n .error(function () {\n toastr.error(\"Error getting rdfs:label and rdfs:comment\");\n });\n\n // clear instances search input field when changing classes\n $scope.instancesQueryObj.query = '';\n\n // get class instances for selected rdf class\n $scope.instancesLoader = true;\n GraphDataRestService.getClassInstances(uri)\n .success(function (response) {\n $scope.instancesObj.items = [];\n _.each(response, function (value, key) {\n const obj = {};\n // TODO extract in core function isTriple(str)\n obj.type = (value.startsWith(\"<<\") && value.endsWith(\">>\")) ? \"triple\": \"uri\";\n obj.absUri = encodeURIComponent(value);\n obj.absUriNonEncoded = value;\n obj.resolvedUri = key;\n $scope.instancesObj.items.push(obj);\n });\n $scope.instancesLoader = false;\n\n $scope.instancesSearchPlaceholder = $scope.instancesObj.items.length < 1000 ? \"Search class instances\" : \"Search first 1000 class instances\";\n $scope.instancesNotFiltered = $scope.instancesObj.items;\n })\n .error(function () {\n toastr.error($translate.instant('graphexplore.error.instances.request'));\n });\n\n }\n\n function toggleClassInfoSidePanel() {\n $scope.showClassInfoPanel = !$scope.showClassInfoPanel;\n $rootScope.$broadcast('sidePanelClosed');\n }\n\n function getActiveRepositoryNoError() {\n if (!$scope.repositoryError) {\n return $repositories.getActiveRepository();\n }\n }\n\n function isSystemRepository() {\n return $repositories.isSystemRepository();\n }\n\n // Hack needed to force hide prefix toggle tooltip in order not be\n // visible after icon is switched\n $(document).ready(function () {\n $(\".prefix-toggle\").click(function () {\n $(\".tooltip\").hide();\n });\n });\n\n function focusOnRoot() {\n $scope.$broadcast(\"rootFocus\");\n }\n\n function refreshDiagramExternalElements() {\n $location.replace().hash(\"1\");\n\n // clear old instances data from previous repository\n $scope.instancesObj.items = [];\n\n // delete old instance count slider and reinit with classes count values\n // appropriate for the newly activated repository\n $scope.showExternalElements = false;\n\n $scope.showClassInfoPanel = false;\n\n LocalStorageAdapter.clearClassHieararchyState();\n\n // reset all watched scope variables to undefined in order to stop unwanted triggering of watches\n $scope.hidePrefixes = LocalStorageAdapter.get(LSKeys.CLASS_HIERARCHY_HIDE_PREFIXES) === \"true\";\n $scope.currentSliderValue = undefined;\n $scope.classHierarchyData = {};\n\n // clear class search input field\n $rootScope.$broadcast('angucomplete-alt:clearInput');\n }\n\n function fixToolbar() {\n // For some reason angular behaves weirdly with the toolbar and its ng-show. Even though the condition\n // is updated, angular won't remove the ng-hide class and the toolbar will stay hidden.\n // Calling $apply(), $digest() or whatever doesn't help either so we have to resort to this instead.\n // The problem is easy to reproduce when viewing a deeper class and changing the repository.\n if ($scope.hasClassHierarchy()) {\n $timeout(function () {\n $('#toolbar').removeClass('ng-hide');\n }, 0);\n }\n }\n\n function reloadClassHierarchy() {\n refreshDiagramExternalElements();\n $scope.loader = true;\n $scope.hierarchyError = false;\n GraphDataRestService.reloadClassHierarchy(selectedGraph.contextID.uri)\n .success(function (response) {\n $scope.loader = false;\n $scope.classHierarchyData = response;\n fixToolbar();\n initClassCountSlider();\n })\n .error(function (response) {\n $scope.loader = false;\n $scope.hierarchyError = getError(response);\n toastr.error(getError(response), $translate.instant('graphexplore.error.rdf.class.request'));\n });\n }\n\n function confirmReloadClassHierarchy() {\n ModalService.openSimpleModal({\n title: $translate.instant('confirm.operation'),\n message: $translate.instant('graphexplore.calculating.hierarchy'),\n warning: true\n }).result\n .then(function () {\n reloadClassHierarchy();\n });\n }\n\n let currentActiveRepository = $repositories.getActiveRepository();\n function onRepositoryIsSet() {\n if (!$licenseService.isLicenseValid()) {\n return;\n }\n if (currentActiveRepository === $repositories.getActiveRepository()) {\n return;\n } else {\n currentActiveRepository = $repositories.getActiveRepository();\n }\n $scope.repositoryError = null;\n if (!currentActiveRepository) {\n return;\n }\n selectedGraph = allGraphs;\n initView()\n .then(getClassHierarchyData);\n }\n\n function getClassHierarchyData() {\n\n refreshDiagramExternalElements();\n\n if (!$scope.isSystemRepository() && $scope.isLicenseValid()) {\n $scope.hierarchyError = false;\n $scope.loader = true;\n GraphDataRestService.getClassHierarchyData(selectedGraph.contextID.uri)\n .success(function (response, status) {\n $scope.showExternalElements = true;\n $scope.loader = false;\n $scope.classHierarchyData = response;\n if (status === 207) {\n toastr.warning($translate.instant('graphexplore.update.diagram'), $translate.instant('graphexplore.repository.data.changed'));\n }\n fixToolbar();\n }).error(function (response) {\n $scope.loader = false;\n $scope.hierarchyError = getError(response);\n toastr.error(getError(response), $translate.instant('graphexplore.error.rdf.class.request'));\n });\n }\n }\n\n $scope.hasClassHierarchy = function () {\n return $scope.classHierarchyData.classCount && $scope.getActiveRepositoryNoError() && !$scope.isSystemRepository();\n };\n\n $scope.isLicenseValid = function () {\n return $licenseService.isLicenseValid();\n };\n\n\n $scope.chosenGraph = function (graph) {\n selectedGraph = graph;\n getClassHierarchyData();\n LocalStorageAdapter.set(`classHierarchy-selectedGraph-${$repositories.getActiveRepository()}`, selectedGraph);\n };\n\n $scope.getSelGraphValue = function () {\n return selectedGraph.contextID.value;\n };\n\n $scope.isAllGraphsSelected = function () {\n return $scope.getSelGraphValue() === 'all.graphs.label';\n };\n}\n"],"sourceRoot":""}
1
+ {"version":3,"sources":["webpack:///./src/js/angular/graphexplore/controllers/rdf-class-hierarchy.controller.js"],"names":["RdfClassHierarchyCtlr","$scope","$rootScope","$location","$repositories","$licenseService","$window","toastr","GraphDataRestService","UiScrollService","RdfsLabelCommentService","$timeout","ModalService","bowser","LocalStorageAdapter","LSKeys","RDF4JRepositoriesRestService","$translate","classHierarchyData","instancesObj","instancesQueryObj","items","instancesNotFiltered","isWarningShowed","onopen","onclose","angular","noop","currentBrowserLimit","firefox","safari","msie","msedge","datasource","position","current","key","get","index","count","success","initLazyList","selectedGraph","allGraphs","initView","getActiveRepository","resolveGraphs","graphsInRepo","results","bindings","length","slice","setSelectedGraphFromCache","error","data","repositoryError","getError","instant","selGraphFromCache","some","graph","contextID","uri","set","initClassCountSlider","event","classCount","currentSliderValue","classCountSlider","options","ceil","classLimit","value","showExternalElements","floor","vertical","showSelectionBar","onChange","setNewCurrentSliderValue","CLASS_HIERARCHY_CURRENT_SLIDER_VALUE","chrome","warning","browser","name","s","CLASS_HIERARCHY_SWITCH_PREFIXES","window","$broadcast","lastTimeWheel","$","on","e","preventDefault","stopPropagation","now","Date","getTime","originalEvent","newValue","deltaY","$apply","goToDomainRangeGraphView","selectedClass","fullName","checkDomainRangeData","response","status","CLASS_HIERARCHY_LAST_SELECTED_CLASS","hash","path","search","refreshDiagramExternalElements","replace","showClassInfoPanel","clearClassHieararchyState","hidePrefixes","CLASS_HIERARCHY_HIDE_PREFIXES","undefined","fixToolbar","hasClassHierarchy","removeClass","$watch","_","each","item","revision","adapterContainer","adapter","remain","$on","isLicenseValid","currentActiveRepository","then","getClassHierarchyData","toggleClassInfoSidePanel","getActiveRepositoryNoError","isSystemRepository","confirmReloadClassHierarchy","openSimpleModal","title","message","result","loader","hierarchyError","reloadClassHierarchy","focusOnRoot","copyToClipboard","openCopyToClipboardModal","searchedClassCallback","selected","searchedClass","query","instancesFilterFunc","inst","resolvedUri","toLowerCase","indexOf","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":"0FAAA,YAwBA,SAASA,EAAsBC,EAAQC,EAAYC,EAAWC,EAAeC,EAAiBC,EAASC,EAAQC,EAAsBC,EAAiBC,EAAyBC,EAAUC,EAAcC,EAAQC,EAAqBC,EAAQC,EAA8BC,GACtQhB,EAAOiB,mBAAqB,GAC5BjB,EAAOkB,aAAe,GACtBlB,EAAOmB,kBAAoB,GAE3BnB,EAAOkB,aAAaE,MAAQ,GAC5BpB,EAAOqB,qBAAuB,GAC9BrB,EAAOsB,iBAAkB,EAIzBtB,EAAOuB,OAASvB,EAAOwB,QAAU,IAAMC,QAAQC,OAE/C1B,EAAO2B,oBAAsB,IACzBf,EAAOgB,QACP5B,EAAO2B,oBAzBa,IA0Bbf,EAAOiB,QAAUjB,EAAOkB,MAAQlB,EAAOmB,UAC9C/B,EAAO2B,oBA5BoB,KAgC/B,MAAMK,EAAa,GACnB,IAAIC,EAAW,EACXC,EAAU,EACdjC,EAAWkC,IAAM,GACjBH,EAAWI,IAAM,SAAUC,EAAOC,EAAOC,GACrC,OAAO/B,EAAgBgC,aAAaH,EAAOC,EAAOC,EAASN,EAAUjC,EAAOkB,aAAaE,QAM7F,IAAIqB,EAAgBC,UAEpB,MAAMC,EAAW,WACb,GAAK3C,EAAO4C,sBAGZ,OAAO7B,EAA6B8B,gBAC/BN,SAAQ,SAAUO,GACf9C,EAAO8C,aAAeA,EAAaC,QAAQC,SAASC,OAAS,KAAOH,EAAaC,QAAQC,SAASE,MAAM,EAAG,MAAQJ,EAAaC,QAAQC,SACxIG,OACDC,OAAM,SAAUC,GACnBrD,EAAOsD,gBAAkBC,SAASF,GAClC/C,EAAO8C,MAAMG,SAASF,GAAOrC,EAAWwC,QAAQ,0CAIlDL,EAA4B,WAC9B,MAAMM,EAAoB5C,EAAoBuB,IAAI,gCAAgCjC,EAAcyC,uBACtE,OAAtBa,GAA8BzD,EAAO8C,aAAaY,KAAKC,GAASA,EAAMC,UAAUC,MAAQJ,EAAkBG,UAAUC,KACpHpB,EAAgBgB,EAEhB5C,EAAoBiD,IAAI,gCAAgC3D,EAAcyC,sBAAyBH,IAwEvG,SAASsB,EAAqBC,EAAOC,EAAYC,GACzClE,EAAOmE,iBAAiBC,SAAWpE,EAAOmE,iBAAiBC,QAAQC,OAASJ,IAG5EjE,EAAOmE,iBAAmB,IAGiB,IAAUG,EAUpDtE,EAAOmE,iBAAiBI,QACzBvE,EAAOwE,sBAAuB,EAC9BxE,EAAOmE,iBAAmB,CACtBI,MAAON,EACPG,QAAS,CACLK,MAAO,EACPJ,KAAMJ,EACNS,UAAU,EACVC,kBAAkB,EAClBC,SAAU,WACNlE,EAASmE,EAA0B,KAAK,MAKyB,OAAzEhE,EAAoBuB,IAAItB,EAAOgE,uCAC3Bb,EAAajE,EAAO2B,sBA1ByB2C,EA2BNtE,EAAO2B,oBA1BlDf,EAAOmE,OACPzE,EAAO0E,QAAQhE,EAAWwC,QAAQ,oCAAqC,CAACc,WAAYA,IAChFtD,EAAWwC,QAAQ,yCAEvBlD,EAAO0E,QAAQhE,EAAWwC,QAAQ,mCAAoC,CAACyB,QAASrE,EAAOsE,KAAMZ,WAAYA,IACrGtD,EAAWwC,QAAQ,2CA0B/B,MAAM2B,EAAItE,EAAoBuB,IAAItB,EAAOsE,iCACV,MAALD,GAAqB,SAANA,IAErCnF,EAAOwE,sBAAuB,GAG9BN,EACAlE,EAAOmE,iBAAiBI,MAAQL,EACzBD,GArLW,OAsLlBjE,EAAOmE,iBAAiBI,MAtLN,KAuLlBjE,EAAO0E,QAAQhE,EAAWwC,QAAQ,kCAAmC,CAAClB,MAvLpD,OAuLoFtB,EAAWwC,QAAQ,uCAGzHS,GAzLqB,KAyLwBoB,OAAoB,eAAK,kBAAmBA,SAAYrF,EAAOsB,kBAC5GtB,EAAOmE,iBAAiBI,MA1LH,GA2LrBvE,EAAOsB,iBAAkB,EACzBhB,EAAO0E,QAAQhE,EAAWwC,QAAQ,mCAAoC,CAAClB,MA5LlD,KA4LqFtB,EAAWwC,QAAQ,uCAGjI9C,GAAS,WACLV,EAAOsF,WAAW,0BACnB,KAGHT,IAGA,IAAIU,EAAgB,EACpBC,EAAE,YAAYC,GAAG,SAAS,SAAUC,GAChCA,EAAEC,iBACFD,EAAEE,kBAGF,MAAMC,GAAM,IAAIC,MAAOC,UACvB,KAAIF,EAAMN,EAAgB,KAGtB,OAFAA,EAAgBM,EAKpBH,EAAIA,EAAEM,cAEN,IAAIC,EAAWjG,EAAOmE,iBAAiBI,MACnCmB,EAAEQ,SAAW,EACbD,GAAY,EACLP,EAAEQ,QAAU,IACnBD,GAAY,GAGZA,IAAajG,EAAOmE,iBAAiBI,OAClC0B,GAAYjG,EAAOmE,iBAAiBC,QAAQK,OAC5CwB,GAAYjG,EAAOmE,iBAAiBC,QAAQC,MAC/CrE,EAAOmG,QAAO,WACVnG,EAAOmE,iBAAiBI,MAAQ0B,EAChCvF,EAASmE,EAA0B,KAAK,SAMxD,SAASA,IACL7E,EAAOkE,mBAAqBlE,EAAOmE,iBAAiBI,MAGxD,SAAS6B,EAAyBC,GAC9B,MAAMxC,EAAMwC,EAAcC,SACpBpB,EAAOmB,EAAcnB,KAE3B3E,EAAqBgG,qBAAqB1C,GACrCtB,SAAQ,SAAUiE,EAAUC,GACV,MAAXA,EACAnG,EAAO0E,QAAQhE,EAAWwC,QAAQ,+BAAgC,CAAC0B,KAAMA,MAEzErE,EAAoBiD,IAAIhD,EAAO4F,oCAAqCxG,EAAUyG,QAC9EzG,EACKyG,KAAK,IACLC,KAAK,sBACLC,OAAO,MAAOhD,GACdgD,OAAO,OAAQ3B,OAEzB9B,OAAM,WACL9C,EAAO8C,MAAMpC,EAAWwC,QAAQ,oCAAqC,CAAC0B,KAAMA,QAiGxF,SAAS4B,IACL5G,EAAU6G,UAAUJ,KAAK,KAGzB3G,EAAOkB,aAAaE,MAAQ,GAI5BpB,EAAOwE,sBAAuB,EAE9BxE,EAAOgH,oBAAqB,EAE5BnG,EAAoBoG,4BAGpBjH,EAAOkH,aAAiF,SAAlErG,EAAoBuB,IAAItB,EAAOqG,+BACrDnH,EAAOkE,wBAAqBkD,EAC5BpH,EAAOiB,mBAAqB,GAG5BhB,EAAWqF,WAAW,+BAG1B,SAAS+B,IAKDrH,EAAOsH,qBACP5G,GAAS,WACL8E,EAAE,YAAY+B,YAAY,aAC3B,GA5TXtH,EAAWuH,QAAO,WACd,OAAOvH,EAAWkC,OACnB,WACCF,EAAW,EACXwF,EAAEC,KAAK1H,EAAOkB,aAAaE,OAAO,SAAUuG,GACpC1H,EAAWkC,IAAMwF,GAAM1F,OAE/BC,OAGJF,EAAW4F,SAAW,WAClB,OAAO1F,GAGXlC,EAAO6H,iBAAmB,CAACC,QAAS,CAACC,QAAQ,IAI7C/H,EAAOgI,IAAI,4BA8KX,SAAoChE,EAAOqC,GACvCD,EAAyBC,MA9K7BrG,EAAOgI,IAAI,aAAcjE,GACzB/D,EAAOgI,IAAI,mBA0UX,WACI,IAAK5H,EAAgB6H,iBACjB,OAEJ,GAAIC,IAA4B/H,EAAcyC,sBAC1C,OAEAsF,EAA0B/H,EAAcyC,sBAG5C,GADA5C,EAAOsD,gBAAkB,MACpB4E,EACD,OAEJzF,EAAgBC,UAChBC,IACKwF,KAAKC,MAtVdpI,EAAOgC,WAAaA,EAGpBhC,EAAOoG,yBAA2BA,EAClCpG,EAAOqI,yBAuOP,WACIrI,EAAOgH,oBAAsBhH,EAAOgH,mBACpC/G,EAAWqF,WAAW,oBAxO1BtF,EAAOsI,2BA2OP,WACI,IAAKtI,EAAOsD,gBACR,OAAOnD,EAAcyC,uBA5O7B5C,EAAOuI,mBAgPP,WACI,OAAOpI,EAAcoI,sBAhPzBvI,EAAOwI,4BAoTP,WACI7H,EAAa8H,gBAAgB,CACzBC,MAAO1H,EAAWwC,QAAQ,qBAC1BmF,QAAS3H,EAAWwC,QAAQ,sCAC5BwB,SAAS,IACV4D,OACET,MAAK,WAvBVrB,IACA9G,EAAO6I,QAAS,EAChB7I,EAAO8I,gBAAiB,EACxBvI,EAAqBwI,qBAAqBtG,EAAcmB,UAAUC,KAC7DtB,SAAQ,SAAUiE,GACfxG,EAAO6I,QAAS,EAChB7I,EAAOiB,mBAAqBuF,EAC5Ba,IACAtD,OAEHX,OAAM,SAAUoD,GACbxG,EAAO6I,QAAS,EAChB7I,EAAO8I,eAAiBvF,SAASiD,GACjClG,EAAO8C,MAAMG,SAASiD,GAAWxF,EAAWwC,QAAQ,gDA/ShExD,EAAOgJ,YA0PP,WACIhJ,EAAOsF,WAAW,cA1PtBtF,EAAOiJ,gBAoKP,SAAyBpF,GACrBlD,EAAauI,yBAAyBrF,IAnK1C7D,EAAOmJ,sBA2BP,SAA+BC,GAC3B,GAAIA,EAAU,CACV,MAAMC,EAAgB,CAACnE,KAAMkE,EAASV,OACtCzI,EAAWqF,WAAW,gBAAiB+D,KA5B/CrJ,EAAOmB,kBAAkBmI,MAAQ,GACjCtJ,EAAOuJ,oBAkBP,SAA6BC,GACzB,OAAOA,EAAKC,YACPC,cACAC,QAAQ3J,EAAOmB,kBAAkBmI,MAAMI,gBAAkB,GAnBlE/G,IAEA3C,EAAOwH,OAAO,sBAAsB,WAC5BxH,EAAOkB,aAAaE,MAAM6B,OAAS,GACnCvC,GAAS,WACLV,EAAO6H,iBAAiBC,QAAQ8B,WACjC,OAIX5J,EAAOwH,OAAO,iBAAiB,WACvBxH,EAAOgH,oBAsJf,SAA0CX,GAEtC,MAAMxC,EAAMwC,EAAcC,SAC1B,IAAIpB,EAAOmB,EAAcnB,KAIzB,GAAIA,IAASrB,EAAK,CACd,MAAMgG,EAAoB3E,EAAK4E,YAAY,KAC3C5E,EAAOA,EAAK6E,UAAUF,EAAoB,GAE9C7J,EAAOgK,WAAaC,mBAAmBpG,GAEvC,MAEMqG,EAAeD,mBAFP,kEAAoEpG,EAAM,UAKxF7D,EAAOmK,iBAAmB,eAAiBjF,EAAO,kCAAoCgF,EAAe,gBAErG3J,EAAqB6J,uBAAuBvG,GACvCtB,SAAQ,SAAUiE,GACfxG,EAAOqK,UAAY7D,EAAS8D,MAC5BtK,EAAOuK,YAAc/D,EAASgE,QAC9BxK,EAAOyK,UAAW,KAErBrH,OAAM,WACH9C,EAAO8C,MAAM,gDAIrBpD,EAAOmB,kBAAkBmI,MAAQ,GAGjCtJ,EAAO0K,iBAAkB,EACzBnK,EAAqBoK,kBAAkB9G,GAClCtB,SAAQ,SAAUiE,GACfxG,EAAOkB,aAAaE,MAAQ,GAC5BqG,EAAEC,KAAKlB,GAAU,SAAUjC,EAAOpC,GAC9B,MAAMyI,EAAM,GAEZA,EAAIC,KAAQtG,EAAMuG,WAAW,OAASvG,EAAMwG,SAAS,MAAS,SAAU,MACxEH,EAAII,OAASf,mBAAmB1F,GAChCqG,EAAIK,iBAAmB1G,EACvBqG,EAAInB,YAActH,EAClBnC,EAAOkB,aAAaE,MAAM8J,KAAKN,MAEnC5K,EAAO0K,iBAAkB,EAEzB1K,EAAOmL,2BAA6BnL,EAAOkB,aAAaE,MAAM6B,OAAS,IAAO,yBAA2B,oCACzGjD,EAAOqB,qBAAuBrB,EAAOkB,aAAaE,SAErDgC,OAAM,WACH9C,EAAO8C,MAAMpC,EAAWwC,QAAQ,4CA1MpC4H,CAAiCpL,EAAOqG,kBAgOhDb,EAAE6F,UAAUC,OAAM,WACd9F,EAAE,kBAAkB+F,OAAM,WACtB/F,EAAE,YAAYgG,aAwEtB,IAAItD,EAA0B/H,EAAcyC,sBAmB5C,SAASwF,IAELtB,KAEK9G,EAAOuI,sBAAwBvI,EAAOiI,mBACvCjI,EAAO8I,gBAAiB,EACxB9I,EAAO6I,QAAS,EAChBtI,EAAqB6H,sBAAsB3F,EAAcmB,UAAUC,KAC9DtB,SAAQ,SAAUiE,EAAUC,GACzBzG,EAAOwE,sBAAuB,EAC9BxE,EAAO6I,QAAS,EAChB7I,EAAOiB,mBAAqBuF,EACb,MAAXC,GACAnG,EAAO0E,QAAQhE,EAAWwC,QAAQ,+BAAgCxC,EAAWwC,QAAQ,yCAEzF6D,OACDjE,OAAM,SAAUoD,GACnBxG,EAAO6I,QAAS,EAChB7I,EAAO8I,eAAiBvF,SAASiD,GACjClG,EAAO8C,MAAMG,SAASiD,GAAWxF,EAAWwC,QAAQ,6CAKhExD,EAAOsH,kBAAoB,WACvB,OAAOtH,EAAOiB,mBAAmBgD,YAAcjE,EAAOsI,+BAAiCtI,EAAOuI,sBAGlGvI,EAAOiI,eAAiB,WACpB,OAAO7H,EAAgB6H,kBAI3BjI,EAAOyL,YAAc,SAAU9H,GAC3BlB,EAAgBkB,EAChByE,IACAvH,EAAoBiD,IAAI,gCAAgC3D,EAAcyC,sBAAyBH,IAGnGzC,EAAO0L,iBAAmB,WACtB,OAAOjJ,EAAcmB,UAAUW,OAGnCvE,EAAO2L,oBAAsB,WACzB,MAAqC,qBAA9B3L,EAAO0L,oBA3dtBjK,QACKmK,OAAO,mDAjBI,CACZ,sBACA,YACA,mBACA,YACA,mBACA,WACA,SACA,gDAUCC,WAAW,wBAAyB9L,GAEzCA,EAAsB+L,QAAU,CAAC,SAAU,aAAc,YAAa,gBAAiB,kBAAmB,UAAW,SAAU,uBAAwB,kBAAmB,0BAA2B,WAAY,eAAgB,SAAU,sBAAuB,SAAU,+BAAgC","file":"73.f162e544378754078826.bundle.js","sourcesContent":["import 'angular/utils/local-storage-adapter';\n\nconst modules = [\n 'pageslide-directive',\n 'ngAnimate',\n 'ui.scroll.jqlite',\n 'ui.scroll',\n 'angucomplete-alt',\n 'rzSlider',\n 'toastr',\n 'graphdb.framework.utils.localstorageadapter'\n];\n\nconst SAFARI_IE_EDGE_CLASS_LIMIT = 400;\nconst FIREFOX_CLASS_LIMIT = 50;\nconst CLASS_COUNT_THRESHOLD = 1500;\nconst CLASS_COUNT_THRESHOLD_IE = 25;\n\nangular\n .module('graphdb.framework.graphexplore.controllers.class', modules)\n .controller('RdfClassHierarchyCtlr', RdfClassHierarchyCtlr);\n\nRdfClassHierarchyCtlr.$inject = [\"$scope\", \"$rootScope\", \"$location\", \"$repositories\", \"$licenseService\", \"$window\", \"toastr\", \"GraphDataRestService\", \"UiScrollService\", \"RdfsLabelCommentService\", \"$timeout\", \"ModalService\", \"bowser\", \"LocalStorageAdapter\", \"LSKeys\", \"RDF4JRepositoriesRestService\", \"$translate\"];\n\nfunction RdfClassHierarchyCtlr($scope, $rootScope, $location, $repositories, $licenseService, $window, toastr, GraphDataRestService, UiScrollService, RdfsLabelCommentService, $timeout, ModalService, bowser, LocalStorageAdapter, LSKeys, RDF4JRepositoriesRestService, $translate) {\n $scope.classHierarchyData = {};\n $scope.instancesObj = {};\n $scope.instancesQueryObj = {};\n\n $scope.instancesObj.items = [];\n $scope.instancesNotFiltered = [];\n $scope.isWarningShowed = false;\n\n // Handle pageslide directive callbacks which incidentally appeared to be present in the angular's\n // scope, so we need to define our's and pass them to pageslide, otherwise it throws an error.\n $scope.onopen = $scope.onclose = () => angular.noop();\n\n $scope.currentBrowserLimit = 2000;\n if (bowser.firefox) {\n $scope.currentBrowserLimit = FIREFOX_CLASS_LIMIT;\n } else if (bowser.safari || bowser.msie || bowser.msedge) {\n $scope.currentBrowserLimit = SAFARI_IE_EDGE_CLASS_LIMIT;\n }\n\n // creating datasource for class instances data\n const datasource = {};\n let position = 0;\n let current = 0;\n $rootScope.key = \"\";\n datasource.get = function (index, count, success) {\n return UiScrollService.initLazyList(index, count, success, position, $scope.instancesObj.items);\n };\n\n //allGraphs is used to include all graphs in the chosen repository and represent the Class Hierarchy diagram,\n // while graphsInRepo is sliced to 1000 if there are more than 1000 graphs in the repository, and they are present\n // in the drop-down menu otherwise browsers crash.\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.length > 1002 ? graphsInRepo.results.bindings.slice(0, 1002) : graphsInRepo.results.bindings;\n setSelectedGraphFromCache();\n }).error(function (data) {\n $scope.repositoryError = getError(data);\n toastr.error(getError(data), $translate.instant('graphexplore.error.getting.graphs'));\n });\n };\n\n const setSelectedGraphFromCache = function () {\n const selGraphFromCache = LocalStorageAdapter.get(`classHierarchy-selectedGraph-${$repositories.getActiveRepository()}`);\n if (selGraphFromCache !== null && $scope.graphsInRepo.some(graph => graph.contextID.uri === selGraphFromCache.contextID.uri)) {\n selectedGraph = selGraphFromCache;\n } else {\n LocalStorageAdapter.set(`classHierarchy-selectedGraph-${$repositories.getActiveRepository()}`, selectedGraph);\n }\n };\n\n $rootScope.$watch(function () {\n return $rootScope.key;\n }, function () {\n position = 0;\n _.each($scope.instancesObj.items, function (item) {\n if ($rootScope.key > item) position++;\n });\n current++;\n });\n\n datasource.revision = function () {\n return current;\n };\n // adapter implementation for ui-scroll directive\n $scope.adapterContainer = {adapter: {remain: true}};\n\n\n // events\n $scope.$on('goToDomainRangeGraphView', onGoToDomainRangeGraphView);\n $scope.$on('classCount', initClassCountSlider);\n $scope.$on('repositoryIsSet', onRepositoryIsSet);\n\n // objects\n $scope.datasource = datasource;\n\n // functions\n $scope.goToDomainRangeGraphView = goToDomainRangeGraphView;\n $scope.toggleClassInfoSidePanel = toggleClassInfoSidePanel;\n $scope.getActiveRepositoryNoError = getActiveRepositoryNoError;\n $scope.isSystemRepository = isSystemRepository;\n $scope.confirmReloadClassHierarchy = confirmReloadClassHierarchy;\n $scope.focusOnRoot = focusOnRoot;\n $scope.copyToClipboard = copyToClipboard;\n\n $scope.searchedClassCallback = searchedClassCallback;\n\n $scope.instancesQueryObj.query = \"\";\n $scope.instancesFilterFunc = instancesFilterFunc;\n\n initView();\n\n $scope.$watch('instancesObj.items', function () {\n if ($scope.instancesObj.items.length > 0) {\n $timeout(function () {\n $scope.adapterContainer.adapter.reload();\n }, 30);\n }\n });\n\n $scope.$watch('selectedClass', function () {\n if ($scope.showClassInfoPanel) {\n prepareDataForClassInfoSidePanel($scope.selectedClass);\n }\n });\n\n function instancesFilterFunc(inst) {\n return inst.resolvedUri\n .toLowerCase()\n .indexOf($scope.instancesQueryObj.query.toLowerCase()) >= 0;\n }\n\n function searchedClassCallback(selected) {\n if (selected) {\n const searchedClass = {name: selected.title};\n $rootScope.$broadcast('searchedClass', searchedClass);\n }\n }\n\n function initClassCountSlider(event, classCount, currentSliderValue) {\n if ($scope.classCountSlider.options && $scope.classCountSlider.options.ceil !== classCount) {\n // Force reset of the slider if it exists and its class count (ceil) is different from\n // the broadcast class count.\n $scope.classCountSlider = {};\n }\n\n const showBrowserCompatibleClassLimitWarning = function (classLimit) {\n if (bowser.chrome) {\n toastr.warning($translate.instant('graphexplore.disabling.animations', {classLimit: classLimit}),\n $translate.instant('graphexplore.reducing.visual.effects'));\n } else {\n toastr.warning($translate.instant('graphexplore.browser.performance', {browser: bowser.name, classLimit: classLimit}),\n $translate.instant('graphexplore.reducing.visual.effects'));\n }\n };\n\n if (!$scope.classCountSlider.value) {\n $scope.showExternalElements = true;\n $scope.classCountSlider = {\n value: classCount,\n options: {\n floor: 1,\n ceil: classCount,\n vertical: true,\n showSelectionBar: true,\n onChange: function () {\n $timeout(setNewCurrentSliderValue, 100, true);\n }\n }\n };\n\n if (LocalStorageAdapter.get(LSKeys.CLASS_HIERARCHY_CURRENT_SLIDER_VALUE) === null) {\n if (classCount > $scope.currentBrowserLimit) {\n showBrowserCompatibleClassLimitWarning($scope.currentBrowserLimit);\n }\n }\n }\n\n const s = LocalStorageAdapter.get(LSKeys.CLASS_HIERARCHY_SWITCH_PREFIXES);\n const noSwitchPrefixes = (s != null) && (s !== \"true\");\n if (noSwitchPrefixes) {\n $scope.showExternalElements = true;\n }\n\n if (currentSliderValue) {\n $scope.classCountSlider.value = currentSliderValue;\n } else if (classCount >= CLASS_COUNT_THRESHOLD) {\n $scope.classCountSlider.value = CLASS_COUNT_THRESHOLD;\n toastr.warning($translate.instant('graphexplore.class.count.slider', {count: CLASS_COUNT_THRESHOLD}), $translate.instant('graphexplore.reducing.class.count'));\n }\n\n if (classCount >= CLASS_COUNT_THRESHOLD_IE && (!(window.ActiveXObject) && \"ActiveXObject\" in window) && !$scope.isWarningShowed) {\n $scope.classCountSlider.value = CLASS_COUNT_THRESHOLD_IE;\n $scope.isWarningShowed = true;\n toastr.warning($translate.instant('graphexplore.class.count.browser', {count: CLASS_COUNT_THRESHOLD_IE}), $translate.instant('graphexplore.reducing.class.count'));\n }\n\n $timeout(function () {\n $scope.$broadcast('reCalcViewDimensions');\n }, 200);\n\n // set this before the slider is moved by the user as we need it\n setNewCurrentSliderValue();\n\n // Modify the slider with the mouse wheel\n let lastTimeWheel = 0;\n $('rzslider').on('wheel', function (e) {\n e.preventDefault();\n e.stopPropagation();\n\n // at least 100ms must have passed since last time we updated\n const now = new Date().getTime();\n if (now - lastTimeWheel > 100) {\n lastTimeWheel = now;\n } else {\n return;\n }\n\n e = e.originalEvent;\n\n let newValue = $scope.classCountSlider.value;\n if (e.deltaY <= -1) {\n newValue += 1;\n } else if (e.deltaY >= 1) {\n newValue -= 1;\n }\n\n if (newValue !== $scope.classCountSlider.value\n && newValue >= $scope.classCountSlider.options.floor\n && newValue <= $scope.classCountSlider.options.ceil) {\n $scope.$apply(function () {\n $scope.classCountSlider.value = newValue;\n $timeout(setNewCurrentSliderValue, 100, true);\n });\n }\n });\n }\n\n function setNewCurrentSliderValue() {\n $scope.currentSliderValue = $scope.classCountSlider.value;\n }\n\n function goToDomainRangeGraphView(selectedClass) {\n const uri = selectedClass.fullName;\n const name = selectedClass.name;\n\n GraphDataRestService.checkDomainRangeData(uri)\n .success(function (response, status) {\n if (status === 204) {\n toastr.warning($translate.instant('graphexplore.no.domain.range', {name: name}));\n } else {\n LocalStorageAdapter.set(LSKeys.CLASS_HIERARCHY_LAST_SELECTED_CLASS, $location.hash());\n $location\n .hash(\"\")\n .path(\"domain-range-graph\")\n .search(\"uri\", uri)\n .search(\"name\", name);\n }\n }).error(function () {\n toastr.error($translate.instant('graphexplore.error.request.failed', {name: name}));\n });\n }\n\n function onGoToDomainRangeGraphView(event, selectedClass) {\n goToDomainRangeGraphView(selectedClass);\n }\n\n function copyToClipboard(uri) {\n ModalService.openCopyToClipboardModal(uri);\n }\n\n function prepareDataForClassInfoSidePanel(selectedClass) {\n // generate SPARQL query for listing class instances in sparql view\n const uri = selectedClass.fullName;\n let name = selectedClass.name;\n\n // in case of no prefix available both name and uri are the same\n // so only take the local name of the uri a tab name for the SPARQL view\n if (name === uri) {\n const localNameStartIdx = name.lastIndexOf(\"#\");\n name = name.substring(localNameStartIdx + 1);\n }\n $scope.encodedUri = encodeURIComponent(uri);\n\n const query = \"prefix onto:<http://www.ontotext.com/>\\nselect ?s {\\n ?s a <\" + uri + \"> .\\n}\";\n\n const encodedQuery = encodeURIComponent(query);\n\n // generate url for redirecting to sparql view, opening a new tab, writing the generated query and executing it\n $scope.viewInstancesUri = 'sparql?name=' + name + '&infer=true&sameAs=false&query=' + encodedQuery + '&execute=true';\n\n GraphDataRestService.getRdfsLabelAndComment(uri)\n .success(function (response) {\n $scope.rdfsLabel = response.label;\n $scope.rdfsComment = response.comment;\n $scope.expanded = false;\n })\n .error(function () {\n toastr.error(\"Error getting rdfs:label and rdfs:comment\");\n });\n\n // clear instances search input field when changing classes\n $scope.instancesQueryObj.query = '';\n\n // get class instances for selected rdf class\n $scope.instancesLoader = true;\n GraphDataRestService.getClassInstances(uri)\n .success(function (response) {\n $scope.instancesObj.items = [];\n _.each(response, function (value, key) {\n const obj = {};\n // TODO extract in core function isTriple(str)\n obj.type = (value.startsWith(\"<<\") && value.endsWith(\">>\")) ? \"triple\": \"uri\";\n obj.absUri = encodeURIComponent(value);\n obj.absUriNonEncoded = value;\n obj.resolvedUri = key;\n $scope.instancesObj.items.push(obj);\n });\n $scope.instancesLoader = false;\n\n $scope.instancesSearchPlaceholder = $scope.instancesObj.items.length < 1000 ? \"Search class instances\" : \"Search first 1000 class instances\";\n $scope.instancesNotFiltered = $scope.instancesObj.items;\n })\n .error(function () {\n toastr.error($translate.instant('graphexplore.error.instances.request'));\n });\n\n }\n\n function toggleClassInfoSidePanel() {\n $scope.showClassInfoPanel = !$scope.showClassInfoPanel;\n $rootScope.$broadcast('sidePanelClosed');\n }\n\n function getActiveRepositoryNoError() {\n if (!$scope.repositoryError) {\n return $repositories.getActiveRepository();\n }\n }\n\n function isSystemRepository() {\n return $repositories.isSystemRepository();\n }\n\n // Hack needed to force hide prefix toggle tooltip in order not be\n // visible after icon is switched\n $(document).ready(function () {\n $(\".prefix-toggle\").click(function () {\n $(\".tooltip\").hide();\n });\n });\n\n function focusOnRoot() {\n $scope.$broadcast(\"rootFocus\");\n }\n\n function refreshDiagramExternalElements() {\n $location.replace().hash(\"1\");\n\n // clear old instances data from previous repository\n $scope.instancesObj.items = [];\n\n // delete old instance count slider and reinit with classes count values\n // appropriate for the newly activated repository\n $scope.showExternalElements = false;\n\n $scope.showClassInfoPanel = false;\n\n LocalStorageAdapter.clearClassHieararchyState();\n\n // reset all watched scope variables to undefined in order to stop unwanted triggering of watches\n $scope.hidePrefixes = LocalStorageAdapter.get(LSKeys.CLASS_HIERARCHY_HIDE_PREFIXES) === \"true\";\n $scope.currentSliderValue = undefined;\n $scope.classHierarchyData = {};\n\n // clear class search input field\n $rootScope.$broadcast('angucomplete-alt:clearInput');\n }\n\n function fixToolbar() {\n // For some reason angular behaves weirdly with the toolbar and its ng-show. Even though the condition\n // is updated, angular won't remove the ng-hide class and the toolbar will stay hidden.\n // Calling $apply(), $digest() or whatever doesn't help either so we have to resort to this instead.\n // The problem is easy to reproduce when viewing a deeper class and changing the repository.\n if ($scope.hasClassHierarchy()) {\n $timeout(function () {\n $('#toolbar').removeClass('ng-hide');\n }, 0);\n }\n }\n\n function reloadClassHierarchy() {\n refreshDiagramExternalElements();\n $scope.loader = true;\n $scope.hierarchyError = false;\n GraphDataRestService.reloadClassHierarchy(selectedGraph.contextID.uri)\n .success(function (response) {\n $scope.loader = false;\n $scope.classHierarchyData = response;\n fixToolbar();\n initClassCountSlider();\n })\n .error(function (response) {\n $scope.loader = false;\n $scope.hierarchyError = getError(response);\n toastr.error(getError(response), $translate.instant('graphexplore.error.rdf.class.request'));\n });\n }\n\n function confirmReloadClassHierarchy() {\n ModalService.openSimpleModal({\n title: $translate.instant('confirm.operation'),\n message: $translate.instant('graphexplore.calculating.hierarchy'),\n warning: true\n }).result\n .then(function () {\n reloadClassHierarchy();\n });\n }\n\n let currentActiveRepository = $repositories.getActiveRepository();\n function onRepositoryIsSet() {\n if (!$licenseService.isLicenseValid()) {\n return;\n }\n if (currentActiveRepository === $repositories.getActiveRepository()) {\n return;\n } else {\n currentActiveRepository = $repositories.getActiveRepository();\n }\n $scope.repositoryError = null;\n if (!currentActiveRepository) {\n return;\n }\n selectedGraph = allGraphs;\n initView()\n .then(getClassHierarchyData);\n }\n\n function getClassHierarchyData() {\n\n refreshDiagramExternalElements();\n\n if (!$scope.isSystemRepository() && $scope.isLicenseValid()) {\n $scope.hierarchyError = false;\n $scope.loader = true;\n GraphDataRestService.getClassHierarchyData(selectedGraph.contextID.uri)\n .success(function (response, status) {\n $scope.showExternalElements = true;\n $scope.loader = false;\n $scope.classHierarchyData = response;\n if (status === 207) {\n toastr.warning($translate.instant('graphexplore.update.diagram'), $translate.instant('graphexplore.repository.data.changed'));\n }\n fixToolbar();\n }).error(function (response) {\n $scope.loader = false;\n $scope.hierarchyError = getError(response);\n toastr.error(getError(response), $translate.instant('graphexplore.error.rdf.class.request'));\n });\n }\n }\n\n $scope.hasClassHierarchy = function () {\n return $scope.classHierarchyData.classCount && $scope.getActiveRepositoryNoError() && !$scope.isSystemRepository();\n };\n\n $scope.isLicenseValid = function () {\n return $licenseService.isLicenseValid();\n };\n\n\n $scope.chosenGraph = function (graph) {\n selectedGraph = graph;\n getClassHierarchyData();\n LocalStorageAdapter.set(`classHierarchy-selectedGraph-${$repositories.getActiveRepository()}`, selectedGraph);\n };\n\n $scope.getSelGraphValue = function () {\n return selectedGraph.contextID.value;\n };\n\n $scope.isAllGraphsSelected = function () {\n return $scope.getSelGraphValue() === 'all.graphs.label';\n };\n}\n"],"sourceRoot":""}
@@ -1,2 +1,2 @@
1
- (window.webpackJsonp=window.webpackJsonp||[]).push([[74],{88: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=74.cc42a1dcef7e9b830354.bundle.js.map
1
+ (window.webpackJsonp=window.webpackJsonp||[]).push([[74],{89: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=74.7595755907badb1a99b8.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":"74.cc42a1dcef7e9b830354.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":"74.7595755907badb1a99b8.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([[75],{86: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=75.31d1a4766c80c90b2afc.bundle.js.map
1
+ (window.webpackJsonp=window.webpackJsonp||[]).push([[75],{87: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=75.4cc7ff534d56a05c578a.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":"75.31d1a4766c80c90b2afc.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":"75.4cc7ff534d56a05c578a.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([[76],{89: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=76.89d209ce08efa7429e87.bundle.js.map
1
+ (window.webpackJsonp=window.webpackJsonp||[]).push([[76],{90: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=76.cd0cfea4c96e88230dbe.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":"76.89d209ce08efa7429e87.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":"76.cd0cfea4c96e88230dbe.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([[77],{85: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=77.64c49e9e99b0ae3fbbca.bundle.js.map
1
+ (window.webpackJsonp=window.webpackJsonp||[]).push([[77],{86: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=77.df7767b1a0a3a0efa202.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":"77.64c49e9e99b0ae3fbbca.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":"77.df7767b1a0a3a0efa202.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([[79],{75: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=79.0fbaedffc1f583a6064f.bundle.js.map
1
+ (window.webpackJsonp=window.webpackJsonp||[]).push([[79],{76: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=79.4d64b377b0308809136f.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":"79.0fbaedffc1f583a6064f.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":"79.4d64b377b0308809136f.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([[80],{74: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=80.6d489af9482e358c8dd8.bundle.js.map
1
+ (window.webpackJsonp=window.webpackJsonp||[]).push([[80],{75: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=80.36e424031127d1743f20.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":"80.6d489af9482e358c8dd8.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":"80.36e424031127d1743f20.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,2 +1,2 @@
1
- (window.webpackJsonp=window.webpackJsonp||[]).push([[94],{91:function(t,e,i){"use strict";i.r(e);i(4),i(14);const r=angular.module("graphdb.framework.impex.import.directives",["graphdb.framework.utils.uriutils"]);r.directive("validateUri",["UriUtils",function(t){return{restrict:"A",require:"ngModel",link:function(e,i,r,a){a.$parsers.unshift((function(i){let r=!0;return"named"===e.target&&(r=t.isValidIri(i)),a.$setValidity("validateUri",r),i}))}}}]),r.directive("filesTable",(function(){return{restrict:"A",templateUrl:"js/angular/import/templates/filesTable.html"}})),r.directive("filesOntoLoader",(function(){return{link:function(t,e,i){t.$watch("file.status",(function(){"IMPORTING"!==t.file.status&&"UPLOADING"!==t.file.status||!$(e).has("object").length>0&&$(e).append('<object width="'+i.size+'" height="'+i.size+'" data="js/angular/templates/loader/ot-loader.svg?v=2.2.4-TR1">{{\'common.loading\' | translate}}</object>')}))}}}))}}]);
2
- //# sourceMappingURL=94.94158487a9024ff3a623.bundle.js.map
1
+ (window.webpackJsonp=window.webpackJsonp||[]).push([[94],{92:function(t,e,i){"use strict";i.r(e);i(4),i(14);const r=angular.module("graphdb.framework.impex.import.directives",["graphdb.framework.utils.uriutils"]);r.directive("validateUri",["UriUtils",function(t){return{restrict:"A",require:"ngModel",link:function(e,i,r,a){a.$parsers.unshift((function(i){let r=!0;return"named"===e.target&&(r=t.isValidIri(i)),a.$setValidity("validateUri",r),i}))}}}]),r.directive("filesTable",(function(){return{restrict:"A",templateUrl:"js/angular/import/templates/filesTable.html"}})),r.directive("filesOntoLoader",(function(){return{link:function(t,e,i){t.$watch("file.status",(function(){"IMPORTING"!==t.file.status&&"UPLOADING"!==t.file.status||!$(e).has("object").length>0&&$(e).append('<object width="'+i.size+'" height="'+i.size+'" data="js/angular/templates/loader/ot-loader.svg?v=2.2.4-TR2">{{\'common.loading\' | translate}}</object>')}))}}}))}}]);
2
+ //# sourceMappingURL=94.b1ccdd207229ae57569f.bundle.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["webpack:///./src/js/angular/import/directives.js"],"names":["importDirectives","angular","module","directive","UriUtils","restrict","require","link","scope","element","attr","ctrl","$parsers","unshift","value","valid","target","isValidIri","$setValidity","templateUrl","$watch","file","status","$","has","length","append","size"],"mappings":"0FAAA,kBAGA,MAAMA,EAAmBC,QAAQC,OAAO,4CAA6C,CACjF,qCAGJF,EAAiBG,UAAU,cAAe,CAAC,WAAY,SAAUC,GAC7D,MAAO,CACHC,SAAU,IACVC,QAAS,UACTC,KAAM,SAAUC,EAAOC,EAASC,EAAMC,GAClCA,EAAKC,SAASC,SAAQ,SAAUC,GAC5B,IAAIC,GAAQ,EAQZ,MANqB,UAAjBP,EAAMQ,SACND,EAAQX,EAASa,WAAWH,IAGhCH,EAAKO,aAAa,cAAeH,GAE1BD,UAMvBd,EAAiBG,UAAU,cAAc,WACrC,MAAO,CACHE,SAAU,IACVc,YAAa,kDAIrBnB,EAAiBG,UAAU,mBAAmB,WAC1C,MAAO,CACHI,KAAM,SAAUC,EAAOC,EAASC,GAC5BF,EAAMY,OAAO,eAAe,WACE,cAAtBZ,EAAMa,KAAKC,QAAgD,cAAtBd,EAAMa,KAAKC,SAC3CC,EAAEd,GAASe,IAAI,UAAUC,OAAS,GACnCF,EAAEd,GAASiB,OAAO,kBAAoBhB,EAAKiB,KAAO,aAAejB,EAAKiB,KAAO","file":"94.94158487a9024ff3a623.bundle.js","sourcesContent":["import 'angular/core/services';\nimport 'angular/utils/uri-utils';\n\nconst importDirectives = angular.module('graphdb.framework.impex.import.directives', [\n 'graphdb.framework.utils.uriutils'\n]);\n\nimportDirectives.directive('validateUri', ['UriUtils', function (UriUtils) {\n return {\n restrict: 'A',\n require: 'ngModel',\n link: function (scope, element, attr, ctrl) {\n ctrl.$parsers.unshift(function (value) {\n let valid = true;\n\n if (scope.target === 'named') {\n valid = UriUtils.isValidIri(value);\n }\n\n ctrl.$setValidity('validateUri', valid);\n\n return value;\n });\n }\n };\n}]);\n\nimportDirectives.directive('filesTable', function () {\n return {\n restrict: 'A',\n templateUrl: 'js/angular/import/templates/filesTable.html'\n };\n});\n\nimportDirectives.directive('filesOntoLoader', function () {\n return {\n link: function (scope, element, attr) {\n scope.$watch('file.status', function () {\n if (scope.file.status === 'IMPORTING' || scope.file.status === 'UPLOADING') {\n if (!$(element).has('object').length > 0) {\n $(element).append('<object width=\"' + attr.size + '\" height=\"' + attr.size + '\" data=\"js/angular/templates/loader/ot-loader.svg?v=2.2.4-TR1\">{{\\'common.loading\\' | translate}}</object>');\n }\n }\n });\n }\n };\n});\n"],"sourceRoot":""}
1
+ {"version":3,"sources":["webpack:///./src/js/angular/import/directives.js"],"names":["importDirectives","angular","module","directive","UriUtils","restrict","require","link","scope","element","attr","ctrl","$parsers","unshift","value","valid","target","isValidIri","$setValidity","templateUrl","$watch","file","status","$","has","length","append","size"],"mappings":"0FAAA,kBAGA,MAAMA,EAAmBC,QAAQC,OAAO,4CAA6C,CACjF,qCAGJF,EAAiBG,UAAU,cAAe,CAAC,WAAY,SAAUC,GAC7D,MAAO,CACHC,SAAU,IACVC,QAAS,UACTC,KAAM,SAAUC,EAAOC,EAASC,EAAMC,GAClCA,EAAKC,SAASC,SAAQ,SAAUC,GAC5B,IAAIC,GAAQ,EAQZ,MANqB,UAAjBP,EAAMQ,SACND,EAAQX,EAASa,WAAWH,IAGhCH,EAAKO,aAAa,cAAeH,GAE1BD,UAMvBd,EAAiBG,UAAU,cAAc,WACrC,MAAO,CACHE,SAAU,IACVc,YAAa,kDAIrBnB,EAAiBG,UAAU,mBAAmB,WAC1C,MAAO,CACHI,KAAM,SAAUC,EAAOC,EAASC,GAC5BF,EAAMY,OAAO,eAAe,WACE,cAAtBZ,EAAMa,KAAKC,QAAgD,cAAtBd,EAAMa,KAAKC,SAC3CC,EAAEd,GAASe,IAAI,UAAUC,OAAS,GACnCF,EAAEd,GAASiB,OAAO,kBAAoBhB,EAAKiB,KAAO,aAAejB,EAAKiB,KAAO","file":"94.b1ccdd207229ae57569f.bundle.js","sourcesContent":["import 'angular/core/services';\nimport 'angular/utils/uri-utils';\n\nconst importDirectives = angular.module('graphdb.framework.impex.import.directives', [\n 'graphdb.framework.utils.uriutils'\n]);\n\nimportDirectives.directive('validateUri', ['UriUtils', function (UriUtils) {\n return {\n restrict: 'A',\n require: 'ngModel',\n link: function (scope, element, attr, ctrl) {\n ctrl.$parsers.unshift(function (value) {\n let valid = true;\n\n if (scope.target === 'named') {\n valid = UriUtils.isValidIri(value);\n }\n\n ctrl.$setValidity('validateUri', valid);\n\n return value;\n });\n }\n };\n}]);\n\nimportDirectives.directive('filesTable', function () {\n return {\n restrict: 'A',\n templateUrl: 'js/angular/import/templates/filesTable.html'\n };\n});\n\nimportDirectives.directive('filesOntoLoader', function () {\n return {\n link: function (scope, element, attr) {\n scope.$watch('file.status', function () {\n if (scope.file.status === 'IMPORTING' || scope.file.status === 'UPLOADING') {\n if (!$(element).has('object').length > 0) {\n $(element).append('<object width=\"' + attr.size + '\" height=\"' + attr.size + '\" data=\"js/angular/templates/loader/ot-loader.svg?v=2.2.4-TR2\">{{\\'common.loading\\' | translate}}</object>');\n }\n }\n });\n }\n };\n});\n"],"sourceRoot":""}
@@ -1,2 +1,2 @@
1
- (window.webpackJsonp=window.webpackJsonp||[]).push([[97],{94:function(e,a,n){"use strict";n.r(a);n(4),n(12),n(10),n(15);const s=angular.module("graphdb.framework.namespaces.controllers",["ui.bootstrap","graphdb.framework.core.services.repositories","graphdb.framework.core.services.jwtauth","graphdb.framework.rest.repositories.service","graphdb.framework.rest.rdf4j.repositories.service","toastr"]),c=function(){const e="[A-Z]|[a-z]|[À-Ö]|[Ø-ö]|[ø-˿]|[Ͱ-ͽ]|[Ϳ-῿]|[‌-‍]|[⁰-↏]|[Ⰰ-⿯]|[、-퟿]|[豈-﷏]|[ﷰ-�]",a="[A-Z]|[a-z]|[À-Ö]|[Ø-ö]|[ø-˿]|[Ͱ-ͽ]|[Ϳ-῿]|[‌-‍]|[⁰-↏]|[Ⰰ-⿯]|[、-퟿]|[豈-﷏]|[ﷰ-�]|_|-|[0-9]|·|[̀-ͯ]|[‿-⁀]";return new RegExp("^(?:"+e+")(?:(?:"+a+"|\\.)*(?:"+a+"))?$")}();s.controller("NamespacesCtrl",["$scope","$http","$repositories","toastr","$uibModal","ModalService","RepositoriesRestService","RDF4JRepositoriesRestService","$translate",function(e,a,n,s,t,r,i,o,p){function l(a,c){let t;t="object"==typeof a?a.prefix:a,o.deleteNamespacePrefix(n.getActiveRepository(),t).success((function(){c&&c.length>0?l(a=c.shift(),c):(e.selectedAll=!1,e.namespace={},e.getNamespaces(),e.searchNamespaces="",e.haveSelected=!1,e.loader=!1,e.displayedNamespaces=[],void 0===c?s.success(p.instant("namespace.prefix.deleted.successfully",{prefix:t}),""):s.success(p.instant("namespace.selected.namespaces.deleted.successfully"),""))})).error((function(a){const n=getError(a);s.error(n,p.instant("common.error")),e.loader=!1}))}function m(e,a){return function(e){return""===e||e.match(c)}(e)?!angular.isUndefined(a)&&""!==a||(s.error(p.instant("namespace.warning.provide.namespace"),p.instant("common.error")),!1):(s.error(p.instant("namespace.invalid.prefix",{prefix:e},p.instant("common.error"))),!1)}e.namespaces={},e.namespace={},e.loader=!1,e.haveSelected=!1,e.pageSizeOptions=[10,20,50,100],e.page=1,e.pageSize=e.pageSizeOptions[0],e.displayedNamespaces=[],e.getNamespaces=function(){n.getActiveRepository()&&(e.loader=!0,e.namespaces={},o.getNamespaces(n.getActiveRepository()).success((function(a){e.namespaces=a.results.bindings.map((function(e){return{prefix:e.prefix.value,namespace:e.namespace.value}})),e.namespaces.length>0&&(e.namespaces.sort((function(e,a){const n=e.prefix.toUpperCase(),s=a.prefix.toUpperCase();return n<s?-1:n>s?1:0})),e.matchedElements=e.namespaces,e.changePagination()),0===e.namespaces.length&&(e.loader=!1)})).error((function(a){const n=getError(a);s.error(n),e.loader=!1})))},e.changePagination=function(){angular.isDefined(e.namespaces)&&(e.displayedNamespaces=e.namespaces.slice(e.pageSize*(e.page-1),e.pageSize*e.page))},e.changePageSize=function(a){$(".ot-graph-page-size").removeClass("active"),e.page=1,e.searchNamespaces="",a&&(e.getNamespaces(),e.pageSize=a)},e.$watch("matchedElements",(function(){angular.isDefined(e.matchedElements)&&(e.displayedNamespaces=e.matchedElements.slice(e.pageSize*(e.page-1),e.pageSize*e.page))})),e.$watch((function(){return n.getActiveRepository()}),(function(){e.searchNamespaces="",e.getNamespaces(),e.selectedAll=!1})),e.onNamespaceSearch=function(){e.haveSelected=!1,e.selectedAll=!1,e.matchedElements=[],e.deselectAll(),e.filterResults()},e.filterResults=function(){angular.forEach(e.namespaces,(function(a){-1===a.namespace.indexOf(e.searchNamespaces)&&-1===a.prefix.indexOf(e.searchNamespaces)||e.matchedElements.push(a)}))},e.saveNamespace=function(a,c){return e.loader=!0,o.updateNamespacePrefix(n.getActiveRepository(),c,a).success((function(){e.getNamespaces(),e.loader=!1})).error((function(a){const n=getError(a);s.error(n,p.instant("common.error")),e.loader=!1}))},e.editPrefix=function(a,c){e.loader=!0,i.getPrefix(n.getActiveRepository(),{from:a,to:c,location:n.getActiveRepositoryObject().location}).success((function(){e.getNamespaces(),e.loader=!1})).error((function(a){const n=getError(a);s.error(n,p.instant("common.error")),e.loader=!1}))},e.confirmReplace=function(e,a){r.openSimpleModal({title:p.instant("namespace.confirm.replace"),message:p.instant("namespace.already.exists.msg"),warning:!0}).result.then(e,a)},e.editPrefixAndNamespace=function(a,n,s){if(angular.isUndefined(a)&&(a=""),!m(a,n))return"";let c=!1;const t=s.prefix;angular.forEach(e.namespaces,(function(e){e.prefix===a&&t!==a&&(c=!0)})),c?e.confirmReplace((function(){e.saveNamespace(t,n).then((function(){t!==a&&e.editPrefix(t,a)}))}),(function(){e.getNamespaces()})):angular.isDefined(c)&&e.saveNamespace(t,n).then((function(){t!==a&&e.editPrefix(t,a)}))},e.addNamespace=function(){if(angular.isUndefined(e.namespace.prefix)&&(e.namespace.prefix=""),!m(e.namespace.prefix,e.namespace.namespace))return;e.selectedAll=!1;let a=!1;for(let n=0;n<e.namespaces.length;n++)e.namespaces[n].prefix===e.namespace.prefix&&(a=!0);a?e.confirmReplace((function(){e.saveNamespace(e.namespace.prefix,e.namespace.namespace),e.namespace={}})):(e.saveNamespace(e.namespace.prefix,e.namespace.namespace),e.namespace={})},e.removeNamespace=function(e){r.openSimpleModal({title:p.instant("common.confirm.delete"),message:p.instant("namespace.warning.delete.msg",{prefix:e.prefix}),warning:!0}).result.then((function(){l(e)}))},e.checkAll=function(){angular.forEach(e.displayedNamespaces,(function(a){a.selected=e.selectedAll}))},e.deleteSelected=function(){let a=!1;angular.forEach(e.displayedNamespaces,(function(n){a||n.selected&&(a=!0,r.openSimpleModal({title:p.instant("common.confirm.delete"),message:p.instant("namespace.warning.delete.selected"),warning:!0}).result.then((function(){e.loader=!0;const a=[];angular.forEach(e.displayedNamespaces,(function(e){e.selected&&a.push(e)})),l(a.shift(),a),e.selectedAll=!1}),(function(){e.getNamespaces(),e.selectedAll=!1,e.searchNamespaces=""})))}))},e.checkIfSelectedNamespace=function(){e.haveSelected=!1,angular.forEach(e.namespaces,(function(a){a.selected&&(e.haveSelected=!0)}))},e.deselectAll=function(){angular.forEach(e.namespaces,(function(e){e.selected=!1}))}}]),s.controller("StandartModalCtrl",["$scope","$uibModalInstance",function(e,a){e.ok=function(){a.close(!0)},e.cancel=function(){a.dismiss("cancel")}}])}}]);
2
- //# sourceMappingURL=97.48e14b67906b4d61a1b1.bundle.js.map
1
+ (window.webpackJsonp=window.webpackJsonp||[]).push([[97],{95:function(e,a,n){"use strict";n.r(a);n(4),n(12),n(10),n(15);const s=angular.module("graphdb.framework.namespaces.controllers",["ui.bootstrap","graphdb.framework.core.services.repositories","graphdb.framework.core.services.jwtauth","graphdb.framework.rest.repositories.service","graphdb.framework.rest.rdf4j.repositories.service","toastr"]),c=function(){const e="[A-Z]|[a-z]|[À-Ö]|[Ø-ö]|[ø-˿]|[Ͱ-ͽ]|[Ϳ-῿]|[‌-‍]|[⁰-↏]|[Ⰰ-⿯]|[、-퟿]|[豈-﷏]|[ﷰ-�]",a="[A-Z]|[a-z]|[À-Ö]|[Ø-ö]|[ø-˿]|[Ͱ-ͽ]|[Ϳ-῿]|[‌-‍]|[⁰-↏]|[Ⰰ-⿯]|[、-퟿]|[豈-﷏]|[ﷰ-�]|_|-|[0-9]|·|[̀-ͯ]|[‿-⁀]";return new RegExp("^(?:"+e+")(?:(?:"+a+"|\\.)*(?:"+a+"))?$")}();s.controller("NamespacesCtrl",["$scope","$http","$repositories","toastr","$uibModal","ModalService","RepositoriesRestService","RDF4JRepositoriesRestService","$translate",function(e,a,n,s,t,r,i,o,p){function l(a,c){let t;t="object"==typeof a?a.prefix:a,o.deleteNamespacePrefix(n.getActiveRepository(),t).success((function(){c&&c.length>0?l(a=c.shift(),c):(e.selectedAll=!1,e.namespace={},e.getNamespaces(),e.searchNamespaces="",e.haveSelected=!1,e.loader=!1,e.displayedNamespaces=[],void 0===c?s.success(p.instant("namespace.prefix.deleted.successfully",{prefix:t}),""):s.success(p.instant("namespace.selected.namespaces.deleted.successfully"),""))})).error((function(a){const n=getError(a);s.error(n,p.instant("common.error")),e.loader=!1}))}function m(e,a){return function(e){return""===e||e.match(c)}(e)?!angular.isUndefined(a)&&""!==a||(s.error(p.instant("namespace.warning.provide.namespace"),p.instant("common.error")),!1):(s.error(p.instant("namespace.invalid.prefix",{prefix:e},p.instant("common.error"))),!1)}e.namespaces={},e.namespace={},e.loader=!1,e.haveSelected=!1,e.pageSizeOptions=[10,20,50,100],e.page=1,e.pageSize=e.pageSizeOptions[0],e.displayedNamespaces=[],e.getNamespaces=function(){n.getActiveRepository()&&(e.loader=!0,e.namespaces={},o.getNamespaces(n.getActiveRepository()).success((function(a){e.namespaces=a.results.bindings.map((function(e){return{prefix:e.prefix.value,namespace:e.namespace.value}})),e.namespaces.length>0&&(e.namespaces.sort((function(e,a){const n=e.prefix.toUpperCase(),s=a.prefix.toUpperCase();return n<s?-1:n>s?1:0})),e.matchedElements=e.namespaces,e.changePagination()),0===e.namespaces.length&&(e.loader=!1)})).error((function(a){const n=getError(a);s.error(n),e.loader=!1})))},e.changePagination=function(){angular.isDefined(e.namespaces)&&(e.displayedNamespaces=e.namespaces.slice(e.pageSize*(e.page-1),e.pageSize*e.page))},e.changePageSize=function(a){$(".ot-graph-page-size").removeClass("active"),e.page=1,e.searchNamespaces="",a&&(e.getNamespaces(),e.pageSize=a)},e.$watch("matchedElements",(function(){angular.isDefined(e.matchedElements)&&(e.displayedNamespaces=e.matchedElements.slice(e.pageSize*(e.page-1),e.pageSize*e.page))})),e.$watch((function(){return n.getActiveRepository()}),(function(){e.searchNamespaces="",e.getNamespaces(),e.selectedAll=!1})),e.onNamespaceSearch=function(){e.haveSelected=!1,e.selectedAll=!1,e.matchedElements=[],e.deselectAll(),e.filterResults()},e.filterResults=function(){angular.forEach(e.namespaces,(function(a){-1===a.namespace.indexOf(e.searchNamespaces)&&-1===a.prefix.indexOf(e.searchNamespaces)||e.matchedElements.push(a)}))},e.saveNamespace=function(a,c){return e.loader=!0,o.updateNamespacePrefix(n.getActiveRepository(),c,a).success((function(){e.getNamespaces(),e.loader=!1})).error((function(a){const n=getError(a);s.error(n,p.instant("common.error")),e.loader=!1}))},e.editPrefix=function(a,c){e.loader=!0,i.getPrefix(n.getActiveRepository(),{from:a,to:c,location:n.getActiveRepositoryObject().location}).success((function(){e.getNamespaces(),e.loader=!1})).error((function(a){const n=getError(a);s.error(n,p.instant("common.error")),e.loader=!1}))},e.confirmReplace=function(e,a){r.openSimpleModal({title:p.instant("namespace.confirm.replace"),message:p.instant("namespace.already.exists.msg"),warning:!0}).result.then(e,a)},e.editPrefixAndNamespace=function(a,n,s){if(angular.isUndefined(a)&&(a=""),!m(a,n))return"";let c=!1;const t=s.prefix;angular.forEach(e.namespaces,(function(e){e.prefix===a&&t!==a&&(c=!0)})),c?e.confirmReplace((function(){e.saveNamespace(t,n).then((function(){t!==a&&e.editPrefix(t,a)}))}),(function(){e.getNamespaces()})):angular.isDefined(c)&&e.saveNamespace(t,n).then((function(){t!==a&&e.editPrefix(t,a)}))},e.addNamespace=function(){if(angular.isUndefined(e.namespace.prefix)&&(e.namespace.prefix=""),!m(e.namespace.prefix,e.namespace.namespace))return;e.selectedAll=!1;let a=!1;for(let n=0;n<e.namespaces.length;n++)e.namespaces[n].prefix===e.namespace.prefix&&(a=!0);a?e.confirmReplace((function(){e.saveNamespace(e.namespace.prefix,e.namespace.namespace),e.namespace={}})):(e.saveNamespace(e.namespace.prefix,e.namespace.namespace),e.namespace={})},e.removeNamespace=function(e){r.openSimpleModal({title:p.instant("common.confirm.delete"),message:p.instant("namespace.warning.delete.msg",{prefix:e.prefix}),warning:!0}).result.then((function(){l(e)}))},e.checkAll=function(){angular.forEach(e.displayedNamespaces,(function(a){a.selected=e.selectedAll}))},e.deleteSelected=function(){let a=!1;angular.forEach(e.displayedNamespaces,(function(n){a||n.selected&&(a=!0,r.openSimpleModal({title:p.instant("common.confirm.delete"),message:p.instant("namespace.warning.delete.selected"),warning:!0}).result.then((function(){e.loader=!0;const a=[];angular.forEach(e.displayedNamespaces,(function(e){e.selected&&a.push(e)})),l(a.shift(),a),e.selectedAll=!1}),(function(){e.getNamespaces(),e.selectedAll=!1,e.searchNamespaces=""})))}))},e.checkIfSelectedNamespace=function(){e.haveSelected=!1,angular.forEach(e.namespaces,(function(a){a.selected&&(e.haveSelected=!0)}))},e.deselectAll=function(){angular.forEach(e.namespaces,(function(e){e.selected=!1}))}}]),s.controller("StandartModalCtrl",["$scope","$uibModalInstance",function(e,a){e.ok=function(){a.close(!0)},e.cancel=function(){a.dismiss("cancel")}}])}}]);
2
+ //# sourceMappingURL=97.951e03ffd2d5a10f868d.bundle.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["webpack:///./src/js/angular/namespaces/controllers.js"],"names":["namespaces","angular","module","pnPrefixRe","pnCharsBase","pnChars","pnCharsU","RegExp","controller","$scope","$http","$repositories","toastr","$uibModal","ModalService","RepositoriesRestService","RDF4JRepositoriesRestService","$translate","deleteNamespace","namespace","prefix","deleteNamespacePrefix","getActiveRepository","success","length","shift","selectedAll","getNamespaces","searchNamespaces","haveSelected","loader","displayedNamespaces","undefined","instant","error","data","msg","getError","validatePrefixAndNamespace","match","validatePrefix","isUndefined","pageSizeOptions","page","pageSize","results","bindings","map","e","value","sort","a","b","prefixA","toUpperCase","prefixB","matchedElements","changePagination","isDefined","slice","changePageSize","size","$","removeClass","$watch","onNamespaceSearch","deselectAll","filterResults","forEach","item","indexOf","push","saveNamespace","updateNamespacePrefix","editPrefix","oldPrefix","newPrefix","getPrefix","from","to","location","getActiveRepositoryObject","confirmReplace","okCallback","cancelCallback","openSimpleModal","title","message","warning","result","then","editPrefixAndNamespace","namespaceObject","prefixExist","elem","addNamespace","i","removeNamespace","checkAll","selected","deleteSelected","modalInstanceOpened","checkIfSelectedNamespace","$uibModalInstance","ok","close","cancel","dismiss"],"mappings":"0FAAA,8BAKA,MASMA,EAAaC,QAAQC,OAAO,2CATlB,CACZ,eACA,+CACA,0CACA,8CACA,oDACA,WAOEC,EAAa,WACf,MAAMC,EAAc,gFAIdC,EAAUC,wGAEhB,OAAO,IAAIC,OAAO,OAASH,EAAc,UAAYC,EAAU,YAAcA,EAAU,QAPxE,GAcnBL,EAAWQ,WAAW,iBAAkB,CAAC,SAAU,QAAS,gBAAiB,SAAU,YAAa,eAAgB,0BAA2B,+BAAgC,aAC3K,SAAUC,EAAQC,EAAOC,EAAeC,EAAQC,EAAWC,EAAcC,EAAyBC,EAA8BC,GAoP5H,SAASC,EAAgBC,EAAWnB,GAChC,IAAIoB,EAEAA,EADqB,iBAAdD,EACEA,EAAUC,OAEVD,EAEbH,EAA6BK,sBAAsBV,EAAcW,sBAAuBF,GACnFG,SAAQ,WACDvB,GAAcA,EAAWwB,OAAS,EAElCN,EADAC,EAAYnB,EAAWyB,QACIzB,IAE3BS,EAAOiB,aAAc,EACrBjB,EAAOU,UAAY,GACnBV,EAAOkB,gBACPlB,EAAOmB,iBAAmB,GAC1BnB,EAAOoB,cAAe,EACtBpB,EAAOqB,QAAS,EAChBrB,EAAOsB,oBAAsB,QACVC,IAAfhC,EACAY,EAAOW,QAAQN,EAAWgB,QAAQ,wCAAyC,CAACb,OAAQA,IAAU,IAE9FR,EAAOW,QAAQN,EAAWgB,QAAQ,sDAAuD,QAGlGC,OAAM,SAAUC,GACf,MAAMC,EAAMC,SAASF,GACrBvB,EAAOsB,MAAME,EAAKnB,EAAWgB,QAAQ,iBACrCxB,EAAOqB,QAAS,KAmB5B,SAASQ,EAA2BlB,EAAQD,GACxC,OA1SZ,SAAwBC,GACpB,MAAkB,KAAXA,GAAiBA,EAAOmB,MAAMpC,GAySxBqC,CAAepB,IAKhBnB,QAAQwC,YAAYtB,IAA4B,KAAdA,IAClCP,EAAOsB,MAAMjB,EAAWgB,QAAQ,uCAAwChB,EAAWgB,QAAQ,kBACpF,IANPrB,EAAOsB,MAAMjB,EAAWgB,QAAQ,2BAA4B,CAACb,OAAQA,GAASH,EAAWgB,QAAQ,mBAC1F,GAtSfxB,EAAOT,WAAa,GACpBS,EAAOU,UAAY,GACnBV,EAAOqB,QAAS,EAChBrB,EAAOoB,cAAe,EACtBpB,EAAOiC,gBAAkB,CAAC,GAAI,GAAI,GAAI,KACtCjC,EAAOkC,KAAO,EACdlC,EAAOmC,SAAWnC,EAAOiC,gBAAgB,GACzCjC,EAAOsB,oBAAsB,GAE7BtB,EAAOkB,cAAgB,WACdhB,EAAcW,wBAInBb,EAAOqB,QAAS,EAChBrB,EAAOT,WAAa,GACpBgB,EAA6BW,cAAchB,EAAcW,uBACpDC,SAAQ,SAAUY,GACf1B,EAAOT,WAAamC,EAAKU,QAAQC,SAASC,KAAI,SAAUC,GACpD,MAAO,CACH5B,OAAQ4B,EAAE5B,OAAO6B,MACjB9B,UAAW6B,EAAE7B,UAAU8B,UAG3BxC,EAAOT,WAAWwB,OAAS,IAC3Bf,EAAOT,WAAWkD,MAAK,SAAUC,EAAGC,GAChC,MAAMC,EAAUF,EAAE/B,OAAOkC,cACnBC,EAAUH,EAAEhC,OAAOkC,cACzB,OAAID,EAAUE,GACF,EAERF,EAAUE,EACH,EAEJ,KAEX9C,EAAO+C,gBAAkB/C,EAAOT,WAChCS,EAAOgD,oBAEsB,IAA7BhD,EAAOT,WAAWwB,SAElBf,EAAOqB,QAAS,MAErBI,OAAM,SAAUC,GACf,MAAMC,EAAMC,SAASF,GACrBvB,EAAOsB,MAAME,GACb3B,EAAOqB,QAAS,OAI5BrB,EAAOgD,iBAAmB,WAClBxD,QAAQyD,UAAUjD,EAAOT,cACzBS,EAAOsB,oBAAsBtB,EAAOT,WAAW2D,MAAMlD,EAAOmC,UAAYnC,EAAOkC,KAAO,GAAIlC,EAAOmC,SAAWnC,EAAOkC,QAI3HlC,EAAOmD,eAAiB,SAAUC,GAC9BC,EAAE,uBAAuBC,YAAY,UACrCtD,EAAOkC,KAAO,EACdlC,EAAOmB,iBAAmB,GACtBiC,IACApD,EAAOkB,gBACPlB,EAAOmC,SAAWiB,IAI1BpD,EAAOuD,OAAO,mBAAmB,WACzB/D,QAAQyD,UAAUjD,EAAO+C,mBACzB/C,EAAOsB,oBAAsBtB,EAAO+C,gBAAgBG,MAAMlD,EAAOmC,UAAYnC,EAAOkC,KAAO,GAAIlC,EAAOmC,SAAWnC,EAAOkC,UAIhIlC,EAAOuD,QAAO,WACV,OAAOrD,EAAcW,yBACtB,WACCb,EAAOmB,iBAAmB,GAC1BnB,EAAOkB,gBACPlB,EAAOiB,aAAc,KAGzBjB,EAAOwD,kBAAoB,WACvBxD,EAAOoB,cAAe,EACtBpB,EAAOiB,aAAc,EACrBjB,EAAO+C,gBAAkB,GACzB/C,EAAOyD,cACPzD,EAAO0D,iBAGX1D,EAAO0D,cAAgB,WACnBlE,QAAQmE,QAAQ3D,EAAOT,YAAY,SAAUqE,IACgB,IAArDA,EAAKlD,UAAUmD,QAAQ7D,EAAOmB,oBAA8E,IAAlDyC,EAAKjD,OAAOkD,QAAQ7D,EAAOmB,mBACrFnB,EAAO+C,gBAAgBe,KAAKF,OAKxC5D,EAAO+D,cAAgB,SAAUpD,EAAQD,GAErC,OADAV,EAAOqB,QAAS,EACTd,EAA6ByD,sBAAsB9D,EAAcW,sBAAuBH,EAAWC,GACrGG,SAAQ,WACLd,EAAOkB,gBACPlB,EAAOqB,QAAS,KACjBI,OAAM,SAAUC,GACf,MAAMC,EAAMC,SAASF,GACrBvB,EAAOsB,MAAME,EAAKnB,EAAWgB,QAAQ,iBACrCxB,EAAOqB,QAAS,MAI5BrB,EAAOiE,WAAa,SAAUC,EAAWC,GACrCnE,EAAOqB,QAAS,EAChBf,EAAwB8D,UAAUlE,EAAcW,sBAAuB,CACnEwD,KAAMH,EAAWI,GAAIH,EAAWI,SAAUrE,EAAcsE,4BAA4BD,WACnFzD,SAAQ,WACLd,EAAOkB,gBACPlB,EAAOqB,QAAS,KACjBI,OAAM,SAAUC,GACf,MAAMC,EAAMC,SAASF,GACrBvB,EAAOsB,MAAME,EAAKnB,EAAWgB,QAAQ,iBACrCxB,EAAOqB,QAAS,MAI5BrB,EAAOyE,eAAiB,SAAUC,EAAYC,GAC1CtE,EAAauE,gBAAgB,CACzBC,MAAOrE,EAAWgB,QAAQ,6BAC1BsD,QAAStE,EAAWgB,QAAQ,gCAC5BuD,SAAS,IACVC,OAAOC,KAAKP,EAAYC,IAG/B3E,EAAOkF,uBAAyB,SAAUvE,EAAQD,EAAWyE,GAKzD,GAJI3F,QAAQwC,YAAYrB,KACpBA,EAAS,KAGRkB,EAA2BlB,EAAQD,GACpC,MAAO,GAGX,IAAI0E,GAAc,EAClB,MAAMlB,EAAYiB,EAAgBxE,OAClCnB,QAAQmE,QAAQ3D,EAAOT,YAAY,SAAU8F,GACrCA,EAAK1E,SAAWA,GAAUuD,IAAcvD,IACxCyE,GAAc,MAGlBA,EACApF,EAAOyE,gBAAe,WAClBzE,EAAO+D,cAAcG,EAAWxD,GAAWuE,MAAK,WACxCf,IAAcvD,GACdX,EAAOiE,WAAWC,EAAWvD,SAGtC,WACCX,EAAOkB,mBAEJ1B,QAAQyD,UAAUmC,IACzBpF,EAAO+D,cAAcG,EAAWxD,GAAWuE,MAAK,WACxCf,IAAcvD,GACdX,EAAOiE,WAAWC,EAAWvD,OAM7CX,EAAOsF,aAAe,WAKlB,GAJI9F,QAAQwC,YAAYhC,EAAOU,UAAUC,UACrCX,EAAOU,UAAUC,OAAS,KAGzBkB,EAA2B7B,EAAOU,UAAUC,OAAQX,EAAOU,UAAUA,WACtE,OAGJV,EAAOiB,aAAc,EACrB,IAAImE,GAAc,EAClB,IAAK,IAAIG,EAAI,EAAGA,EAAIvF,EAAOT,WAAWwB,OAAQwE,IACtCvF,EAAOT,WAAWgG,GAAG5E,SAAWX,EAAOU,UAAUC,SACjDyE,GAAc,GAGlBA,EACApF,EAAOyE,gBAAe,WAClBzE,EAAO+D,cAAc/D,EAAOU,UAAUC,OAAQX,EAAOU,UAAUA,WAC/DV,EAAOU,UAAY,OAGvBV,EAAO+D,cAAc/D,EAAOU,UAAUC,OAAQX,EAAOU,UAAUA,WAC/DV,EAAOU,UAAY,KAI3BV,EAAOwF,gBAAkB,SAAU9E,GAC/BL,EAAauE,gBAAgB,CACzBC,MAAOrE,EAAWgB,QAAQ,yBAC1BsD,QAAStE,EAAWgB,QAAQ,+BAAgC,CAACb,OAAQD,EAAUC,SAC/EoE,SAAS,IACVC,OAAOC,MAAK,WACXxE,EAAgBC,OAIxBV,EAAOyF,SAAW,WACdjG,QAAQmE,QAAQ3D,EAAOsB,qBAAqB,SAAUsC,GAClDA,EAAK8B,SAAW1F,EAAOiB,gBAI/BjB,EAAO2F,eAAiB,WAuBpB,IAAIC,GAAsB,EAC1BpG,QAAQmE,QAAQ3D,EAAOsB,qBAAqB,SAAUZ,GAC7CkF,GACGlF,EAAUgF,WACVE,GAAsB,EAzB9BvF,EAAauE,gBAAgB,CACzBC,MAAOrE,EAAWgB,QAAQ,yBAC1BsD,QAAStE,EAAWgB,QAAQ,qCAC5BuD,SAAS,IACVC,OAAOC,MAAK,WACXjF,EAAOqB,QAAS,EAChB,MAAM9B,EAAa,GACnBC,QAAQmE,QAAQ3D,EAAOsB,qBAAqB,SAAUZ,GAC9CA,EAAUgF,UACVnG,EAAWuE,KAAKpD,MAGxBD,EAAgBlB,EAAWyB,QAASzB,GACpCS,EAAOiB,aAAc,KACtB,WACCjB,EAAOkB,gBACPlB,EAAOiB,aAAc,EACrBjB,EAAOmB,iBAAmB,WAgDtCnB,EAAO6F,yBAA2B,WAC9B7F,EAAOoB,cAAe,EACtB5B,QAAQmE,QAAQ3D,EAAOT,YAAY,SAAUqE,GACrCA,EAAK8B,WACL1F,EAAOoB,cAAe,OAKlCpB,EAAOyD,YAAc,WACjBjE,QAAQmE,QAAQ3D,EAAOT,YAAY,SAAUqE,GACzCA,EAAK8B,UAAW,SAmBhCnG,EAAWQ,WAAW,oBAAqB,CAAC,SAAU,oBAAqB,SAAUC,EAAQ8F,GAEzF9F,EAAO+F,GAAK,WAERD,EAAkBE,OADH,IAInBhG,EAAOiG,OAAS,WACZH,EAAkBI,QAAQ","file":"97.48e14b67906b4d61a1b1.bundle.js","sourcesContent":["import 'angular/core/services';\nimport 'angular/core/services/jwt-auth.service';\nimport 'angular/core/services/repositories.service';\nimport 'angular/rest/rdf4j.repositories.rest.service';\n\nconst modules = [\n 'ui.bootstrap',\n 'graphdb.framework.core.services.repositories',\n 'graphdb.framework.core.services.jwtauth',\n 'graphdb.framework.rest.repositories.service',\n 'graphdb.framework.rest.rdf4j.repositories.service',\n 'toastr'\n];\n\nconst namespaces = angular.module('graphdb.framework.namespaces.controllers', modules);\n\n// A regular expression that validates a prefix according to the SPARQL 1.1 specification.\n// XXX: Technically this should include Unicode chars > 0xFFFF but those aren't fully supported in JavaScript\nconst pnPrefixRe = function () {\n const pnCharsBase = '[A-Z]|[a-z]|[\\u00C0-\\u00D6]|[\\u00D8-\\u00F6]|[\\u00F8-\\u02FF]|[\\u0370-\\u037D]'\n + '|[\\u037F-\\u1FFF]|[\\u200C-\\u200D]|[\\u2070-\\u218F]|[\\u2C00-\\u2FEF]|[\\u3001-\\uD7FF]'\n + '|[\\uF900-\\uFDCF]|[\\uFDF0-\\uFFFD]';\n const pnCharsU = pnCharsBase + '|_';\n const pnChars = pnCharsU + '|-|[0-9]|\\u00B7|[\\u0300-\\u036F]|[\\u203F-\\u2040]';\n\n return new RegExp('^(?:' + pnCharsBase + ')(?:(?:' + pnChars + '|\\\\.)*(?:' + pnChars + '))?$');\n}();\n\nfunction validatePrefix(prefix) {\n return prefix === '' || prefix.match(pnPrefixRe);\n}\n\nnamespaces.controller('NamespacesCtrl', ['$scope', '$http', '$repositories', 'toastr', '$uibModal', 'ModalService', 'RepositoriesRestService', 'RDF4JRepositoriesRestService', '$translate',\n function ($scope, $http, $repositories, toastr, $uibModal, ModalService, RepositoriesRestService, RDF4JRepositoriesRestService, $translate) {\n $scope.namespaces = {};\n $scope.namespace = {};\n $scope.loader = false;\n $scope.haveSelected = false;\n $scope.pageSizeOptions = [10, 20, 50, 100];\n $scope.page = 1;\n $scope.pageSize = $scope.pageSizeOptions[0];\n $scope.displayedNamespaces = [];\n\n $scope.getNamespaces = function () {\n if (!$repositories.getActiveRepository()) {\n return;\n }\n\n $scope.loader = true;\n $scope.namespaces = {};\n RDF4JRepositoriesRestService.getNamespaces($repositories.getActiveRepository())\n .success(function (data) {\n $scope.namespaces = data.results.bindings.map(function (e) {\n return {\n prefix: e.prefix.value,\n namespace: e.namespace.value\n };\n });\n if ($scope.namespaces.length > 0) {\n $scope.namespaces.sort(function (a, b) {\n const prefixA = a.prefix.toUpperCase(); // ignore upper and lowercase\n const prefixB = b.prefix.toUpperCase(); // ignore upper and lowercase\n if (prefixA < prefixB) {\n return -1;\n }\n if (prefixA > prefixB) {\n return 1;\n }\n return 0;\n });\n $scope.matchedElements = $scope.namespaces;\n $scope.changePagination();\n }\n if ($scope.namespaces.length === 0) {\n // Remove the loader ourselves\n $scope.loader = false;\n } // else let the loaderPostRepeatDirective do it\n }).error(function (data) {\n const msg = getError(data);\n toastr.error(msg);\n $scope.loader = false;\n });\n };\n\n $scope.changePagination = function () {\n if (angular.isDefined($scope.namespaces)) {\n $scope.displayedNamespaces = $scope.namespaces.slice($scope.pageSize * ($scope.page - 1), $scope.pageSize * $scope.page);\n }\n };\n\n $scope.changePageSize = function (size) {\n $('.ot-graph-page-size').removeClass('active');\n $scope.page = 1;\n $scope.searchNamespaces = '';\n if (size) {\n $scope.getNamespaces();\n $scope.pageSize = size;\n }\n };\n\n $scope.$watch('matchedElements', function () {\n if (angular.isDefined($scope.matchedElements)) {\n $scope.displayedNamespaces = $scope.matchedElements.slice($scope.pageSize * ($scope.page - 1), $scope.pageSize * $scope.page);\n }\n });\n\n $scope.$watch(function () {\n return $repositories.getActiveRepository();\n }, function () {\n $scope.searchNamespaces = '';\n $scope.getNamespaces();\n $scope.selectedAll = false;\n });\n\n $scope.onNamespaceSearch = function() {\n $scope.haveSelected = false;\n $scope.selectedAll = false;\n $scope.matchedElements = [];\n $scope.deselectAll();\n $scope.filterResults();\n };\n\n $scope.filterResults = function() {\n angular.forEach($scope.namespaces, function (item) {\n if (item.namespace.indexOf($scope.searchNamespaces) !== -1 || item.prefix.indexOf($scope.searchNamespaces) !== -1) {\n $scope.matchedElements.push(item);\n }\n });\n };\n\n $scope.saveNamespace = function (prefix, namespace) {\n $scope.loader = true;\n return RDF4JRepositoriesRestService.updateNamespacePrefix($repositories.getActiveRepository(), namespace, prefix)\n .success(function () {\n $scope.getNamespaces();\n $scope.loader = false;\n }).error(function (data) {\n const msg = getError(data);\n toastr.error(msg, $translate.instant('common.error'));\n $scope.loader = false;\n });\n };\n\n $scope.editPrefix = function (oldPrefix, newPrefix) {\n $scope.loader = true;\n RepositoriesRestService.getPrefix($repositories.getActiveRepository(), {\n from: oldPrefix, to: newPrefix, location: $repositories.getActiveRepositoryObject().location})\n .success(function () {\n $scope.getNamespaces();\n $scope.loader = false;\n }).error(function (data) {\n const msg = getError(data);\n toastr.error(msg, $translate.instant('common.error'));\n $scope.loader = false;\n });\n };\n\n $scope.confirmReplace = function (okCallback, cancelCallback) {\n ModalService.openSimpleModal({\n title: $translate.instant('namespace.confirm.replace'),\n message: $translate.instant('namespace.already.exists.msg'),\n warning: true\n }).result.then(okCallback, cancelCallback);\n };\n\n $scope.editPrefixAndNamespace = function (prefix, namespace, namespaceObject) {\n if (angular.isUndefined(prefix)) {\n prefix = '';\n }\n\n if (!validatePrefixAndNamespace(prefix, namespace)) {\n return '';\n }\n\n let prefixExist = false;\n const oldPrefix = namespaceObject.prefix;\n angular.forEach($scope.namespaces, function (elem) {\n if (elem.prefix === prefix && oldPrefix !== prefix) {\n prefixExist = true;\n }\n });\n if (prefixExist) {\n $scope.confirmReplace(function () {\n $scope.saveNamespace(oldPrefix, namespace).then(function () {\n if (oldPrefix !== prefix) {\n $scope.editPrefix(oldPrefix, prefix);\n }\n });\n }, function () {\n $scope.getNamespaces();\n });\n } else if (angular.isDefined(prefixExist)) {\n $scope.saveNamespace(oldPrefix, namespace).then(function () {\n if (oldPrefix !== prefix) {\n $scope.editPrefix(oldPrefix, prefix);\n }\n });\n }\n };\n\n $scope.addNamespace = function () {\n if (angular.isUndefined($scope.namespace.prefix)) {\n $scope.namespace.prefix = '';\n }\n\n if (!validatePrefixAndNamespace($scope.namespace.prefix, $scope.namespace.namespace)) {\n return;\n }\n\n $scope.selectedAll = false;\n let prefixExist = false;\n for (let i = 0; i < $scope.namespaces.length; i++) {\n if ($scope.namespaces[i].prefix === $scope.namespace.prefix) {\n prefixExist = true;\n }\n }\n if (prefixExist) {\n $scope.confirmReplace(function () {\n $scope.saveNamespace($scope.namespace.prefix, $scope.namespace.namespace);\n $scope.namespace = {};\n });\n } else {\n $scope.saveNamespace($scope.namespace.prefix, $scope.namespace.namespace);\n $scope.namespace = {};\n }\n };\n\n $scope.removeNamespace = function (namespace) {\n ModalService.openSimpleModal({\n title: $translate.instant('common.confirm.delete'),\n message: $translate.instant('namespace.warning.delete.msg', {prefix: namespace.prefix}),\n warning: true\n }).result.then(function () {\n deleteNamespace(namespace);\n });\n };\n\n $scope.checkAll = function () {\n angular.forEach($scope.displayedNamespaces, function (item) {\n item.selected = $scope.selectedAll;\n });\n };\n\n $scope.deleteSelected = function () {\n const openModalInstance = function () {\n ModalService.openSimpleModal({\n title: $translate.instant('common.confirm.delete'),\n message: $translate.instant('namespace.warning.delete.selected'),\n warning: true\n }).result.then(function () {\n $scope.loader = true;\n const namespaces = [];\n angular.forEach($scope.displayedNamespaces, function (namespace) {\n if (namespace.selected) {\n namespaces.push(namespace);\n }\n });\n deleteNamespace(namespaces.shift(), namespaces);\n $scope.selectedAll = false;\n }, function () {\n $scope.getNamespaces();\n $scope.selectedAll = false;\n $scope.searchNamespaces = '';\n });\n };\n\n let modalInstanceOpened = false;\n angular.forEach($scope.displayedNamespaces, function (namespace) {\n if (!modalInstanceOpened) {\n if (namespace.selected) {\n modalInstanceOpened = true;\n openModalInstance();\n }\n }\n });\n };\n\n function deleteNamespace(namespace, namespaces) {\n let prefix;\n if (typeof namespace === 'object') {\n prefix = namespace.prefix;\n } else {\n prefix = namespace;\n }\n RDF4JRepositoriesRestService.deleteNamespacePrefix($repositories.getActiveRepository(), prefix)\n .success(function () {\n if (namespaces && namespaces.length > 0) {\n namespace = namespaces.shift();\n deleteNamespace(namespace, namespaces);\n } else {\n $scope.selectedAll = false;\n $scope.namespace = {};\n $scope.getNamespaces();\n $scope.searchNamespaces = '';\n $scope.haveSelected = false;\n $scope.loader = false;\n $scope.displayedNamespaces = [];\n if (namespaces === undefined) {\n toastr.success($translate.instant('namespace.prefix.deleted.successfully', {prefix: prefix}), '');\n } else {\n toastr.success($translate.instant('namespace.selected.namespaces.deleted.successfully'), '');\n }\n }\n }).error(function (data) {\n const msg = getError(data);\n toastr.error(msg, $translate.instant('common.error'));\n $scope.loader = false;\n });\n }\n\n $scope.checkIfSelectedNamespace = function () {\n $scope.haveSelected = false;\n angular.forEach($scope.namespaces, function (item) {\n if (item.selected) {\n $scope.haveSelected = true;\n }\n });\n };\n\n $scope.deselectAll = function () {\n angular.forEach($scope.namespaces, function (item) {\n item.selected = false;\n });\n };\n\n function validatePrefixAndNamespace(prefix, namespace) {\n if (!validatePrefix(prefix)) {\n toastr.error($translate.instant('namespace.invalid.prefix', {prefix: prefix}, $translate.instant('common.error')));\n return false;\n }\n\n if (angular.isUndefined(namespace) || namespace === '') {\n toastr.error($translate.instant('namespace.warning.provide.namespace'), $translate.instant('common.error'));\n return false;\n }\n\n return true;\n }\n }]);\n\nnamespaces.controller('StandartModalCtrl', ['$scope', '$uibModalInstance', function ($scope, $uibModalInstance) {\n\n $scope.ok = function () {\n const result = true;\n $uibModalInstance.close(result);\n };\n\n $scope.cancel = function () {\n $uibModalInstance.dismiss('cancel');\n };\n}]);\n"],"sourceRoot":""}
1
+ {"version":3,"sources":["webpack:///./src/js/angular/namespaces/controllers.js"],"names":["namespaces","angular","module","pnPrefixRe","pnCharsBase","pnChars","pnCharsU","RegExp","controller","$scope","$http","$repositories","toastr","$uibModal","ModalService","RepositoriesRestService","RDF4JRepositoriesRestService","$translate","deleteNamespace","namespace","prefix","deleteNamespacePrefix","getActiveRepository","success","length","shift","selectedAll","getNamespaces","searchNamespaces","haveSelected","loader","displayedNamespaces","undefined","instant","error","data","msg","getError","validatePrefixAndNamespace","match","validatePrefix","isUndefined","pageSizeOptions","page","pageSize","results","bindings","map","e","value","sort","a","b","prefixA","toUpperCase","prefixB","matchedElements","changePagination","isDefined","slice","changePageSize","size","$","removeClass","$watch","onNamespaceSearch","deselectAll","filterResults","forEach","item","indexOf","push","saveNamespace","updateNamespacePrefix","editPrefix","oldPrefix","newPrefix","getPrefix","from","to","location","getActiveRepositoryObject","confirmReplace","okCallback","cancelCallback","openSimpleModal","title","message","warning","result","then","editPrefixAndNamespace","namespaceObject","prefixExist","elem","addNamespace","i","removeNamespace","checkAll","selected","deleteSelected","modalInstanceOpened","checkIfSelectedNamespace","$uibModalInstance","ok","close","cancel","dismiss"],"mappings":"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","file":"97.951e03ffd2d5a10f868d.bundle.js","sourcesContent":["import 'angular/core/services';\nimport 'angular/core/services/jwt-auth.service';\nimport 'angular/core/services/repositories.service';\nimport 'angular/rest/rdf4j.repositories.rest.service';\n\nconst modules = [\n 'ui.bootstrap',\n 'graphdb.framework.core.services.repositories',\n 'graphdb.framework.core.services.jwtauth',\n 'graphdb.framework.rest.repositories.service',\n 'graphdb.framework.rest.rdf4j.repositories.service',\n 'toastr'\n];\n\nconst namespaces = angular.module('graphdb.framework.namespaces.controllers', modules);\n\n// A regular expression that validates a prefix according to the SPARQL 1.1 specification.\n// XXX: Technically this should include Unicode chars > 0xFFFF but those aren't fully supported in JavaScript\nconst pnPrefixRe = function () {\n const pnCharsBase = '[A-Z]|[a-z]|[\\u00C0-\\u00D6]|[\\u00D8-\\u00F6]|[\\u00F8-\\u02FF]|[\\u0370-\\u037D]'\n + '|[\\u037F-\\u1FFF]|[\\u200C-\\u200D]|[\\u2070-\\u218F]|[\\u2C00-\\u2FEF]|[\\u3001-\\uD7FF]'\n + '|[\\uF900-\\uFDCF]|[\\uFDF0-\\uFFFD]';\n const pnCharsU = pnCharsBase + '|_';\n const pnChars = pnCharsU + '|-|[0-9]|\\u00B7|[\\u0300-\\u036F]|[\\u203F-\\u2040]';\n\n return new RegExp('^(?:' + pnCharsBase + ')(?:(?:' + pnChars + '|\\\\.)*(?:' + pnChars + '))?$');\n}();\n\nfunction validatePrefix(prefix) {\n return prefix === '' || prefix.match(pnPrefixRe);\n}\n\nnamespaces.controller('NamespacesCtrl', ['$scope', '$http', '$repositories', 'toastr', '$uibModal', 'ModalService', 'RepositoriesRestService', 'RDF4JRepositoriesRestService', '$translate',\n function ($scope, $http, $repositories, toastr, $uibModal, ModalService, RepositoriesRestService, RDF4JRepositoriesRestService, $translate) {\n $scope.namespaces = {};\n $scope.namespace = {};\n $scope.loader = false;\n $scope.haveSelected = false;\n $scope.pageSizeOptions = [10, 20, 50, 100];\n $scope.page = 1;\n $scope.pageSize = $scope.pageSizeOptions[0];\n $scope.displayedNamespaces = [];\n\n $scope.getNamespaces = function () {\n if (!$repositories.getActiveRepository()) {\n return;\n }\n\n $scope.loader = true;\n $scope.namespaces = {};\n RDF4JRepositoriesRestService.getNamespaces($repositories.getActiveRepository())\n .success(function (data) {\n $scope.namespaces = data.results.bindings.map(function (e) {\n return {\n prefix: e.prefix.value,\n namespace: e.namespace.value\n };\n });\n if ($scope.namespaces.length > 0) {\n $scope.namespaces.sort(function (a, b) {\n const prefixA = a.prefix.toUpperCase(); // ignore upper and lowercase\n const prefixB = b.prefix.toUpperCase(); // ignore upper and lowercase\n if (prefixA < prefixB) {\n return -1;\n }\n if (prefixA > prefixB) {\n return 1;\n }\n return 0;\n });\n $scope.matchedElements = $scope.namespaces;\n $scope.changePagination();\n }\n if ($scope.namespaces.length === 0) {\n // Remove the loader ourselves\n $scope.loader = false;\n } // else let the loaderPostRepeatDirective do it\n }).error(function (data) {\n const msg = getError(data);\n toastr.error(msg);\n $scope.loader = false;\n });\n };\n\n $scope.changePagination = function () {\n if (angular.isDefined($scope.namespaces)) {\n $scope.displayedNamespaces = $scope.namespaces.slice($scope.pageSize * ($scope.page - 1), $scope.pageSize * $scope.page);\n }\n };\n\n $scope.changePageSize = function (size) {\n $('.ot-graph-page-size').removeClass('active');\n $scope.page = 1;\n $scope.searchNamespaces = '';\n if (size) {\n $scope.getNamespaces();\n $scope.pageSize = size;\n }\n };\n\n $scope.$watch('matchedElements', function () {\n if (angular.isDefined($scope.matchedElements)) {\n $scope.displayedNamespaces = $scope.matchedElements.slice($scope.pageSize * ($scope.page - 1), $scope.pageSize * $scope.page);\n }\n });\n\n $scope.$watch(function () {\n return $repositories.getActiveRepository();\n }, function () {\n $scope.searchNamespaces = '';\n $scope.getNamespaces();\n $scope.selectedAll = false;\n });\n\n $scope.onNamespaceSearch = function() {\n $scope.haveSelected = false;\n $scope.selectedAll = false;\n $scope.matchedElements = [];\n $scope.deselectAll();\n $scope.filterResults();\n };\n\n $scope.filterResults = function() {\n angular.forEach($scope.namespaces, function (item) {\n if (item.namespace.indexOf($scope.searchNamespaces) !== -1 || item.prefix.indexOf($scope.searchNamespaces) !== -1) {\n $scope.matchedElements.push(item);\n }\n });\n };\n\n $scope.saveNamespace = function (prefix, namespace) {\n $scope.loader = true;\n return RDF4JRepositoriesRestService.updateNamespacePrefix($repositories.getActiveRepository(), namespace, prefix)\n .success(function () {\n $scope.getNamespaces();\n $scope.loader = false;\n }).error(function (data) {\n const msg = getError(data);\n toastr.error(msg, $translate.instant('common.error'));\n $scope.loader = false;\n });\n };\n\n $scope.editPrefix = function (oldPrefix, newPrefix) {\n $scope.loader = true;\n RepositoriesRestService.getPrefix($repositories.getActiveRepository(), {\n from: oldPrefix, to: newPrefix, location: $repositories.getActiveRepositoryObject().location})\n .success(function () {\n $scope.getNamespaces();\n $scope.loader = false;\n }).error(function (data) {\n const msg = getError(data);\n toastr.error(msg, $translate.instant('common.error'));\n $scope.loader = false;\n });\n };\n\n $scope.confirmReplace = function (okCallback, cancelCallback) {\n ModalService.openSimpleModal({\n title: $translate.instant('namespace.confirm.replace'),\n message: $translate.instant('namespace.already.exists.msg'),\n warning: true\n }).result.then(okCallback, cancelCallback);\n };\n\n $scope.editPrefixAndNamespace = function (prefix, namespace, namespaceObject) {\n if (angular.isUndefined(prefix)) {\n prefix = '';\n }\n\n if (!validatePrefixAndNamespace(prefix, namespace)) {\n return '';\n }\n\n let prefixExist = false;\n const oldPrefix = namespaceObject.prefix;\n angular.forEach($scope.namespaces, function (elem) {\n if (elem.prefix === prefix && oldPrefix !== prefix) {\n prefixExist = true;\n }\n });\n if (prefixExist) {\n $scope.confirmReplace(function () {\n $scope.saveNamespace(oldPrefix, namespace).then(function () {\n if (oldPrefix !== prefix) {\n $scope.editPrefix(oldPrefix, prefix);\n }\n });\n }, function () {\n $scope.getNamespaces();\n });\n } else if (angular.isDefined(prefixExist)) {\n $scope.saveNamespace(oldPrefix, namespace).then(function () {\n if (oldPrefix !== prefix) {\n $scope.editPrefix(oldPrefix, prefix);\n }\n });\n }\n };\n\n $scope.addNamespace = function () {\n if (angular.isUndefined($scope.namespace.prefix)) {\n $scope.namespace.prefix = '';\n }\n\n if (!validatePrefixAndNamespace($scope.namespace.prefix, $scope.namespace.namespace)) {\n return;\n }\n\n $scope.selectedAll = false;\n let prefixExist = false;\n for (let i = 0; i < $scope.namespaces.length; i++) {\n if ($scope.namespaces[i].prefix === $scope.namespace.prefix) {\n prefixExist = true;\n }\n }\n if (prefixExist) {\n $scope.confirmReplace(function () {\n $scope.saveNamespace($scope.namespace.prefix, $scope.namespace.namespace);\n $scope.namespace = {};\n });\n } else {\n $scope.saveNamespace($scope.namespace.prefix, $scope.namespace.namespace);\n $scope.namespace = {};\n }\n };\n\n $scope.removeNamespace = function (namespace) {\n ModalService.openSimpleModal({\n title: $translate.instant('common.confirm.delete'),\n message: $translate.instant('namespace.warning.delete.msg', {prefix: namespace.prefix}),\n warning: true\n }).result.then(function () {\n deleteNamespace(namespace);\n });\n };\n\n $scope.checkAll = function () {\n angular.forEach($scope.displayedNamespaces, function (item) {\n item.selected = $scope.selectedAll;\n });\n };\n\n $scope.deleteSelected = function () {\n const openModalInstance = function () {\n ModalService.openSimpleModal({\n title: $translate.instant('common.confirm.delete'),\n message: $translate.instant('namespace.warning.delete.selected'),\n warning: true\n }).result.then(function () {\n $scope.loader = true;\n const namespaces = [];\n angular.forEach($scope.displayedNamespaces, function (namespace) {\n if (namespace.selected) {\n namespaces.push(namespace);\n }\n });\n deleteNamespace(namespaces.shift(), namespaces);\n $scope.selectedAll = false;\n }, function () {\n $scope.getNamespaces();\n $scope.selectedAll = false;\n $scope.searchNamespaces = '';\n });\n };\n\n let modalInstanceOpened = false;\n angular.forEach($scope.displayedNamespaces, function (namespace) {\n if (!modalInstanceOpened) {\n if (namespace.selected) {\n modalInstanceOpened = true;\n openModalInstance();\n }\n }\n });\n };\n\n function deleteNamespace(namespace, namespaces) {\n let prefix;\n if (typeof namespace === 'object') {\n prefix = namespace.prefix;\n } else {\n prefix = namespace;\n }\n RDF4JRepositoriesRestService.deleteNamespacePrefix($repositories.getActiveRepository(), prefix)\n .success(function () {\n if (namespaces && namespaces.length > 0) {\n namespace = namespaces.shift();\n deleteNamespace(namespace, namespaces);\n } else {\n $scope.selectedAll = false;\n $scope.namespace = {};\n $scope.getNamespaces();\n $scope.searchNamespaces = '';\n $scope.haveSelected = false;\n $scope.loader = false;\n $scope.displayedNamespaces = [];\n if (namespaces === undefined) {\n toastr.success($translate.instant('namespace.prefix.deleted.successfully', {prefix: prefix}), '');\n } else {\n toastr.success($translate.instant('namespace.selected.namespaces.deleted.successfully'), '');\n }\n }\n }).error(function (data) {\n const msg = getError(data);\n toastr.error(msg, $translate.instant('common.error'));\n $scope.loader = false;\n });\n }\n\n $scope.checkIfSelectedNamespace = function () {\n $scope.haveSelected = false;\n angular.forEach($scope.namespaces, function (item) {\n if (item.selected) {\n $scope.haveSelected = true;\n }\n });\n };\n\n $scope.deselectAll = function () {\n angular.forEach($scope.namespaces, function (item) {\n item.selected = false;\n });\n };\n\n function validatePrefixAndNamespace(prefix, namespace) {\n if (!validatePrefix(prefix)) {\n toastr.error($translate.instant('namespace.invalid.prefix', {prefix: prefix}, $translate.instant('common.error')));\n return false;\n }\n\n if (angular.isUndefined(namespace) || namespace === '') {\n toastr.error($translate.instant('namespace.warning.provide.namespace'), $translate.instant('common.error'));\n return false;\n }\n\n return true;\n }\n }]);\n\nnamespaces.controller('StandartModalCtrl', ['$scope', '$uibModalInstance', function ($scope, $uibModalInstance) {\n\n $scope.ok = function () {\n const result = true;\n $uibModalInstance.close(result);\n };\n\n $scope.cancel = function () {\n $uibModalInstance.dismiss('cancel');\n };\n}]);\n"],"sourceRoot":""}
@@ -1,2 +1,2 @@
1
- (window.webpackJsonp=window.webpackJsonp||[]).push([[98],{95:function(e,n){angular.module("graphdb.framework.namespaces.directives",["ngRoute"]).directive("loaderPostRepeatDirective",["$timeout",function(e){return function(n){n.$last&&e((function(){n.$parent.loader=!1}),0)}}])}}]);
2
- //# sourceMappingURL=98.cc7086155b76601af017.bundle.js.map
1
+ (window.webpackJsonp=window.webpackJsonp||[]).push([[98],{96:function(e,n){angular.module("graphdb.framework.namespaces.directives",["ngRoute"]).directive("loaderPostRepeatDirective",["$timeout",function(e){return function(n){n.$last&&e((function(){n.$parent.loader=!1}),0)}}])}}]);
2
+ //# sourceMappingURL=98.745b4c457214d4189d7a.bundle.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["webpack:///./src/js/angular/namespaces/directives.js"],"names":["angular","module","directive","$timeout","scope","$last","$parent","loader"],"mappings":"2EAA6BA,QAAQC,OAAO,0CAA2C,CAAC,YAGnEC,UAAU,4BAA6B,CAAC,WAAY,SAAUC,GAC/E,OAAO,SAAUC,GACTA,EAAMC,OAKNF,GAAS,WACLC,EAAME,QAAQC,QAAS,IACxB","file":"98.cc7086155b76601af017.bundle.js","sourcesContent":["const namespacesDirectives = angular.module('graphdb.framework.namespaces.directives', ['ngRoute']);\n\n// This directive will set the loader to false once the respective ngRepeat is done loading\nnamespacesDirectives.directive('loaderPostRepeatDirective', ['$timeout', function ($timeout) {\n return function (scope) {\n if (scope.$last) {\n // It's important to do this with timeout:\n // \"...since the setTimeout function gets pushed to the end of the queue of the browser,\n // its always right after everything is done in angular, usually ngRepeat which continues\n // after its parents postLinking function\"\n $timeout(function () {\n scope.$parent.loader = false;\n }, 0);\n }\n };\n}]);\n"],"sourceRoot":""}
1
+ {"version":3,"sources":["webpack:///./src/js/angular/namespaces/directives.js"],"names":["angular","module","directive","$timeout","scope","$last","$parent","loader"],"mappings":"2EAA6BA,QAAQC,OAAO,0CAA2C,CAAC,YAGnEC,UAAU,4BAA6B,CAAC,WAAY,SAAUC,GAC/E,OAAO,SAAUC,GACTA,EAAMC,OAKNF,GAAS,WACLC,EAAME,QAAQC,QAAS,IACxB","file":"98.745b4c457214d4189d7a.bundle.js","sourcesContent":["const namespacesDirectives = angular.module('graphdb.framework.namespaces.directives', ['ngRoute']);\n\n// This directive will set the loader to false once the respective ngRepeat is done loading\nnamespacesDirectives.directive('loaderPostRepeatDirective', ['$timeout', function ($timeout) {\n return function (scope) {\n if (scope.$last) {\n // It's important to do this with timeout:\n // \"...since the setTimeout function gets pushed to the end of the queue of the browser,\n // its always right after everything is done in angular, usually ngRepeat which continues\n // after its parents postLinking function\"\n $timeout(function () {\n scope.$parent.loader = false;\n }, 0);\n }\n };\n}]);\n"],"sourceRoot":""}