graphdb-workbench 3.2.0-TR2 → 3.2.0-cypress-config

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 (210) hide show
  1. package/dist/12396.bcdc888b199dd039747f.bundle.js +2 -0
  2. package/dist/12396.bcdc888b199dd039747f.bundle.js.map +1 -0
  3. package/dist/15535.17701ea195962c5d2fba.bundle.js +2 -0
  4. package/dist/15535.17701ea195962c5d2fba.bundle.js.map +1 -0
  5. package/dist/16162.01738ef78ed04320fa38.bundle.js +2 -0
  6. package/dist/16162.01738ef78ed04320fa38.bundle.js.map +1 -0
  7. package/dist/20287.f3abdf0f06edf0c82f8e.bundle.js +2 -0
  8. package/dist/20287.f3abdf0f06edf0c82f8e.bundle.js.map +1 -0
  9. package/dist/21136.a1287df4a34cfeaac8ff.bundle.js +2 -0
  10. package/dist/21136.a1287df4a34cfeaac8ff.bundle.js.map +1 -0
  11. package/dist/21142.1f577c8d547d32860906.bundle.js +2 -0
  12. package/dist/21142.1f577c8d547d32860906.bundle.js.map +1 -0
  13. package/dist/21170.9801db7bd74eb61c7f3f.bundle.js +2 -0
  14. package/dist/21170.9801db7bd74eb61c7f3f.bundle.js.map +1 -0
  15. package/dist/21195.28f163f2893dbd697334.bundle.js +2 -0
  16. package/dist/21195.28f163f2893dbd697334.bundle.js.map +1 -0
  17. package/dist/25747.66474ed6ef59a39e7a12.bundle.js +2 -0
  18. package/dist/25747.66474ed6ef59a39e7a12.bundle.js.map +1 -0
  19. package/dist/27580.96dd68d0484687b8425c.bundle.js +2 -0
  20. package/dist/27580.96dd68d0484687b8425c.bundle.js.map +1 -0
  21. package/dist/31636.969ddabe580c28777d20.bundle.js +2 -0
  22. package/dist/31636.969ddabe580c28777d20.bundle.js.map +1 -0
  23. package/dist/32489.c00a6026a8e341d13a63.bundle.js +2 -0
  24. package/dist/32489.c00a6026a8e341d13a63.bundle.js.map +1 -0
  25. package/dist/34495.b1caa9ff52396adec899.bundle.js +2 -0
  26. package/dist/34495.b1caa9ff52396adec899.bundle.js.map +1 -0
  27. package/dist/38360.30a38710a483db56ec47.bundle.js +2 -0
  28. package/dist/38360.30a38710a483db56ec47.bundle.js.map +1 -0
  29. package/dist/38644.ce67c3226374ed2fe8ee.bundle.js +2 -0
  30. package/dist/38644.ce67c3226374ed2fe8ee.bundle.js.map +1 -0
  31. package/dist/38843.13763d8362f774b601cf.bundle.js +2 -0
  32. package/dist/38843.13763d8362f774b601cf.bundle.js.map +1 -0
  33. package/dist/39518.36f3863a01e9cd2d93fd.bundle.js +2 -0
  34. package/dist/{39518.0ca97879b92271d7c5e2.bundle.js.map → 39518.36f3863a01e9cd2d93fd.bundle.js.map} +1 -1
  35. package/dist/39539.f5526b59067e9d7bd7bf.bundle.js +2 -0
  36. package/dist/39539.f5526b59067e9d7bd7bf.bundle.js.map +1 -0
  37. package/dist/41453.ea5e51814e73b6ab91cf.bundle.js +2 -0
  38. package/dist/41453.ea5e51814e73b6ab91cf.bundle.js.map +1 -0
  39. package/dist/42129.0c8e8c51e0f7d12bbfff.bundle.js +2 -0
  40. package/dist/42129.0c8e8c51e0f7d12bbfff.bundle.js.map +1 -0
  41. package/dist/44444.d31281d11bf389e4611a.bundle.js +2 -0
  42. package/dist/44444.d31281d11bf389e4611a.bundle.js.map +1 -0
  43. package/dist/55862.4dcac3805b87be57091a.bundle.js +2 -0
  44. package/dist/55862.4dcac3805b87be57091a.bundle.js.map +1 -0
  45. package/dist/58306.9ba4893fcd0036471123.bundle.js +2 -0
  46. package/dist/58306.9ba4893fcd0036471123.bundle.js.map +1 -0
  47. package/dist/67888.244385f782b0bd79cec6.bundle.js +2 -0
  48. package/dist/67888.244385f782b0bd79cec6.bundle.js.map +1 -0
  49. package/dist/72379.37d5331a19aa21492b89.bundle.js +2 -0
  50. package/dist/72379.37d5331a19aa21492b89.bundle.js.map +1 -0
  51. package/dist/73667.17d61d7fcf790947f7c6.bundle.js +2 -0
  52. package/dist/73667.17d61d7fcf790947f7c6.bundle.js.map +1 -0
  53. package/dist/73793.47292e9aa96be488faaa.bundle.js +2 -0
  54. package/dist/73793.47292e9aa96be488faaa.bundle.js.map +1 -0
  55. package/dist/75282.55f10c1c73bb36f201be.bundle.js +2 -0
  56. package/dist/75282.55f10c1c73bb36f201be.bundle.js.map +1 -0
  57. package/dist/75849.7e40d09cd95631117dc0.bundle.js +2 -0
  58. package/dist/75849.7e40d09cd95631117dc0.bundle.js.map +1 -0
  59. package/dist/78250.19b064e34121d373f0dc.bundle.js +2 -0
  60. package/dist/78250.19b064e34121d373f0dc.bundle.js.map +1 -0
  61. package/dist/79329.d8780313009804cacb6c.bundle.js +2 -0
  62. package/dist/79329.d8780313009804cacb6c.bundle.js.map +1 -0
  63. package/dist/{82926.93a59d42bf8d49aaac8e.bundle.js → 82926.dabee9e2f4418f5ad605.bundle.js} +2 -2
  64. package/dist/{82926.93a59d42bf8d49aaac8e.bundle.js.map → 82926.dabee9e2f4418f5ad605.bundle.js.map} +1 -1
  65. package/dist/9062.1e7bcccd40724f467269.bundle.js +2 -0
  66. package/dist/9062.1e7bcccd40724f467269.bundle.js.map +1 -0
  67. package/dist/99448.81c627c633d9b9526b45.bundle.js +2 -0
  68. package/dist/99448.81c627c633d9b9526b45.bundle.js.map +1 -0
  69. package/dist/api/ontotext-workbench-api.js +1 -1
  70. package/dist/api/ontotext-workbench-api.js.map +1 -1
  71. package/dist/api/services/utils/routing-utils.d.ts +1 -1
  72. package/dist/index.html +8 -10
  73. package/dist/js/angular/clustermanagement/templates/cluster-nodes-configuration.html +1 -1
  74. package/dist/js/angular/core/directives/autocomplete/templates/autocomplete.html +1 -1
  75. package/dist/js/angular/core/directives/dynamic-form/templates/dynamic-form.html +1 -1
  76. package/dist/js/angular/core/directives/operations-statuses-monitor/templates/operations-statuses-monitor.html +1 -1
  77. package/dist/js/angular/core/directives/rdfresourcesearch/templates/rdfResourceSearchTemplate.html +1 -1
  78. package/dist/js/angular/core/directives/shuttle-multiselect/templates/shuttle-multiselect.html +1 -1
  79. package/dist/js/angular/core/directives/yasgui-component/templates/yasgui-component.html +1 -1
  80. package/dist/js/angular/core/templates/cookie-policy/cookie-consent.html +1 -1
  81. package/dist/js/angular/core/templates/cookie-policy/cookie-policy.html +1 -1
  82. package/dist/js/angular/core/templates/editable-content/editable-content.html +1 -1
  83. package/dist/js/angular/core/templates/markdown-content/markdown-content.html +1 -1
  84. package/dist/js/angular/core/templates/search-resource-input.html +1 -1
  85. package/dist/js/angular/graphql/templates/create-graphql-endpoint.html +2 -2
  86. package/dist/js/angular/graphql/templates/graphql-endpoint-management.html +1 -1
  87. package/dist/js/angular/graphql/templates/graphql-playground.html +1 -1
  88. package/dist/js/angular/graphql/templates/modal/endpoint-configuration-modal.html +1 -1
  89. package/dist/js/angular/graphql/templates/modal/endpoint-generation-failure-result-modal.html +1 -1
  90. package/dist/js/angular/graphql/templates/modal/import-endpoint-definition-modal.html +1 -1
  91. package/dist/js/angular/security/templates/user.html +2 -2
  92. package/dist/js/angular/ttyg/templates/agent-list.html +1 -1
  93. package/dist/js/angular/ttyg/templates/agent-select-menu.html +1 -1
  94. package/dist/js/angular/ttyg/templates/chat-item-detail.html +1 -1
  95. package/dist/js/angular/ttyg/templates/chat-list.html +1 -1
  96. package/dist/js/angular/ttyg/templates/chat-panel.html +1 -1
  97. package/dist/js/angular/ttyg/templates/modal/agent-instructions-explain-modal.html +1 -1
  98. package/dist/js/angular/ttyg/templates/modal/agent-settings-modal.html +2 -2
  99. package/dist/js/angular/ttyg/templates/modal/external-integration-configuration-modal.html +1 -1
  100. package/dist/js/angular/ttyg/templates/no-agents-view.html +1 -1
  101. package/dist/js/angular/ttyg/templates/ttyg.html +1 -1
  102. package/dist/legacyWorkbench.c3f39a4fe72b2fdbc029.js +3 -0
  103. package/dist/{legacyWorkbench.2bd696723af2573e8bb7.js.map → legacyWorkbench.c3f39a4fe72b2fdbc029.js.map} +1 -1
  104. package/dist/{main.be51ba05166a17f051a0.js → main.948b97a64249c87809bf.js} +3 -3
  105. package/dist/main.948b97a64249c87809bf.js.map +1 -0
  106. package/dist/pages/aclmanagement.html +2 -2
  107. package/dist/pages/autocomplete.html +1 -1
  108. package/dist/pages/choose-repository-type.html +1 -1
  109. package/dist/pages/cluster-management/clusterInfo.html +3 -3
  110. package/dist/pages/create-index.html +1 -1
  111. package/dist/pages/dependencies.html +1 -1
  112. package/dist/pages/domainRangeInfo.html +2 -2
  113. package/dist/pages/edit.html +1 -1
  114. package/dist/pages/explore.html +1 -1
  115. package/dist/pages/export.html +1 -1
  116. package/dist/pages/find.html +1 -1
  117. package/dist/pages/graph-config/saveGraphConfig.html +8 -8
  118. package/dist/pages/graphs-visualizations.html +7 -7
  119. package/dist/pages/guides.html +1 -1
  120. package/dist/pages/import.html +2 -2
  121. package/dist/pages/jdbc-create.html +1 -1
  122. package/dist/pages/login.html +1 -1
  123. package/dist/pages/monitor/backup-and-restore.html +1 -1
  124. package/dist/pages/monitor/queries.html +1 -1
  125. package/dist/pages/monitor/resources.html +1 -1
  126. package/dist/pages/namespaces.html +2 -2
  127. package/dist/pages/plugins.html +1 -1
  128. package/dist/pages/rdfClassHierarchyInfo.html +7 -7
  129. package/dist/pages/rdfrank.html +2 -2
  130. package/dist/pages/repositories.html +1 -1
  131. package/dist/pages/repository.html +1 -1
  132. package/dist/pages/similarity-indexes.html +1 -1
  133. package/dist/pages/sparql-editor.html +1 -1
  134. package/dist/pages/sparql-template-create.html +1 -1
  135. package/dist/pages/ux-test1.html +2 -2
  136. package/dist/pages/webapi.html +2 -2
  137. package/dist/res/swagger5/index.html +11 -11
  138. package/dist/workbench/workbench/workbenchApp.js +1 -1
  139. package/package.json +1 -1
  140. package/dist/12396.9a7f2862146b6f9adcb1.bundle.js +0 -2
  141. package/dist/12396.9a7f2862146b6f9adcb1.bundle.js.map +0 -1
  142. package/dist/15535.7b170e17ee0a58970ab6.bundle.js +0 -2
  143. package/dist/15535.7b170e17ee0a58970ab6.bundle.js.map +0 -1
  144. package/dist/16162.67e7c1f5f313481b1e80.bundle.js +0 -2
  145. package/dist/16162.67e7c1f5f313481b1e80.bundle.js.map +0 -1
  146. package/dist/20287.dd5bc263fe26adf34965.bundle.js +0 -2
  147. package/dist/20287.dd5bc263fe26adf34965.bundle.js.map +0 -1
  148. package/dist/21136.b7efcb40fb956ff1109c.bundle.js +0 -2
  149. package/dist/21136.b7efcb40fb956ff1109c.bundle.js.map +0 -1
  150. package/dist/21142.ec45fad4d52b36961d17.bundle.js +0 -2
  151. package/dist/21142.ec45fad4d52b36961d17.bundle.js.map +0 -1
  152. package/dist/21170.7832554eab9eaade6ffb.bundle.js +0 -2
  153. package/dist/21170.7832554eab9eaade6ffb.bundle.js.map +0 -1
  154. package/dist/21195.caae6cc33d755ad52df4.bundle.js +0 -2
  155. package/dist/21195.caae6cc33d755ad52df4.bundle.js.map +0 -1
  156. package/dist/25747.c01110e23b922cdd3d9e.bundle.js +0 -2
  157. package/dist/25747.c01110e23b922cdd3d9e.bundle.js.map +0 -1
  158. package/dist/27580.5a421770ab66d2dedc37.bundle.js +0 -2
  159. package/dist/27580.5a421770ab66d2dedc37.bundle.js.map +0 -1
  160. package/dist/31636.54e2817f8ae3998a34b3.bundle.js +0 -2
  161. package/dist/31636.54e2817f8ae3998a34b3.bundle.js.map +0 -1
  162. package/dist/32489.f7a2dc39cd61c2cd8874.bundle.js +0 -2
  163. package/dist/32489.f7a2dc39cd61c2cd8874.bundle.js.map +0 -1
  164. package/dist/34495.be67c06c39909114bbe4.bundle.js +0 -2
  165. package/dist/34495.be67c06c39909114bbe4.bundle.js.map +0 -1
  166. package/dist/38360.efec913bb97c3b8588a4.bundle.js +0 -2
  167. package/dist/38360.efec913bb97c3b8588a4.bundle.js.map +0 -1
  168. package/dist/38644.800252af49cd67310834.bundle.js +0 -2
  169. package/dist/38644.800252af49cd67310834.bundle.js.map +0 -1
  170. package/dist/38843.29e34a5e5293cee51566.bundle.js +0 -2
  171. package/dist/38843.29e34a5e5293cee51566.bundle.js.map +0 -1
  172. package/dist/39518.0ca97879b92271d7c5e2.bundle.js +0 -2
  173. package/dist/39539.7cea6717cc3a5ba91617.bundle.js +0 -2
  174. package/dist/39539.7cea6717cc3a5ba91617.bundle.js.map +0 -1
  175. package/dist/41453.4ae219d972a187c36bfc.bundle.js +0 -2
  176. package/dist/41453.4ae219d972a187c36bfc.bundle.js.map +0 -1
  177. package/dist/42129.0314e45b4b818b01b71f.bundle.js +0 -2
  178. package/dist/42129.0314e45b4b818b01b71f.bundle.js.map +0 -1
  179. package/dist/44444.02026ff20e2a843dc05b.bundle.js +0 -2
  180. package/dist/44444.02026ff20e2a843dc05b.bundle.js.map +0 -1
  181. package/dist/55862.5e8602827fbf72e60cc2.bundle.js +0 -2
  182. package/dist/55862.5e8602827fbf72e60cc2.bundle.js.map +0 -1
  183. package/dist/58306.94b9336f68d11bdd72f0.bundle.js +0 -2
  184. package/dist/58306.94b9336f68d11bdd72f0.bundle.js.map +0 -1
  185. package/dist/67888.772326168aed83cbad9c.bundle.js +0 -2
  186. package/dist/67888.772326168aed83cbad9c.bundle.js.map +0 -1
  187. package/dist/72379.8a3290df05f18f8c65bd.bundle.js +0 -2
  188. package/dist/72379.8a3290df05f18f8c65bd.bundle.js.map +0 -1
  189. package/dist/73667.52fdbdadddafe9e9559b.bundle.js +0 -2
  190. package/dist/73667.52fdbdadddafe9e9559b.bundle.js.map +0 -1
  191. package/dist/73793.7e812bab1754ddd5efb5.bundle.js +0 -2
  192. package/dist/73793.7e812bab1754ddd5efb5.bundle.js.map +0 -1
  193. package/dist/75282.2f97d3a7d7f3fdd7aebf.bundle.js +0 -2
  194. package/dist/75282.2f97d3a7d7f3fdd7aebf.bundle.js.map +0 -1
  195. package/dist/75849.bd0bdefa903741034a71.bundle.js +0 -2
  196. package/dist/75849.bd0bdefa903741034a71.bundle.js.map +0 -1
  197. package/dist/78250.73e3013c5b2ebdddbf38.bundle.js +0 -2
  198. package/dist/78250.73e3013c5b2ebdddbf38.bundle.js.map +0 -1
  199. package/dist/79329.3d912887ba7e96090fb4.bundle.js +0 -2
  200. package/dist/79329.3d912887ba7e96090fb4.bundle.js.map +0 -1
  201. package/dist/9062.3541de664710a36fdac7.bundle.js +0 -2
  202. package/dist/9062.3541de664710a36fdac7.bundle.js.map +0 -1
  203. package/dist/99448.384b74c734331e5f8909.bundle.js +0 -2
  204. package/dist/99448.384b74c734331e5f8909.bundle.js.map +0 -1
  205. package/dist/legacyWorkbench.2bd696723af2573e8bb7.js +0 -3
  206. package/dist/main.be51ba05166a17f051a0.js.map +0 -1
  207. package/dist/styleguide.9451f25d197464f4079c.js +0 -2
  208. package/dist/styleguide.9451f25d197464f4079c.js.map +0 -1
  209. /package/dist/{legacyWorkbench.2bd696723af2573e8bb7.js.LICENSE.txt → legacyWorkbench.c3f39a4fe72b2fdbc029.js.LICENSE.txt} +0 -0
  210. /package/dist/{main.be51ba05166a17f051a0.js.LICENSE.txt → main.948b97a64249c87809bf.js.LICENSE.txt} +0 -0
@@ -0,0 +1,2 @@
1
+ export const __webpack_id__=38644;export const __webpack_ids__=[38644];export const __webpack_modules__={38644:(t,e,r)=>{r.r(e);var a=r(88141),n=r(19935),o=(r(32150),r(93462));function s(t,e,r,s,c,i,l,d,p,u,f,g,h){return{restrict:"AE",template:'<div id="domain-range"></div>',scope:{showPredicatesInfoPanel:"=",selectedPredicate:"=",collapseEdges:"="},link:function(u){const f=d(function(){!function(u){var f=1200,y=f/18,x=f/110,m=x/2,v=f/90,k=1.2,b=o.select("#domain-range").append("svg").attr("viewBox","0 0 1200 600").attr("preserveAspectRatio","xMidYMid meet").on("dblclick.zoom",null),w=o.forceSimulation(),E=o.drag().subject(function(t){return t}).on("start",function(t,e){w.stop(),e.fx=t.x,e.fy=t.y,o.select(this).classed("selected",!0)}).on("end",function(t,e){e.fx=null,e.fy=null,o.select(this).classed("selected",!1),C?(w.alpha(.2).restart(),C=!1):w.restart()}).on("drag",function(t,e){C=!0,w.alphaTarget(0).restart(),e.fx=t.x,e.fy=t.y}),N=b.append("defs");N.append("marker").attrs({id:"arrow",viewBox:"0 -5 10 10",refX:10,refY:0,markerUnits:"strokeWidth",markerWidth:5,markerHeight:5,orient:"auto",fill:g}).append("path").attrs({d:"M0,-5L10,0L0,5",class:"arrowHead"}),N.append("marker").attrs({id:"collapsed-arrow",viewBox:"0 -5 10 10",refX:9,refY:0,markerUnits:"strokeWidth",markerWidth:4,markerHeight:4,orient:"auto",fill:g}).append("path").attrs({d:"M0,-5L10,0L0,5",class:"arrowHead"}),N.append("marker").attrs({id:"arrow-loop",viewBox:"0 -5 10 10",refX:7,refY:0,markerUnits:"strokeWidth",markerWidth:5,markerHeight:5,orient:"auto",fill:g}).append("path").attrs({d:"M0,-5L10,0L0,5",class:"arrowHead"}),o.select("#download-svg").on("mouseover",function(){var t=a.A.Export.getCSSRules("css/domain-range-graph.css?v=3.2.0-cypress-config");$("defs").append('<style type="text/css"><![CDATA['+t+"]]></style>");var e=a.A.Export.generateBase64ImageSource("#domain-range svg");o.select(this).attrs({href:e,download:"domain-range-graph-"+r.getActiveRepository()+".svg"})}),function(){var t=f/7,e=205.7142857142857,r=o.select(".legend-container").append("svg").attr("viewBox","0 0 "+t+" "+e).attr("preserveAspectRatio","xMidYMid meet");r.append("rect").attrs({width:t,height:e}).style("fill","rgba(235, 235, 235, 0.9)");var a=16,n=42.66666666666667,s=n+f/90,i=v/1.1,l=(r.append("circle").attrs({class:"legend-class-node",cx:29.333333333333336,cy:30,r:y/4.5}),30+f/370);r.append("text").attrs({x:s,y:l}).style("font-size",i+"px").text("main class node"),r.append("circle").attrs({class:"legend-object-node",cx:29.333333333333336,cy:70,r:8.727272727272727});var d=l+40;r.append("text").attrs({x:s,y:d}).style("font-size",i+"px").text("class node");var p=70+f/45;r.append("circle").attrs({class:"legend-datatype-node",cx:29.333333333333336,cy:p,r:m});var u=d+f/45;r.append("text").attrs({x:s,y:u}).style("font-size",i+"px").text("datatype node");var g=123.33333333333334;r.append("line").attrs({class:"property-arrow",x1:a,y1:g,x2:n,y2:g}).style("stroke-width",k).attr("marker-end","url("+c.absUrl()+"#arrow)"),r.append("text").attrs({x:s,y:126.57657657657658}).style("font-size",i+"px").text("explicit property");var h=150;r.append("line").attrs({class:"implicit-property-arrow",x1:a,y1:h,x2:n,y2:h}).style("stroke-width",k).attr("marker-end","url("+c.absUrl()+"#arrow)"),r.append("text").attrs({x:s,y:153.24324324324326}).style("font-size",i+"px").text("implicit property");var x=176.66666666666666;r.append("line").attrs({class:"collapsed-property-arrow",x1:a,y1:x,x2:n,y2:x}).style("stroke-width",2).attr("marker-end","url("+c.absUrl()+"#collapsed-arrow)"),r.append("text").attrs({x:s,y:179.9099099099099}).style("font-size",i+"px").text("collapsed property")}();var A=c.search().uri,R=c.search().name;const L=c.search().collapsed;(function(t,e){s.getDomainRangeData(t,e).success(function(t,e,r){u.domainRangeGraphData=t}).error(function(t){p.error("Request for "+R+" failed!")})})(A,L),$(window).on("popstate",function(){i.set(l.DOMAIN_RANGE_WENT_BACK,!0)}),e.onpopstate=function(e){e.state&&t.$broadcast("changeCollapsedEdgesState",e.state.collapsed)},u.$watch("collapseEdges",function(){angular.isUndefined(u.collapseEdges)||(i.set(l.DOMAIN_RANGE_COLLAPSE_EDGES,u.collapseEdges),"true"!==i.get(l.DOMAIN_RANGE_WENT_BACK)&&function(e){t.$broadcast("switchEdgeMode",{uri:A,name:R,collapsed:e})}(u.collapseEdges),i.remove(l.DOMAIN_RANGE_WENT_BACK))}),u.$watch("domainRangeGraphData",function(){if(u.domainRangeGraphData){var r=_.cloneDeep(u.domainRangeGraphData);const S=r.nodes,I=r.links;w.nodes(S).force("x",o.forceX(600)).force("y",o.forceY(300)).force("charge",o.forceManyBody().strength(-800)).force("link",o.forceLink(I).distance(f/3.5));var a=b.selectAll(".link").data(I).enter().append("g");function B(t){t.style("stroke",g),t.style("stroke-width",2),t.attr("marker-end","url("+c.absUrl()+"#collapsed-arrow)")}var s,i,l=0;a.each(function(t){if(t.objectPropNodeClassUri!==A)s=a.append("line").attrs({class:"link","marker-end":"url("+c.absUrl()+"#arrow)"}).style("stroke-width",k).each(function(t){switch(t.propertyType){case"objectLeft":t.targetRadius=y;break;case"objectRight":t.targetRadius=x;break;case"datatype":t.targetRadius=m;break;default:t.targetRadius=0}var e=o.select(this);t.targetNodeEdgeCount>1?B(e):t.implicit&&e.style("stroke-dasharray","3, 3")});else{if(angular.isUndefined(i)){var e=y/2;i=o.select(this).append("path").attrs({d:"M 0 0 A "+e+" "+e+" 0 1 1 0 "+e,class:"loop-link",fill:"none","marker-end":"url("+c.absUrl()+"#arrow-loop)"}).style("stroke-width",k)}(l+=t.targetNodeEdgeCount)>1&&B(o.select(".loop-link"))}});var p={};function G(){$.isEmptyObject(p)||(p.text.style("fill","black"),p.background.style("fill","#f0f0f0"))}function W(t,e){G(),p.text=o.select(this),p.background=o.select(this.previousSibling),p.text.style("fill","white"),p.background.style("fill",g),d(function(){u.showPredicatesInfoPanel=!0,u.selectedPredicate=e}),t.stopPropagation()}$("document").ready(function(){$("#domain-range").bind("click",G)});var N=a.append("text").attr("class",function(t){return t.objectPropNodeClassUri===A?"loop-link-property-name":"property-name"}).attr("dx",function(t){return y/2*("objectLeft"===t.propertyType?1:-1)}).style("text-anchor",function(t){return"objectLeft"===t.propertyType?"end":"start"}).style("font-size",v).text(function(t){return t.targetNodeEdgeCount>1?t.targetNodeEdgeCount+" predicates":t.name});N.each(function(t){var r=o.select(this);/\d\spredicates/.test(r.text())?r.style("font-weight","bold").on("click",W):r.on("click",function(t,r){e.open("resource?uri="+encodeURIComponent(r.uri),"_blank")})});var L=a.append("rect").attr("class",function(t){return t.objectPropNodeClassUri!==A?"link-background":"loop-link-background"}).attr("width",function(t){return t.calculatedWidth=this.previousSibling.getBBox().width,t.calculatedWidth+4}).attr("height",function(t){return t.calculatedHeight=this.previousSibling.getBBox().height,t.calculatedHeight+2}).attr("transform",function(t){var e=2-y/2*("objectLeft"===t.propertyType?1:-1);return"objectLeft"===t.propertyType&&(e+=t.calculatedWidth),"translate(-"+e+",-"+(2+t.calculatedHeight/2)+")"}).on("click",function(t){t.stopPropagation()}),C=b.selectAll(".node").data(S).enter().append("g"),P=C.filter(function(t){return t.objectPropClassUri!==A}).append("circle").each(function(t){var e=o.select(this);"main"===t.classPosition?e.attrs({class:"class-node",r:y}).attr("marker-end","url("+c.absUrl()+"#loop-link)"):null===t.objectPropClassName?e.attrs({class:"datatype-node",r:m}):e.attrs({class:"object-prop-node",r:x})}).call(E);function z(e,r,a){u.$apply(function(){t.$broadcast("reloadDomainRangeGraphView",r,a)})}o.selectAll(".object-prop-node").on("dblclick",z),C.filter(function(t){return t.objectPropClassName&&t.objectPropClassUri!==A}).append("text").attr("class",function(t){return t.classPosition+"-class-label"}).style("font-size",v).text(function(t){return t.objectPropClassName}).on("click",function(t,r){e.open("resource?uri="+encodeURIComponent(r.objectPropClassUri),"_blank")});var U=C.select("text");b.select(".class-node").each(function(){o.select(this.parentNode).append("text").attr("class","rdf-class-label").style("font-size",function(t){return n.A.Text.calcFontSize(R,y)}).text(R).on("click",function(){e.open("resource?uri="+encodeURIComponent(A),"_blank")})});var j=b.select(".class-node + text"),T=o.select(".class-node"),M=o.selectAll(".loop-link-background"),O=o.selectAll(".loop-link-property-name");if(N=o.selectAll(".property-name"),!angular.isUndefined(i)){var D=[];M.each(function(t,e){o.select(this),D.push({idx:e,width:t.calculatedWidth,height:t.calculatedHeight})})}function F(t){var e=8*w.alpha();function r(t){var e=t.x+2*y,r=t.y-35.08771929824562;var a=[];M.each(function(n,s){a.push(n),s<h?function(a,n){var o=$.grep(D,function(t){return t.idx==n});n>0&&(e+=parseFloat(n*(o[0].height/(n/1.4)))),a.attrs({transform:"rotate(270, "+t.x+","+t.y+") translate("+e+","+r+")",width:o[0].height,height:o[0].width})}(o.select(this),s):o.select(this).remove()}),function(t){var e;o.select(".view-more-preds-label").style("font-weight","bold").each(function(r){r.target.allEdges=t,e=this.getComputedTextLength()}).on("click",W),o.select(".view-more-preds-rect").attr("height",e+4)}(a)}s.filter(function(t){return t.objectPropNodeClassUri!==A}).attr("x1",function(t){return t.source.x}).attr("y1",function(t){return t.source.y}).attr("x2",function(t){return t.targetX}).attr("y2",function(t){return t.targetY}).each(function(t){!function(t){"objectLeft"===t.propertyType?(t.source.x-=8*e,t.source.y-=e/9):(t.target.x+=8*e,t.target.y-=e/9)}(t);var r=Math.atan2(t.target.y-t.source.y,t.target.x-t.source.x);t.targetX=t.target.x-Math.cos(r)*t.targetRadius,t.targetY=t.target.y-Math.sin(r)*t.targetRadius}),P.each(function(t){"main"!==t.classPosition||angular.isUndefined(i)||(function(t){var e=t.x+64,r=t.y-y/5.7-5;i.attr("transform","rotate(270, "+t.x+","+t.y+") translate("+e+","+r+")")}(t),function(t){function e(e,r){var a=$.grep(D,function(t){return t.idx==r}),n=0;r>0&&(n=parseFloat(2*r*(a[0].height/1.4)));var o=t.x,s=t.y-2.1*y-n;e.attrs({x:o,y:s}).moveToFront()}O.each(function(t,r){var a=o.select(this),n=O.size()-h;n<0?e(a,r):(0==r&&!u.collapseEdges&&n>1&&(function(t,e,r){t.classed("view-more-preds-label",!0).text(r+" predicates more ..."),null!==this.nextSibling&&e.classed("view-more-preds-rect",!0)}(a,o.select(this.nextSibling),n),e(a,r)),r<h?e(a,r):a.remove())})}(t),r(t)),t.objectPropClassUri!==A&&o.select(this).attr("cx",function(t){return"main"===t.classPosition?function(t){!window.ActiveXObject&&"ActiveXObject"in window&&(Math.log10=function(t){return Math.log(t)/Math.LN10});var e=T.attr("cx")-600,r=.5*Math.log10(Math.abs(e));return t.x+=e>0?-r:r,t.x}(t):t.x}).attr("cy",function(t){return t.y})}),j.attr("x",function(t){return t.x}).attr("y",function(t){return t.y}).moveToFront(),L.filter(function(t){return t.objectPropNodeClassUri!==A}).attr("x",function(t){return t.target.x>t.source.x?t.source.x+(t.target.x-t.source.x)/2:t.target.x+(t.source.x-t.target.x)/2}).attr("y",function(t){return t.target.y>t.source.y?t.source.y+(t.target.y-t.source.y)/2:t.target.y+(t.source.y-t.target.y)/2}).moveToFront(),N.attr("x",function(t){return t.target.x>t.source.x?t.source.x+(t.target.x-t.source.x)/2:t.target.x+(t.source.x-t.target.x)/2}).attr("y",function(t){return t.target.y>t.source.y?t.source.y+(t.target.y-t.source.y)/2:t.target.y+(t.source.y-t.target.y)/2}).moveToFront(),U.attr("x",function(t){return"right"===t.classPosition?t.x+13.09090909090909:t.x-13.09090909090909}).attr("y",function(t){return t.y}).moveToFront()}w.on("tick",F)}});let C=!1}(u)},50);u.$on("$destroy",function(){d.cancel(f)})}}}angular.module("graphdb.framework.graphexplore.directives.domainrange",["graphdb.framework.graphexplore.controllers.domainrange","graphdb.framework.utils.localstorageadapter"]).constant("ONTO_RED","var(--primary-color)").constant("ONTO_GREEN","var(--tertiary-color)").constant("ONTO_BLUE","var(--secondary-color)").constant("NON_COLLAPSED_REFLEXIVE_LINK_LIMIT",6).directive("domainRangeGraph",s),s.$inject=["$rootScope","$window","$repositories","GraphDataRestService","$location","LocalStorageAdapter","LSKeys","$timeout","toastr","ONTO_RED","ONTO_GREEN","ONTO_BLUE","NON_COLLAPSED_REFLEXIVE_LINK_LIMIT"]}};
2
+ //# sourceMappingURL=38644.ce67c3226374ed2fe8ee.bundle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"38644.ce67c3226374ed2fe8ee.bundle.js","mappings":"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","sources":["webpack://root-config/./packages/legacy-workbench/src/js/angular/graphexplore/directives/domain-range-graph.directive.js"],"sourcesContent":["import SVG from 'lib/common/svg-export';\nimport D3 from 'lib/common/d3-utils';\nimport 'angular/utils/local-storage-adapter';\nimport * as d3 from 'd3';\n\nangular\n .module('graphdb.framework.graphexplore.directives.domainrange', [\n 'graphdb.framework.graphexplore.controllers.domainrange',\n 'graphdb.framework.utils.localstorageadapter'\n ])\n .constant('ONTO_RED', 'var(--primary-color)')\n .constant('ONTO_GREEN', 'var(--tertiary-color)')\n .constant('ONTO_BLUE', 'var(--secondary-color)')\n .constant('NON_COLLAPSED_REFLEXIVE_LINK_LIMIT', 6)\n .directive('domainRangeGraph', domainRangeGraphDirective);\n\ndomainRangeGraphDirective.$inject = ['$rootScope', '$window', '$repositories', 'GraphDataRestService', '$location', 'LocalStorageAdapter', 'LSKeys', '$timeout', 'toastr', 'ONTO_RED', 'ONTO_GREEN', 'ONTO_BLUE', 'NON_COLLAPSED_REFLEXIVE_LINK_LIMIT'];\n\nfunction domainRangeGraphDirective($rootScope, $window, $repositories, GraphDataRestService, $location, LocalStorageAdapter, LSKeys, $timeout, toastr, ONTO_RED, ONTO_GREEN, ONTO_BLUE, NON_COLLAPSED_REFLEXIVE_LINK_LIMIT) {\n return {\n restrict: 'AE',\n template: '<div id=\"domain-range\"></div>',\n scope: {\n showPredicatesInfoPanel: '=',\n selectedPredicate: '=',\n collapseEdges: '='\n },\n link: linkFunc\n };\n\n function linkFunc(scope) {\n const timer = $timeout(function () {\n renderDomainRangeGraph(scope);\n }, 50);\n\n scope.$on(\"$destroy\", function () {\n $timeout.cancel(timer);\n });\n }\n\n function renderDomainRangeGraph(scope) {\n var width = 1200,\n height = 600;\n\n var mainClassSize = width / 18,\n otherClassSize = width / 110,\n datatypeSize = otherClassSize / 2,\n labelFontSize = width / 90,\n basicArrowStrokeWidth = width / 1000,\n collapsedArrowStrokeWidth = width / 600;\n\n var svg = d3.select(\"#domain-range\")\n .append(\"svg\")\n .attr(\"viewBox\", \"0 0 \" + width + \" \" + height)\n .attr(\"preserveAspectRatio\", \"xMidYMid meet\")\n .on(\"dblclick.zoom\", null);\n\n var force = d3.forceSimulation();\n\n var drag = d3.drag()\n .subject(function (d) {\n return d;\n })\n .on(\"start\", dragStart)\n .on(\"end\", dragEnd)\n .on(\"drag\", dragged);\n\n var defs = svg.append(\"defs\");\n generateMarkers(defs);\n\n function generateMarkers(defElement) {\n defs.append(\"marker\")\n .attrs({\n id: \"arrow\",\n viewBox: \"0 -5 10 10\",\n refX: 10,\n refY: 0,\n markerUnits: \"strokeWidth\",\n markerWidth: 5,\n markerHeight: 5,\n orient: \"auto\",\n fill: ONTO_BLUE\n })\n .append(\"path\")\n .attrs({\n d: \"M0,-5L10,0L0,5\",\n class: \"arrowHead\"\n });\n\n defs.append(\"marker\")\n .attrs({\n id: \"collapsed-arrow\",\n viewBox: \"0 -5 10 10\",\n refX: 9,\n refY: 0,\n markerUnits: \"strokeWidth\",\n markerWidth: 4,\n markerHeight: 4,\n orient: \"auto\",\n fill: ONTO_BLUE\n })\n .append(\"path\")\n .attrs({\n d: \"M0,-5L10,0L0,5\",\n class: \"arrowHead\"\n });\n\n defs.append(\"marker\")\n .attrs({\n id: \"arrow-loop\",\n viewBox: \"0 -5 10 10\",\n refX: 7,\n refY: 0,\n markerUnits: \"strokeWidth\",\n markerWidth: 5,\n markerHeight: 5,\n orient: \"auto\",\n fill: ONTO_BLUE\n })\n .append(\"path\")\n .attrs({\n d: \"M0,-5L10,0L0,5\",\n class: \"arrowHead\"\n });\n }\n\n /*\n * Prepares SVG document image export by adding xml namespaces and\n * additional style information\n */\n function prepareForSVGImageExport() {\n // get css rules for the diagram\n var cssRules = SVG.Export.getCSSRules(\"css/domain-range-graph.css?v=3.2.0-cypress-config\");\n\n // inline css rules in a defs tag\n $(\"defs\").append('<style type=\"text/css\"><![CDATA[' + cssRules + ']]></style>');\n\n // convert selected html to base64\n var imgSrc = SVG.Export.generateBase64ImageSource(\"#domain-range svg\");\n\n // set the binary image and a name for the downloadable file on the export button\n d3.select(this).attrs({\n href: imgSrc,\n download: \"domain-range-graph-\" + $repositories.getActiveRepository() + \".svg\"\n });\n }\n\n d3.select(\"#download-svg\")\n .on(\"mouseover\", prepareForSVGImageExport);\n\n generateLegend();\n\n function generateLegend() {\n // start of code for legend\n\n var legendBackgroundWidth = width / 7;\n var legendBackgroundHeight = legendBackgroundWidth * 1.2;\n\n var svgLegend = d3.select(\".legend-container\")\n .append(\"svg\")\n .attr(\"viewBox\", \"0 0 \" + legendBackgroundWidth + \" \" + legendBackgroundHeight)\n .attr(\"preserveAspectRatio\", \"xMidYMid meet\");\n\n var legendCellGroup = svgLegend;\n\n legendCellGroup.append(\"rect\")\n .attrs({\n width: legendBackgroundWidth,\n height: legendBackgroundHeight\n })\n .style(\"fill\", \"rgba(235, 235, 235, 0.9)\");\n\n var sourceX = width / 75;\n var sourceY = width / 40;\n var targetX = sourceX + mainClassSize / 2.5;\n var targetY = sourceY;\n\n var legendTextX = targetX + width / 90;\n var legendLabelFontSize = labelFontSize / 1.1;\n\n var classNodeY = sourceY;\n var legendClassNode = legendCellGroup\n .append(\"circle\")\n .attrs({\n class: \"legend-class-node\",\n cx: (sourceX + targetX) / 2,\n cy: classNodeY,\n r: mainClassSize / 4.5\n });\n\n var classNodeTextY = targetY + width / 370;\n legendCellGroup\n .append(\"text\")\n .attrs({\n x: legendTextX,\n y: classNodeTextY\n })\n .style('font-size', legendLabelFontSize + 'px')\n .text(\"main class node\");\n\n var objectNodeY = classNodeY + width / 30;\n legendCellGroup\n .append(\"circle\")\n .attrs({\n class: \"legend-object-node\",\n cx: (sourceX + targetX) / 2,\n cy: objectNodeY,\n r: otherClassSize / 1.25\n });\n\n var objectNodeTextY = classNodeTextY + width / 30;\n legendCellGroup\n .append(\"text\")\n .attrs({\n x: legendTextX,\n y: objectNodeTextY\n })\n .style('font-size', legendLabelFontSize + 'px')\n .text(\"class node\");\n\n var datatypeNodeY = objectNodeY + width / 45;\n legendCellGroup\n .append(\"circle\")\n .attrs({\n class: \"legend-datatype-node\",\n cx: (sourceX + targetX) / 2,\n cy: datatypeNodeY,\n r: datatypeSize\n });\n\n var datatypeNodeTextY = objectNodeTextY + width / 45;\n legendCellGroup\n .append(\"text\")\n .attrs({\n x: legendTextX,\n y: datatypeNodeTextY\n })\n .style('font-size', legendLabelFontSize + 'px')\n .text(\"datatype node\");\n\n var basicPropertyArrowY = datatypeNodeY + width / 45;\n legendCellGroup\n .append(\"line\")\n .attrs({\n class: \"property-arrow\",\n x1: sourceX,\n y1: basicPropertyArrowY,\n x2: targetX,\n y2: basicPropertyArrowY\n })\n .style(\"stroke-width\", basicArrowStrokeWidth)\n .attr(\"marker-end\", \"url(\" + $location.absUrl() + \"#arrow)\");\n\n legendCellGroup\n .append(\"text\")\n .attrs({\n x: legendTextX,\n y: basicPropertyArrowY + (width / 370)\n })\n .style('font-size', legendLabelFontSize + 'px')\n .text(\"explicit property\");\n\n var implicitPropArrowY = basicPropertyArrowY + width / 45;\n legendCellGroup\n .append(\"line\")\n .attrs({\n class: \"implicit-property-arrow\",\n x1: sourceX,\n y1: implicitPropArrowY,\n x2: targetX,\n y2: implicitPropArrowY\n })\n .style(\"stroke-width\", basicArrowStrokeWidth)\n .attr(\"marker-end\", \"url(\" + $location.absUrl() + \"#arrow)\");\n\n legendCellGroup\n .append(\"text\")\n .attrs({\n x: legendTextX,\n y: implicitPropArrowY + (width / 370)\n })\n .style('font-size', legendLabelFontSize + 'px')\n .text(\"implicit property\");\n\n var collapsedPropArrowY = implicitPropArrowY + width / 45;\n legendCellGroup\n .append(\"line\")\n .attrs({\n class: \"collapsed-property-arrow\",\n x1: sourceX,\n y1: collapsedPropArrowY,\n x2: targetX,\n y2: collapsedPropArrowY\n })\n .style(\"stroke-width\", collapsedArrowStrokeWidth)\n .attr(\"marker-end\", \"url(\" + $location.absUrl() + \"#collapsed-arrow)\");\n\n legendCellGroup\n .append(\"text\")\n .attrs({\n x: legendTextX,\n y: collapsedPropArrowY + (width / 370)\n })\n .style('font-size', legendLabelFontSize + 'px')\n .text(\"collapsed property\");\n // end of code for legend\n }\n\n var selectedRdfUri = $location.search().uri;\n var classNodeLabel = $location.search().name;\n const collapsed = $location.search().collapsed;\n\n getDomainRangeData(selectedRdfUri, collapsed);\n\n function getDomainRangeData(selectedRdfUri, collapsed) {\n GraphDataRestService.getDomainRangeData(selectedRdfUri, collapsed)\n .success(function (response, status, headers) {\n scope.domainRangeGraphData = response;\n }).error(function (response) {\n toastr.error(\"Request for \" + classNodeLabel + \" failed!\");\n });\n }\n\n function switchEdgeMode(collapsed) {\n $rootScope.$broadcast('switchEdgeMode', {\n uri: selectedRdfUri,\n name: classNodeLabel,\n collapsed: collapsed\n });\n }\n\n // intercept back button press and set action to local storage\n $(window).on('popstate', function () {\n LocalStorageAdapter.set(LSKeys.DOMAIN_RANGE_WENT_BACK, true);\n });\n\n $window.onpopstate = function (event) {\n if (event.state) {\n $rootScope.$broadcast(\"changeCollapsedEdgesState\", event.state.collapsed);\n }\n };\n\n scope.$watch('collapseEdges', function () {\n if (!angular.isUndefined(scope.collapseEdges)) {\n LocalStorageAdapter.set(LSKeys.DOMAIN_RANGE_COLLAPSE_EDGES, scope.collapseEdges);\n\n // if the back button has not been pressed, then switch to collapsed or non collapsed mode\n // otherwise skip, because back button will not function properly and will not pop the entire\n // history stack\n if (LocalStorageAdapter.get(LSKeys.DOMAIN_RANGE_WENT_BACK) !== \"true\") {\n switchEdgeMode(scope.collapseEdges);\n }\n\n // after back button status has been checked, remove the action from local storage in order\n // to be clean for next check\n LocalStorageAdapter.remove(LSKeys.DOMAIN_RANGE_WENT_BACK);\n }\n });\n\n scope.$watch('domainRangeGraphData', function () {\n if (scope.domainRangeGraphData) {\n var graph = _.cloneDeep(scope.domainRangeGraphData);\n\n const nodes = graph.nodes;\n const links = graph.links;\n\n force.nodes(nodes)\n .force('x', d3.forceX(width / 2))\n .force('y', d3.forceY(height / 2))\n .force(\"charge\", d3.forceManyBody().strength(-800))\n .force(\"link\", d3.forceLink(links).distance(width / 3.5))\n\n var linkGroup = svg.selectAll(\".link\")\n .data(links)\n .enter()\n .append(\"g\");\n\n function styleArrowsInCollapsedMode(sel) {\n sel.style(\"stroke\", ONTO_BLUE);\n sel.style(\"stroke-width\", collapsedArrowStrokeWidth);\n sel.attr(\"marker-end\", \"url(\" + $location.absUrl() + \"#collapsed-arrow)\");\n }\n\n var link,\n loopLink,\n loopLinkEdgeCount = 0;\n\n\n linkGroup\n .each(function (d) {\n if (d.objectPropNodeClassUri !== selectedRdfUri) {\n link = linkGroup\n .append(\"line\")\n .attrs({\n class: \"link\",\n // absolute url needed because angular inserts a <base> tag\n \"marker-end\": \"url(\" + $location.absUrl() + \"#arrow)\"\n })\n .style(\"stroke-width\", basicArrowStrokeWidth)\n .each(function (d) {\n switch (d.propertyType) {\n case \"objectLeft\":\n d.targetRadius = mainClassSize;\n break;\n case \"objectRight\":\n d.targetRadius = otherClassSize;\n break;\n case \"datatype\":\n d.targetRadius = datatypeSize;\n break;\n default:\n d.targetRadius = 0;\n }\n var sel = d3.select(this);\n if (d.targetNodeEdgeCount > 1) {\n styleArrowsInCollapsedMode(sel);\n } else if (d.implicit) {\n sel.style(\"stroke-dasharray\", \"3, 3\");\n }\n });\n } else {\n if (angular.isUndefined(loopLink)) {\n var loopLinkSize = mainClassSize / 2;\n loopLink = d3.select(this)\n .append(\"path\")\n .attrs({\n d: \"M 0 0 A \" + loopLinkSize + \" \" + loopLinkSize + \" 0 1 1 0 \" + loopLinkSize,\n class: \"loop-link\",\n fill: \"none\",\n \"marker-end\": \"url(\" + $location.absUrl() + \"#arrow-loop)\"\n })\n .style(\"stroke-width\", basicArrowStrokeWidth);\n }\n\n loopLinkEdgeCount += d.targetNodeEdgeCount;\n if (loopLinkEdgeCount > 1) {\n styleArrowsInCollapsedMode(d3.select(\".loop-link\"));\n }\n }\n });\n\n var previousPropertyNameSelection = {};\n\n function disableCollapsedPredicateLabelHightlighting() {\n if (!$.isEmptyObject(previousPropertyNameSelection)) {\n previousPropertyNameSelection.text.style(\"fill\", \"black\");\n previousPropertyNameSelection.background.style(\"fill\", \"#f0f0f0\");\n }\n }\n\n // when clicking anywhere else but the collapsed labels disable highlighting\n // of the currently selected one\n $(\"document\").ready(function () {\n $(\"#domain-range\").bind(\"click\", disableCollapsedPredicateLabelHightlighting);\n });\n\n function onCollapsedPropertyNameClick(event, d) {\n disableCollapsedPredicateLabelHightlighting();\n previousPropertyNameSelection.text = d3.select(this);\n\n previousPropertyNameSelection.background = d3.select(this.previousSibling);\n previousPropertyNameSelection.text.style(\"fill\", \"white\");\n\n previousPropertyNameSelection.background.style(\"fill\", ONTO_BLUE);\n $timeout(function () {\n scope.showPredicatesInfoPanel = true;\n scope.selectedPredicate = d;\n });\n event.stopPropagation();\n }\n\n\n var propertyNames = linkGroup\n .append(\"text\")\n .attr(\"class\", function (d) {\n return d.objectPropNodeClassUri === selectedRdfUri ? \"loop-link-property-name\" : \"property-name\";\n })\n .attr(\"dx\", function (d) {\n // offset text more towards the main class\n return mainClassSize / 2 * (d.propertyType === \"objectLeft\" ? 1 : -1);\n })\n .style(\"text-anchor\", function (d) {\n return d.propertyType === \"objectLeft\" ? \"end\" : \"start\";\n })\n .style(\"font-size\", labelFontSize)\n .text(function (d) {\n return d.targetNodeEdgeCount > 1 ? d.targetNodeEdgeCount + \" predicates\" : d.name;\n });\n\n\n propertyNames\n .each(function (d) {\n var sel = d3.select(this);\n var isCompoundEdge = /\\d\\spredicates/.test(sel.text());\n\n // handle collapsed predicates by making their font bold, make them highlight when clicked\n // and make them trigger the side panel to display the collapsed edges\n if (isCompoundEdge) {\n sel\n .style(\"font-weight\", \"bold\")\n .on(\"click\", onCollapsedPropertyNameClick);\n } else {\n // for regular predicate labels just attach a link to the \"Resources\" view\n // for more helpful information regarding them\n sel.on(\"click\", function (event, d) {\n $window.open(\"resource?uri=\" + encodeURIComponent(d.uri), \"_blank\");\n });\n }\n });\n var textPadding = width / 600;\n\n\n var linkRect = linkGroup\n .append(\"rect\")\n .attr(\"class\", function (d) {\n return d.objectPropNodeClassUri !== selectedRdfUri ? \"link-background\" : \"loop-link-background\"\n })\n .attr(\"width\", function (d) {\n d.calculatedWidth = this.previousSibling.getBBox().width;\n return d.calculatedWidth + textPadding * 2;\n })\n .attr(\"height\", function (d) {\n d.calculatedHeight = this.previousSibling.getBBox().height;\n return d.calculatedHeight + textPadding;\n })\n .attr(\"transform\", function (d) {\n // offset rect by the same amount as text (besides the padding)\n var translateX = textPadding - mainClassSize / 2 * (d.propertyType === \"objectLeft\" ? 1 : -1);\n if (d.propertyType === \"objectLeft\") {\n translateX += d.calculatedWidth;\n }\n return \"translate(-\" + translateX + \",-\" + (textPadding + d.calculatedHeight / 2) + \")\";\n })\n .on(\"click\", function (event) {\n event.stopPropagation();\n });\n\n\n var nodeGroup = svg.selectAll(\".node\")\n .data(nodes)\n .enter()\n .append(\"g\");\n\n var node = nodeGroup\n .filter(function (d) {\n return d.objectPropClassUri !== selectedRdfUri;\n })\n .append(\"circle\")\n .each(function (d) {\n var sel = d3.select(this);\n if (d.classPosition === \"main\") {\n sel.attrs({\n class: \"class-node\",\n r: mainClassSize\n })\n .attr(\"marker-end\", \"url(\" + $location.absUrl() + \"#loop-link)\");\n } else if (d.objectPropClassName === null) {\n sel.attrs({\n class: \"datatype-node\",\n r: datatypeSize\n });\n } else {\n sel.attrs({\n class: \"object-prop-node\",\n r: otherClassSize\n });\n }\n })\n .call(drag);\n\n\n function reloadDomainRangeGraphView(event, d, collapsed) {\n scope.$apply(function () {\n $rootScope.$broadcast('reloadDomainRangeGraphView', d, collapsed);\n });\n }\n\n d3.selectAll(\".object-prop-node\")\n .on(\"dblclick\", reloadDomainRangeGraphView);\n\n\n nodeGroup\n .filter(function (d) {\n return d.objectPropClassName && d.objectPropClassUri !== selectedRdfUri;\n })\n .append(\"text\")\n .attr(\"class\", function (d) {\n return d.classPosition + \"-class-label\";\n })\n .style(\"font-size\", labelFontSize)\n .text(function (d) {\n return d.objectPropClassName;\n })\n .on(\"click\", function (event, d) {\n $window.open(\"resource?uri=\" + encodeURIComponent(d.objectPropClassUri), \"_blank\");\n });\n\n var objectPropClassName = nodeGroup.select(\"text\");\n\n svg.select(\".class-node\")\n .each(function () {\n d3.select(this.parentNode)\n .append(\"text\")\n .attr(\"class\", \"rdf-class-label\")\n .style(\"font-size\", function (d) {\n return D3.Text.calcFontSize(classNodeLabel, mainClassSize)\n })\n .text(classNodeLabel)\n .on(\"click\", function () {\n $window.open(\"resource?uri=\" + encodeURIComponent(selectedRdfUri), \"_blank\");\n });\n });\n\n\n var rdfClassName = svg.select(\".class-node + text\"),\n classNode = d3.select(\".class-node\"),\n loopLinkBackgroundSel = d3.selectAll(\".loop-link-background\"),\n loopLinkPropertyName = d3.selectAll(\".loop-link-property-name\");\n\n propertyNames = d3.selectAll(\".property-name\");\n\n if (!angular.isUndefined(loopLink)) {\n var loopLinkBackgroundProps = [];\n\n loopLinkBackgroundSel.each(function (d, i) {\n var sel = d3.select(this);\n loopLinkBackgroundProps.push({\n idx: i,\n width: d.calculatedWidth,\n height: d.calculatedHeight\n });\n });\n }\n\n function tick(e) {\n var k = 8 * force.alpha();\n\n function pushEdgesToLeftAndRight(d) {\n if (d.propertyType === \"objectLeft\") {\n d.source.x -= 8 * k;\n d.source.y -= k / 9;\n } else {\n d.target.x += 8 * k;\n d.target.y -= k / 9;\n }\n }\n\n link\n .filter(function (d) {\n return d.objectPropNodeClassUri !== selectedRdfUri;\n })\n .attr(\"x1\", function (d) {\n return d.source.x;\n })\n .attr(\"y1\", function (d) {\n return d.source.y;\n })\n .attr(\"x2\", function (d) {\n return d.targetX;\n })\n .attr(\"y2\", function (d) {\n return d.targetY;\n })\n .each(function (d) {\n pushEdgesToLeftAndRight(d);\n\n // shortens the line to compensate for the circle at the target\n var angle = Math.atan2(d.target.y - d.source.y, d.target.x - d.source.x);\n d.targetX = d.target.x - Math.cos(angle) * d.targetRadius;\n d.targetY = d.target.y - Math.sin(angle) * d.targetRadius;\n });\n\n function positionLoopLink(d) {\n var loopTranslateX = d.x + mainClassSize * 0.96,\n loopTranslateY = d.y - mainClassSize / 5.7 - 5;\n loopLink.attr(\"transform\", \"rotate(270, \" + d.x + \",\" + d.y + \") translate(\" + loopTranslateX + \",\" + loopTranslateY + \")\");\n }\n\n function positionLoopLinkLabels(d) {\n function reposition(sel, i) {\n var foundLoopLinkBackgroundProps =\n $.grep(loopLinkBackgroundProps, function (obj) {\n return obj.idx == i;\n });\n var currentBackgroundHeight = 0;\n if (i > 0) {\n currentBackgroundHeight = parseFloat(2 * i * (foundLoopLinkBackgroundProps[0].height / 1.4));\n }\n\n var loopLinkLabelX = d.x,\n loopLinkLabelY = d.y - mainClassSize * 2.1 - currentBackgroundHeight;\n\n sel\n .attrs({\n x: loopLinkLabelX,\n y: loopLinkLabelY\n })\n .moveToFront();\n }\n\n /**\n * Create a \"View more\" label to depict that the are more reflexive link labels\n * left that could be seen in the side panel when clicking this label.\n *\n * @param labelSel\n * d3 selection of the text label\n * @param backgroundSel\n * d3 selection of the rectangle element background\n * @param predicatesLeft\n * number of predicates left that are collapsed\n */\n function createViewMorePredicatesLabel(labelSel, backgroundSel, predicatesLeft) {\n labelSel\n .classed(\"view-more-preds-label\", true)\n .text(predicatesLeft + \" predicates more ...\");\n if (this.nextSibling !== null) {\n backgroundSel\n .classed(\"view-more-preds-rect\", true);\n }\n }\n\n loopLinkPropertyName.each(function (dd, i) {\n var sel = d3.select(this);\n\n var predicatesLeft = loopLinkPropertyName.size() - NON_COLLAPSED_REFLEXIVE_LINK_LIMIT;\n if (predicatesLeft < 0) {\n reposition(sel, i);\n } else {\n if (i == 0 && !scope.collapseEdges && predicatesLeft > 1) {\n createViewMorePredicatesLabel(sel, d3.select(this.nextSibling), predicatesLeft);\n reposition(sel, i);\n }\n\n if (i < NON_COLLAPSED_REFLEXIVE_LINK_LIMIT) {\n reposition(sel, i);\n } else {\n sel.remove();\n }\n }\n });\n // loopLinkPropertyName.each(function (dd, i) {\n // var sel = d3.select(this);\n // if (i < NON_COLLAPSED_REFLEXIVE_LINK_LIMIT) {\n // reposition(sel, i);\n // } else if (i == NON_COLLAPSED_REFLEXIVE_LINK_LIMIT) {\n // createViewMorePredicatesLabel(sel, d3.select(this.nextSibling));\n // reposition(sel, i);\n // } else {\n // sel.remove();\n // }\n // });\n }\n\n function positionLoopLinkBackgrounds(d) {\n var loopLinkBackgroundY = d.x + mainClassSize * 2,\n loopLinkBackgroundX = d.y - mainClassSize / 1.9;\n\n function reposition(sel, i) {\n var foundLoopLinkBackgroundProps =\n $.grep(loopLinkBackgroundProps, function (obj) {\n return obj.idx == i;\n });\n if (i > 0) {\n loopLinkBackgroundY += parseFloat(i * (foundLoopLinkBackgroundProps[0].height / (i / 1.4)));\n }\n\n sel\n .attrs({\n transform: \"rotate(270, \" + d.x + \",\" + d.y + \") translate(\" + loopLinkBackgroundY + \",\" + loopLinkBackgroundX + \")\",\n width: foundLoopLinkBackgroundProps[0].height,\n height: foundLoopLinkBackgroundProps[0].width\n });\n }\n\n /**\n * Adjust new width of \"View more\" label background and add all reflexive link metadata the this\n * label in order to render them in the side panel.\n *\n * @param allLoopLinkEdges\n * all reflexive links to the current class\n */\n function adjustViewMorePredicatesLabel(allLoopLinkEdges) {\n var viewMoreTextWidth;\n d3.select(\".view-more-preds-label\")\n // make label bold to resemble a collapsed label\n .style(\"font-weight\", \"bold\")\n .each(function (d) {\n // attach all reflexive links to the \"view more\" collapsed predicate\n // because in non collapsed mode the backend does not provide them\n d.target.allEdges = allLoopLinkEdges;\n\n // calculate text width in pixels in order to adjust background width accordingly\n viewMoreTextWidth = this.getComputedTextLength();\n })\n .on(\"click\", onCollapsedPropertyNameClick);\n\n d3.select(\".view-more-preds-rect\")\n // we modify height property instead of width because they are reversed\n // when we repositioned loop link labels\n .attr(\"height\", viewMoreTextWidth + 2 * textPadding);\n }\n\n var allLoopLinkEdges = [];\n loopLinkBackgroundSel.each(function (dd, i) {\n allLoopLinkEdges.push(dd);\n if (i < NON_COLLAPSED_REFLEXIVE_LINK_LIMIT) {\n reposition(d3.select(this), i);\n } else {\n d3.select(this).remove();\n }\n });\n\n adjustViewMorePredicatesLabel(allLoopLinkEdges);\n }\n\n\n function centerClassNode(d) {\n if (!(window.ActiveXObject) && \"ActiveXObject\" in window) {\n Math.log10 = function (x) {\n return Math.log(x) / Math.LN10;\n };\n }\n var absDiff = classNode.attr(\"cx\") - width / 2,\n logOffset = Math.log10(Math.abs(absDiff)) * 0.5;\n d.x += absDiff > 0 ? -logOffset : logOffset;\n return d.x;\n }\n\n node\n .each(function (d) {\n if (d.classPosition === \"main\" && !angular.isUndefined(loopLink)) {\n positionLoopLink(d);\n positionLoopLinkLabels(d);\n positionLoopLinkBackgrounds(d);\n }\n\n if (d.objectPropClassUri !== selectedRdfUri) {\n d3.select(this)\n .attr(\"cx\", function (d) {\n // pushes the main class circle to the centre\n if (d.classPosition === \"main\") {\n return centerClassNode(d);\n }\n return d.x;\n })\n .attr(\"cy\", function (d) {\n return d.y;\n });\n }\n });\n\n\n rdfClassName\n .attr(\"x\", function (d) {\n return d.x;\n })\n .attr(\"y\", function (d) {\n return d.y;\n })\n .moveToFront();\n\n\n linkRect\n .filter(function (d) {\n return d.objectPropNodeClassUri !== selectedRdfUri;\n })\n .attr(\"x\", function (d) {\n if (d.target.x > d.source.x) {\n return (d.source.x + (d.target.x - d.source.x) / 2);\n } else {\n return (d.target.x + (d.source.x - d.target.x) / 2);\n }\n })\n .attr(\"y\", function (d) {\n if (d.target.y > d.source.y) {\n return (d.source.y + (d.target.y - d.source.y) / 2);\n } else {\n return (d.target.y + (d.source.y - d.target.y) / 2);\n }\n })\n .moveToFront();\n\n\n propertyNames\n .attr(\"x\", function (d) {\n if (d.target.x > d.source.x) {\n return (d.source.x + (d.target.x - d.source.x) / 2);\n } else {\n return (d.target.x + (d.source.x - d.target.x) / 2);\n }\n })\n .attr(\"y\", function (d) {\n if (d.target.y > d.source.y) {\n return (d.source.y + (d.target.y - d.source.y) / 2);\n } else {\n return (d.target.y + (d.source.y - d.target.y) / 2);\n }\n })\n .moveToFront();\n\n\n objectPropClassName\n .attr(\"x\", function (d) {\n if (d.classPosition === \"right\") {\n return d.x + otherClassSize * 1.2;\n } else {\n return d.x - otherClassSize * 1.2;\n }\n })\n .attr(\"y\", function (d) {\n return d.y;\n })\n .moveToFront();\n }\n\n force.on(\"tick\", tick)\n\n }\n });\n\n let isDragged = false;\n\n function dragStart(event, d) {\n force.stop();\n d.fx = event.x;\n d.fy = event.y;\n d3.select(this).classed(\"selected\", true);\n\n }\n\n // Update the subject (dragged node) position during drag.\n function dragged(event, d) {\n isDragged = true;\n\n force.alphaTarget(0).restart();\n d.fx = event.x;\n d.fy = event.y;\n }\n\n // Restore the target alpha so the simulation cools after dragging ends.\n // Unfix the subject position now that it’s no longer being dragged.\n function dragEnd(event, d) {\n d.fx = null;\n d.fy = null;\n d3.select(this).classed(\"selected\", false);\n if (isDragged) {\n force.alpha(0.2).restart();\n isDragged = false;\n } else {\n force.restart();\n }\n }\n\n }\n}\n"],"names":["domainRangeGraphDirective","$rootScope","$window","$repositories","GraphDataRestService","$location","LocalStorageAdapter","LSKeys","$timeout","toastr","ONTO_RED","ONTO_GREEN","ONTO_BLUE","NON_COLLAPSED_REFLEXIVE_LINK_LIMIT","restrict","template","scope","showPredicatesInfoPanel","selectedPredicate","collapseEdges","link","timer","width","mainClassSize","otherClassSize","datatypeSize","labelFontSize","basicArrowStrokeWidth","svg","d3","append","attr","on","force","drag","subject","d","event","stop","fx","x","fy","y","this","classed","isDragged","alpha","restart","alphaTarget","defs","attrs","id","viewBox","refX","refY","markerUnits","markerWidth","markerHeight","orient","fill","class","cssRules","SVG","Export","getCSSRules","$","imgSrc","generateBase64ImageSource","href","download","getActiveRepository","legendBackgroundWidth","legendBackgroundHeight","legendCellGroup","height","style","sourceX","targetX","legendTextX","legendLabelFontSize","classNodeTextY","cx","cy","r","text","classNodeY","objectNodeTextY","datatypeNodeY","datatypeNodeTextY","basicPropertyArrowY","x1","y1","x2","y2","absUrl","implicitPropArrowY","collapsedPropArrowY","generateLegend","selectedRdfUri","search","uri","classNodeLabel","name","collapsed","getDomainRangeData","success","response","status","headers","domainRangeGraphData","error","window","set","DOMAIN_RANGE_WENT_BACK","onpopstate","state","$broadcast","$watch","angular","isUndefined","DOMAIN_RANGE_COLLAPSE_EDGES","get","switchEdgeMode","remove","graph","_","cloneDeep","nodes","links","strength","distance","linkGroup","selectAll","data","enter","styleArrowsInCollapsedMode","sel","loopLink","loopLinkEdgeCount","each","objectPropNodeClassUri","propertyType","targetRadius","targetNodeEdgeCount","implicit","loopLinkSize","previousPropertyNameSelection","disableCollapsedPredicateLabelHightlighting","isEmptyObject","background","onCollapsedPropertyNameClick","previousSibling","stopPropagation","ready","bind","propertyNames","test","open","encodeURIComponent","linkRect","calculatedWidth","getBBox","textPadding","calculatedHeight","translateX","nodeGroup","node","filter","objectPropClassUri","classPosition","objectPropClassName","call","reloadDomainRangeGraphView","$apply","select","parentNode","D3","Text","calcFontSize","rdfClassName","classNode","loopLinkBackgroundSel","loopLinkPropertyName","loopLinkBackgroundProps","i","push","idx","tick","e","k","positionLoopLinkBackgrounds","loopLinkBackgroundY","loopLinkBackgroundX","allLoopLinkEdges","dd","foundLoopLinkBackgroundProps","grep","obj","parseFloat","transform","reposition","viewMoreTextWidth","target","allEdges","getComputedTextLength","adjustViewMorePredicatesLabel","source","targetY","pushEdgesToLeftAndRight","angle","Math","atan2","cos","sin","loopTranslateX","loopTranslateY","positionLoopLink","currentBackgroundHeight","loopLinkLabelX","loopLinkLabelY","moveToFront","predicatesLeft","size","labelSel","backgroundSel","nextSibling","createViewMorePredicatesLabel","positionLoopLinkLabels","ActiveXObject","log10","log","LN10","absDiff","logOffset","abs","centerClassNode","renderDomainRangeGraph","$on","cancel","module","constant","directive","$inject"],"sourceRoot":""}
@@ -0,0 +1,2 @@
1
+ export const __webpack_id__=38843;export const __webpack_ids__=[38843];export const __webpack_modules__={38843:(e,t,s)=>{s.r(t),s.d(t,{default:()=>i});const i='<link href="css/graphql/create-graphql-endpoint.css?v=3.2.0-cypress-config" rel="stylesheet"/> <link href="css/wizard.css?v=3.2.0-cypress-config" rel="stylesheet"/> <div class="create-graphql-endpoint-view"> <h1 id="title-container"> <span>{{title}}</span> <page-info-tooltip></page-info-tooltip> </h1> <div class="core-errors-container" core-errors write></div> <div class="create-graphql-endpoint-container"> <div class="content" ng-if="selectedSourceRepository"> <div class="toolbar"> <div class="form-inline"> <label for="sourceRepositorySelector">{{\'graphql.create_endpoint.toolbar.source_repository_selector.label\' | translate}}</label> <select id="sourceRepositorySelector" ng-model="selectedSourceRepository" ng-options="repository as repository.label for repository in sourceRepositories" ng-change="onSelectedSourceRepositoryChange(selectedSourceRepository)" ng-disabled="generatingEndpoint" class="form-control source-repository-selector" gdb-tooltip="{{\'graphql.create_endpoint.toolbar.source_repository_selector.tooltip\' | translate}}" tooltip-placement="top"> </select> </div> </div> <div class="wizard-container mt-2"> <div class="wizard"> <div class="wizard-steps"> <div ng-repeat="step in wizardModel.steps" ng-click="onStepClick(step); $event.preventDefault()" class="wizard-step" ng-class="{active: step.active, completed: step.visited}"> <span class="step-title">{{\'graphql.create_endpoint.wizard_steps.\' + step.id + \'.title\' | translate}}</span> <span class="fa fa-chevron-right step-decoration"></span> </div> </div> <div class="wizard-content"> <div ng-repeat="step in wizardModel.steps" ng-if="step.active" class="wizard-step-content"> <div ng-switch="step.id"> <div ng-switch-when="select_schema_sources"> <select-schema-sources step-definition="step"></select-schema-sources> </div> <div ng-switch-when="configure_endpoint"> <configure-endpoint step-definition="step" selected-source-repository="selectedSourceRepository.data.repository"></configure-endpoint> </div> <div ng-switch-when="generate_endpoint"> <generate-endpoint step-definition="step"></generate-endpoint> </div> </div> </div> </div> </div> </div> </div> </div> </div> '}};
2
+ //# sourceMappingURL=38843.13763d8362f774b601cf.bundle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"38843.13763d8362f774b601cf.bundle.js","mappings":"uJAGA,QAFW,0nE","sources":["webpack://root-config/./packages/legacy-workbench/src/js/angular/graphql/templates/create-graphql-endpoint.html"],"sourcesContent":["// Module\nvar code = `<link href=\"css/graphql/create-graphql-endpoint.css?v=3.2.0-cypress-config\" rel=\"stylesheet\"/> <link href=\"css/wizard.css?v=3.2.0-cypress-config\" rel=\"stylesheet\"/> <div class=\"create-graphql-endpoint-view\"> <h1 id=\"title-container\"> <span>{{title}}</span> <page-info-tooltip></page-info-tooltip> </h1> <div class=\"core-errors-container\" core-errors write></div> <div class=\"create-graphql-endpoint-container\"> <div class=\"content\" ng-if=\"selectedSourceRepository\"> <div class=\"toolbar\"> <div class=\"form-inline\"> <label for=\"sourceRepositorySelector\">{{'graphql.create_endpoint.toolbar.source_repository_selector.label' | translate}}</label> <select id=\"sourceRepositorySelector\" ng-model=\"selectedSourceRepository\" ng-options=\"repository as repository.label for repository in sourceRepositories\" ng-change=\"onSelectedSourceRepositoryChange(selectedSourceRepository)\" ng-disabled=\"generatingEndpoint\" class=\"form-control source-repository-selector\" gdb-tooltip=\"{{'graphql.create_endpoint.toolbar.source_repository_selector.tooltip' | translate}}\" tooltip-placement=\"top\"> </select> </div> </div> <div class=\"wizard-container mt-2\"> <div class=\"wizard\"> <div class=\"wizard-steps\"> <div ng-repeat=\"step in wizardModel.steps\" ng-click=\"onStepClick(step); \\$event.preventDefault()\" class=\"wizard-step\" ng-class=\"{active: step.active, completed: step.visited}\"> <span class=\"step-title\">{{'graphql.create_endpoint.wizard_steps.' + step.id + '.title' | translate}}</span> <span class=\"fa fa-chevron-right step-decoration\"></span> </div> </div> <div class=\"wizard-content\"> <div ng-repeat=\"step in wizardModel.steps\" ng-if=\"step.active\" class=\"wizard-step-content\"> <div ng-switch=\"step.id\"> <div ng-switch-when=\"select_schema_sources\"> <select-schema-sources step-definition=\"step\"></select-schema-sources> </div> <div ng-switch-when=\"configure_endpoint\"> <configure-endpoint step-definition=\"step\" selected-source-repository=\"selectedSourceRepository.data.repository\"></configure-endpoint> </div> <div ng-switch-when=\"generate_endpoint\"> <generate-endpoint step-definition=\"step\"></generate-endpoint> </div> </div> </div> </div> </div> </div> </div> </div> </div> `;\n// Exports\nexport default code;"],"names":[],"sourceRoot":""}
@@ -0,0 +1,2 @@
1
+ export const __webpack_id__=39518;export const __webpack_ids__=[14319,39518,49342,78618];export const __webpack_modules__={14319:(e,t,n)=>{n.r(t),n.d(t,{FILENAME_PATTERN:()=>o,NUMBER_PATTERN:()=>a,REPOSITORY_TYPES:()=>i,STATIC_RULESETS:()=>r});const r=[{id:"empty",name:"No inference"},{id:"rdfs-optimized",name:"RDFS (Optimized)"},{id:"rdfs",name:"RDFS"},{id:"rdfsplus-optimized",name:"RDFS-Plus (Optimized)"},{id:"owl-horst-optimized",name:"OWL-Horst (Optimized)"},{id:"owl-horst",name:"OWL-Horst"},{id:"owl2-ql-optimized",name:"OWL2-QL (Optimized)"},{id:"owl2-ql",name:"OWL2-QL"},{id:"owl-max-optimized",name:"OWL-Max (Optimized)"},{id:"owl-max",name:"OWL-Max"},{id:"owl2-rl-optimized",name:"OWL2-RL (Optimized)"},{id:"owl2-rl",name:"OWL2-RL"}],i={graphdbRepo:"graphdb",free:"free",eeWorker:"worker",eeMaster:"master",ontop:"ontop",se:"se",fedx:"fedx"},o=new RegExp("^[a-zA-Z0-9-_]+$"),a=new RegExp("^[0-9]+$")},19935:(e,t,n)=>{n.d(t,{A:()=>a}),n(62979);var r=n(93462);const i={dispatch:r.dispatch,pointer:r.pointer};var o=o||{};o.Text=function(){function e(e,t,n,r){n=n||10;var i=t/3;return"string"==typeof e?(i*=10/(e.substring(0,t/3).length+1.5),i+=1,e.match(/[\u0900-\u0DFF\u1100-\u11FF\u2E80-\u2EFF\u3000-\u9FFF]/)&&(i*=.6),i<n&&(i=n),Math.round(i)):(i<n&&(i=n),Math.round(i))}return{calcFontSizeRaw:e,calcFontSize:function(t,n,r,i){return e(t,n,r)+"px"},getTextWithElipsisIfNeeded:function(e,t){return"string"==typeof e&&e.length>t?e.substring(0,t-3)+"...":e}}}(),o.Transition={fadeIn:function(e,t){e.style("opacity",0).transition().duration(t).style("opacity",1)},fadeOut:function(e,t){e.style("opacity",1).transition().duration(t).style("opacity",0)}},o.Click=function(){function e(e,t,n){return function(){var r=n.apply(t,arguments);return r===t?e:r}}return{delayDblClick:function(){var t=i.dispatch("click","dblclick");return function(t,n){let r,i=1,o=arguments.length;for(;++i<o;)r=arguments[i],t[r]=e(t,n,n[r]);return t}(function(e){var n,r=null;e.on("mousedown",function(){n=i.pointer(document.body),new Date}),e.on("mouseup",function(e,o){var a,s,c;s=n,c=i.pointer(document.body),Math.sqrt(Math.pow(s[0]-c[0],2),Math.pow(s[1]-c[1],2))>5||(r?(window.clearTimeout(r),r=null,t.call("dblclick",e,e,o)):r=window.setTimeout((a=e,function(){t.call("click",a,a,o),r=null}),250))})},t,"on")}}}();const a=o},39518:(e,t,n)=>{n.r(t),n(82493),n(96e3),n(18148);var r=n(19935),i=n(75468),o=n(93462),a=(n(32150),n(14319)),s=n(78618),c=n(6418),l=n(72155),d=n(57154);function p(e,t,n,p,u,f,h,g,m,y,v,x,S,I,w,k,L,C,T,b,N,P,A){e.languageChanged=!1,e.propertiesObj={},e.propertiesObj.items=[],e.propertiesQueryObj={},e.propertiesQueryObj.query="",e.propertiesSearchPlaceholder=b.instant("visual.search.instance.placeholder"),e.propertiesNotFiltered=[],e.searchVisible=!1,e.nodeSelected=!1,e.queryResultsMode=!1,e.embedded=m.search().embedded,e.openedNodeInfoPanel=void 0,e.invalidLimit=!1,e.INVALID_LINKS_MSG=b.instant("sidepanel.invalid.limit.links.msg"),e.INVALID_LINKS_TOOLTIP=b.instant("sidepanel.invalid.limit.links.tooltip"),e.datasource=void 0,e.adapterContainer={adapter:{remain:!0}},e.hasInitedRepository=!1,e.defaultSettings={linksLimit:20,includeInferred:!0,sameAsState:!0,languages:["en"],showLinksText:!0,preferredTypes:[],rejectedTypes:[],preferredPredicates:[],rejectedPredicates:["http://dbpedia.org/property/logo","http://dbpedia.org/property/hasPhotoCollection","http://dbpedia.org/property/website","http://dbpedia.org/property/homepage","http://dbpedia.org/ontology/thumbnail","http://xmlns.com/foaf/0.1/depiction","http://xmlns.com/foaf/0.1/homepage","http://xmlns.com/foaf/0.1/mbox","http://dbpedia.org/ontology/wikiPage*","http://dbpedia.org/property/wikiPage*","http://factforge.net/*"],preferredTypesOnly:!1,preferredPredicatesOnly:!1,includeSchema:!0},e.saveSettings=_.cloneDeep(e.defaultSettings),e.defaultGraphConfig={id:"default",name:"Easy graph",startMode:"search"},t.key="",e.onopen=e.onclose=()=>angular.noop(),e.goToHome=()=>{j(),m.url("graphs-visualizations")},e.shouldShowSettings=()=>e.configLoaded&&e.configLoaded.id===e.defaultGraphConfig.id,e.shouldDisableSameAs=()=>{const t=$("#sameAsCheck");return e.settings&&!e.settings.includeInferred&&t.prop("checked")&&(t.prop("checked",!1),e.settings.sameAsState=!1),e.settings&&!e.settings.includeInferred},e.propertiesFilterFunc=t=>t.key.toLowerCase().indexOf(e.propertiesQueryObj.query.toLowerCase())>=0,e.toggleMoreInfo=e=>{angular.element(e.currentTarget).parent().next().toggle(200),angular.element(e.currentTarget).children("span").toggleClass("icon-caret-down").toggleClass("icon-caret-up")},e.copyToClipboard=e=>{x.openCopyToClipboardModal(e)},e.resetSettings=()=>{e.settings=_.cloneDeep(e.defaultSettings),e.validateLinksLimit(),F()},e.changeLimit=t=>{let n=e.settings.linksLimit+t;n<1&&(n=1),n>1e3&&(n=1e3),e.settings.linksLimit=n},e.validateLinksLimit=()=>{e.invalidLimit=!a.NUMBER_PATTERN.test(e.settings.linksLimit)},e.showSettings=()=>{e.showInfoPanel=!0,e.showFilter=!0,e.showNodeInfo=!1,e.showPredicates=!1,e.saveSettings?e.settings=_.cloneDeep(e.saveSettings):e.settings=_.cloneDeep(e.defaultSettings),F()},e.updateSettings=()=>{e.invalidLimit?u.error(e.INVALID_LINKS_TOOLTIP,e.INVALID_LINKS_MSG):(e.saveSettings=e.settings,e.saveSettings.languages=_.map(e.saveSettings.languagesMap,function(e){return e.text}),e.saveSettings.preferredTypes=_.map(e.saveSettings.preferredTypesMap,function(e){return e.text}),e.saveSettings.rejectedTypes=_.map(e.saveSettings.rejectedTypesMap,function(e){return e.text}),e.saveSettings.preferredPredicates=_.map(e.saveSettings.preferredPredicatesMap,function(e){return e.text}),e.saveSettings.rejectedPredicates=_.map(e.saveSettings.rejectedPredicatesMap,function(e){return e.text}),e.rootNodeIri?B(e.rootNodeIri):e.queryResultsMode&&m.search().query?W(m.search().query,m.search().sameAs,m.search().inference):"query"===e.configLoaded.startMode&&Y(e.configLoaded),D(),e.showInfoPanel=!1,e.showFilter=!1,w.set(k.GRAPHS_VIZ,e.saveSettings))},e.getGraphConfigs=t=>{C.getGraphConfigs().success(function(n){e.graphConfigs=n,t&&t()}).error(function(e){u.error(getError(e),b.instant("graphexplore.error.graph.configs.short.msg"))})},e.findConfigById=function(t){return t===e.defaultGraphConfig.id?e.defaultGraphConfig:$.grep(e.graphConfigs,function(e){return e.id===t})[0]},e.easyGraphSearch=t=>{e.configLoaded=e.defaultGraphConfig,e.openUri(t)},e.deleteConfig=t=>{x.openSimpleModal({title:b.instant("common.confirm"),message:b.instant("graphexplore.delete.graph",{configName:t.name}),warning:!0}).result.then(function(){C.deleteGraphConfig(t).success(function(){e.getGraphConfigs(),e.refreshSavedGraphs()}).error(function(e){u.error(getError(e),b.instant("graphexplore.error.cannot.delete.config"))})})},e.goToGraphConfig=e=>{G({config:e.id},{config:e}),j(),Y(e)},e.replaceIRIWithPrefix=t=>{const n=e.namespaces,r=_.findLast(n,function(e){return 0===t.indexOf(e.uri)});return r?r.prefix+":"+t.substring(r.uri.length):t};const M=[];M.push(t.$on("$translateChangeSuccess",function(){e.INVALID_LINKS_MSG=b.instant("sidepanel.invalid.limit.links.msg"),e.INVALID_LINKS_TOOLTIP=b.instant("sidepanel.invalid.limit.links.tooltip"),e.propertiesSearchPlaceholder=b.instant("visual.search.instance.placeholder")})),M.push(P.onAutocompleteEnabledUpdated(t=>{e.isAutocompleteEnabled=t})),M.push(d.ServiceProvider.get(d.RepositoryContextService).onSelectedRepositoryChanged(t=>{t?A.getNamespaces(t.id).then(t=>{e.repositoryNamespaces=t,e.namespaces=t.namespaces}).catch(e=>{const t=getError(e);u.error(t,b.instant("error.getting.namespaces.for.repo"))}):e.repositoryNamespaces=new c.NamespacesListModel})),M.push(e.$on("repositoryIsSet",function(t,n){n.newRepo&&(e.hasInitedRepository=!1),ge(n.newRepo),n.newRepo&&(j(),$(".graph-visualization svg").empty(),m.search().query&&(e.goToHome(),U()))})),M.push(t.$watch(()=>t.key,()=>{ee=0,_.each(e.propertiesObj.items,function(e){t.key>e&&ee++}),te++})),M.push(e.$watch("propertiesObj.items",()=>{angular.isDefined(e.propertiesObj.items)&&e.propertiesObj.items.length>0&&f(function(){e.adapterContainer.adapter.reload()},500)}));let E=!1,O=0;function R(e){E&&e.stopPropagation()}document.addEventListener("keydown",R,!0),e.$on("$destroy",()=>{M.forEach(e=>e()),document.removeEventListener("keydown",R,!0),window.onpopstate=null});const G=(t,n)=>{e.embedded&&(t.embedded=!0),n.skipOnPopState=!0,m.search(t),m.state(n)},j=()=>{e.searchVisible=!1,e.nodeSelected=!1,e.configLoaded=null,e.queryResultsMode=!1,e.lastSavedGraphName=null,e.lastSavedGraphId=null,e.shared=!1,e.numberOfPinnedNodes=0,ne={},re=0},z=()=>N.isActive()?e.defaultSettings:e.saveSettings,D=()=>{z().showLinksText?o.selectAll("svg .link-wrapper text").style("display","block"):o.selectAll("svg .link-wrapper text").style("display","none")},F=()=>{e.settings.languagesMap=_.map(e.settings.languages,function(e){return{text:e}}),e.settings.preferredTypesMap=_.map(e.settings.preferredTypes,function(e){return{text:e}}),e.settings.rejectedTypesMap=_.map(e.settings.rejectedTypes,function(e){return{text:e}}),e.settings.preferredPredicatesMap=_.map(e.settings.preferredPredicates,function(e){return{text:e}}),e.settings.rejectedPredicatesMap=_.map(e.settings.rejectedPredicates,function(e){return{text:e}})},B=()=>{e.rootNodeIri&&e.$broadcast("onRootNodeChange",e.rootNodeIri)},U=()=>{m.search().query?(e.searchVisible=!1,e.queryResultsMode=!0,W(m.search().query,m.search().sameAs,m.search().inference)):e.$on("onRootNodeChange",function(t,n){e.loading=!0;const r=z();angular.isDefined(n)&&(e.rootNodeIri=n,T.getInstanceNode({iri:n,config:e.configLoaded?e.configLoaded.id:e.defaultGraphConfig.id,languages:e.shouldShowSettings()?r.languages:[],includeInferred:r.includeInferred,sameAsState:r.sameAsState}).then(function(t){e.nodeSelected=!0,e.searchVisible=!1,null===t.data.types&&(t.data.types="greyColor"),he=new fe;const n=he.addNode(t.data,le/2,de/2);ce=se,Oe(n,!0)}).catch(function(t){e.loading=!1,u.error(getError(t),b.instant("graphexplore.error.could.not.load.graph"))}))}),m.search().uri&&e.openUri(m.search().uri,!0),m.search().saved&&L.getSavedGraph(m.search().saved).success(function(t){e.loadSavedGraph(t)}).error(function(e){const t=getError(e);u.error(t,b.instant("graphexplore.error.could.not.open"))})},W=(t,n,r)=>{const i=z(),o=void 0===n?i.sameAsState:!0===n,a=void 0===r?i.includeInferred:!0===r;e.loading=!0,T.updateGraph({query:t,linksLimit:i.linksLimit,languages:e.shouldShowSettings()?i.languages:[],includeInferred:a,sameAsState:o}).then(function(e){Me(e)},function(t){e.loading=!1,u.error(getError(t.data),b.instant("graphexplore.error.cannot.load.graph"))})},q=(e,t)=>{const n=e.split(" ");return t?[n[0],n[1],n[2]].join(">"):[n[0],n[2]].join(">")},V=e=>[e.source.iri,e.target.iri].join(">"),H=e=>{if(e.isTriple){const t=document.getElementById((0,s.removeSpecialChars)(q(e.iri)));if(t&&void 0!==t.__data__.x)return t.__data__.x}return e.x},K=e=>{if(e.isTriple){const t=document.getElementById((0,s.removeSpecialChars)(q(e.iri)));if(t&&void 0!==t.__data__.y)return t.__data__.y}return e.y},Z=e=>{const t=e.trim().split(" ");return`<<<${t[0]}> <${t[1]}> <${t[2]}>>>`},Q=e=>{const t=e.source.isTriple?q(e.source.iri,!0):e.source.iri,n=e.target.isTriple?q(e.target.iri,!0):e.target.iri;return(0,s.removeSpecialChars)(`${t}>${n}>marker`)},J=(e,t)=>{const n=t.map(t=>t[e]);return t.filter((t,r)=>n.indexOf(t[e])===r)},Y=t=>{e.configLoaded=t,"search"===t.startMode?e.searchVisible=!0:"node"===t.startMode&&t.startIRI?f(function(){e.openUri(t.startIRI,!0)},0):"query"===t.startMode&&t.startGraphQuery&&(e.loading=!0,C.loadGraphForConfig(t,t.startQueryIncludeInferred,z().linksLimit,t.startQuerySameAs).then(function(e){Me(e)},function(t){e.loading=!1,u.error(getError(t),b.instant("graphexplore.error.graph.load"))}))},X=function(){var t,n;m.search().config?(t=m.search().config,n=U,t===e.defaultGraphConfig.id?Y(e.defaultGraphConfig):C.getConfig(t).then(e=>{Y(e),n()}).catch(e=>{u.error(getError(e),b.instant("graphexplore.error.could.not.load.config",{configId:t}))})):m.search().query||m.search().uri?(Y(e.defaultGraphConfig),U()):U()};I.onpopstate=function(t){t.state&&t.state.skipOnPopState||(j(),t.state&&(t.state.config?(Y(t.state.config),t.state.uri&&e.openUri(t.state.uri,!0)):t.state.savedGraph&&e.loadSavedGraph(t.state.savedGraph,!0)))},e.embedded&&(m.search().query||m.search().uri||m.search().config||m.search().saved)&&(e.noGoHome=!0);let ee=0,te=0,ne={},re=0;const ie=16,oe=o.zoom().scaleExtent([.1,10]);let ae;const se=o.zoomIdentity.translate(0,-70).scale(1);oe.on("zoom",function(e){N.isActive()||(ce=e.transform,ae.attr("transform",ce))});let ce=se;const le=1e3,de=1e3;let pe,ue;function fe(){this.nodes=[],this.links=[],this.tripleNodes=new Map,this.tripleLinksCopy=new Map,this.addNode=function(e,t,n){return e.x=t,e.y=n,this.nodes.push(e),e},this.computeConnectedness=function(){const e={},t={};_.each(this.links,function(n){const r=n.source.iri,i=n.target.iri,o=_.min([r,i])+"|"+_.max([r,i]);t[o]||(t[o]=1,e[r]=(e[r]||0)+1,e[i]=(e[i]||0)+1)}),_.each(this.links,function(t){e[t.source.iri]>1&&e[t.target.iri]>1?t.connectedness=Math.min(5,Math.max(e[t.source.iri],e[t.target.iri])-1):t.connectedness=0})},this.addAndMatchLinks=function(e){const t=this.nodes;Array.prototype.push.apply(this.links,function(e,t){return _.map(e,function(e){let n,r;n=e.isTripleSource?De(e.source):_.find(t,function(t){return t.iri===e.source}),r=e.isTripleTarget?De(e.target):_.find(t,function(t){return t.iri===e.target});let i={source:n,target:r,predicates:e.predicates};if(e.isTripleSource||e.isTripleTarget){let e=`${i.source.isTriple?q(i.source.iri):i.source.iri}>${i.target.isTriple?q(i.target.iri):i.target.iri}`;if(he.tripleLinksCopy.has(e)){let t=he.tripleLinksCopy.get(e);return t[0].predicates.push(...i.predicates),t.push(i),he.tripleLinksCopy.set(e,t),null}he.tripleLinksCopy.set(e,[i])}return i})}(e,t));for(let e of he.tripleLinksCopy.keys())1===he.tripleLinksCopy.get(e).length&&he.tripleLinksCopy.delete(e);this.links=this.links.filter(e=>null!==e),this.computeConnectedness()};const t=function(e,t){return n(e,t).length};function n(e,t){return _.filter(t,function(t){return t.source.iri===e.iri||t.target.iri===e.iri})}this.countLinks=t,this.linksTypes=function(e,t){const r=n(e,t),i=_.map(r,function(t){return t.source.iri===e.iri?t.target.types:t.source.types});return _.uniq(_.flatten(i))},this.linksPredicates=function(e,t){const r=n(e,t),i=_.map(r,function(e){return e.predicates});return _.uniq(_.flatten(i))},this.removeTriples=function(e){let t=[];this.tripleNodes.size>0&&e.forEach(e=>{this.tripleNodes.has(e)&&(this.tripleNodes.delete(e),this.links=_.reject(this.links,function(n){let r=e.split(">"),i=q(n.source.iri),o=q(n.target.iri);if(i===e&&he.tripleNodes.delete(o)){let e=o.split(">");t.push({source:e[0],target:e[1]})}let a=i===e||o===e||n.source.iri===r[0]&&n.target.iri===r[1];return a&&(he.tripleLinksCopy.delete(`${i}>${o}`),he.tripleLinksCopy.delete(`${o}>${i}`)),a}))}),t.forEach(e=>{this.links=_.reject(this.links,function(t){return t.source.iri===e.source&&t.target.iri===e.target})})},this.removeNode=function(n){let r=[];this.links=_.reject(this.links,function(e){let t=e.source.iri===n.iri||e.target.iri===n.iri;return t&&(e.target.isTriple&&r.push(q(e.target.iri)),e.source.isTriple||e.target.isTriple||r.push([e.source.iri,e.target.iri].join(">"))),t}),this.removeTriples(r);const i=this.links;this.nodes=_.reject(this.nodes,function(e){return 0===t(e,i)}),0===this.nodes.length&&(e.nodeSelected=!1),this.computeConnectedness()},this.removeNodeLeafLinks=function(e){let r=[],i=this.links;this.links=_.reject(this.links,function(o){let a=o.source.iri===e.iri&&1===t(o.target,i)&&!o.target.isTriple||o.target.iri===e.iri&&1===t(o.source,i)&&!o.source.isTriple;if(!a){let r;if(o.source.iri!==e.iri||2!==t(o.target,i)||o.target.isTriple?o.target.iri!==e.iri||2!==t(o.source,i)||o.source.isTriple||(r=n(o.source,i)):r=n(o.target,i),!r)return!1;a=(r[0].source.iri===e.iri||r[0].target.iri)&&(r[1].source.iri===e.iri||r[1].target.iri)}return a&&(o.target.isTriple&&r.push(q(o.target.iri)),o.source.isTriple||o.target.isTriple||r.push([o.source.iri,o.target.iri].join(">"))),a}),this.removeTriples(r),i=this.links,this.nodes=_.reject(this.nodes,function(n){return 0===t(n,i)&&n.iri!==e.iri}),this.computeConnectedness()},this.addTriple=function(e,t,n){e.x=t,e.y=n,e.weight=0;let r=q(e.iri);if(this.tripleNodes.has(r)){let t=this.tripleNodes.get(r);t.push(e),this.tripleNodes.set(r,t)}else e.weight=10,this.tripleNodes.set(r,[e])},this.copyState=function(){const e=_.map(this.nodes,function(e){return{iri:e.iri,isTriple:e.isTriple,size:e.size,labels:_.cloneDeep(e.labels),types:_.cloneDeep(e.types),rdfRank:e.rdfRank,x:e.x,y:e.y,fixed:e.fixed}}),t=JSON.stringify(Array.from(this.tripleNodes.entries())),n=JSON.stringify(Array.from(this.tripleLinksCopy.entries()));return{nodes:e,links:_.map(this.links,function(e){return{source:e.source.iri,isTripleSource:e.source.isTriple,target:e.target.iri,isTripleTarget:e.target.isTriple,predicates:e.predicates}}),tripleNodes:t,tripleLinksCopy:n,colorIndex:re,type2color:ne,transform:ce}},this.restoreState=function(t){e.nodeSelected=!0,e.searchVisible=!1,this.nodes=_.cloneDeep(t.nodes),this.tripleNodes=t.tripleNodes?new Map(JSON.parse(t.tripleNodes)):new Map,this.links=[],this.addAndMatchLinks(t.links),this.tripleLinksCopy=t.tripleLinksCopy?new Map(JSON.parse(t.tripleLinksCopy)):new Map,_.each(this.nodes,function(t){t.fixed&&e.numberOfPinnedNodes++}),angular.isDefined(t.colorIndex)&&angular.isDefined(t.type2color)&&(re=t.colorIndex,ne=_.cloneDeep(t.type2color)),angular.isDefined(t.transform)&&(ce=o.zoomIdentity.translate(t.transform.x,t.transform.y).scale(t.transform.k)),Te()}}e.datasource={get:function(t,n,r){return v.initLazyList(t,n,r,ee,e.propertiesObj.items)},revision:function(){return te}},g.when(y.getPrincipal()).then(t=>(t=>{const n=t.appSettings;e.defaultSettings.includeInferred=n.DEFAULT_INFERENCE,e.defaultSettings.sameAsState=n.DEFAULT_INFERENCE&&n.DEFAULT_SAMEAS,e.defaultSettings.includeSchema=n.DEFAULT_VIS_GRAPH_SCHEMA;const r=w.get(k.GRAPHS_VIZ);if(r&&"object"==typeof r)try{e.saveSettings=r,void 0===e.saveSettings.includeSchema&&(e.saveSettings.includeSchema=e.defaultSettings.includeSchema,e.saveSettings.rejectedPredicates=[...e.saveSettings.rejectedPredicates,...e.defaultSettings.rejectedPredicates].unique())}catch(t){e.saveSettings=_.cloneDeep(e.defaultSettings),w.set(k.GRAPHS_VIZ,e.saveSettings)}else e.saveSettings=_.cloneDeep(e.defaultSettings)})(t)),e.showInfoPanel=!1;let he=new fe;function ge(t){!n.getActiveRepository()||e.hasInitedRepository&&!t||(e.hasInitedRepository=!0,t||e.getGraphConfigs(X))}e.addedTag=function(t){return t.text.indexOf(":")<0?(u.warning(b.instant("graphexplore.absolute.prefixed.iri")),null):(t.text=function(e,t){if(!/^<?(http|urn).*>?/.test(e)){const n=e.split(":"),r=n[0],i=n[1];if(!angular.isUndefined(i)){const e=h.getNamespaceUriForPrefix(t,r);if(e)return e+i}}return e}(t.text,e.namespaces),e.pageslideExpanded=!0,t)},e.validateTag=function(e,t,n){if(e.text.indexOf(":")<0)return n?u.warning(b.instant("graphexplore.absolute.prefixed.iri.option"),t):u.warning(b.instant("graphexplore.absolute.prefixed.iri"),t),!1;const r=e.text.indexOf("*");if(r>=0){if(!n)return u.warning(b.instant("graphexplore.wildcards.not.allowed"),t),!1;if(r<e.text.length-1)return u.warning(b.instant("graphexplore.wildcards.last.char"),t),!1}return!0},e.getTagClass=function(e){return e.endsWith("*")?"tag-item-wildcard":null},e.getActiveRepository=function(){return n.getActiveRepository()},e.isLicenseValid=function(){return p.isLicenseValid()},ge();const me=500,ye=1.75,ve=o.scaleLinear().domain([0,9]).range(["hsl(0, 100%, 75%)","hsl(360, 90%, 82%)"]).interpolate(o.interpolateHslLong),xe=o.scaleLinear().domain([0,9]).range(["hsl(180, 50%, 75%)","hsl(540, 40%, 82%)"]).interpolate(o.interpolateHslLong);e.getColor=function(e){angular.isUndefined(ne[e])&&(ne[e]=re,re++);const t=ne[e];return t>39?"#c2c2c2":t%2==0?ve(t/2):xe(t/2)};const Se=o.forceX(le/2).strength(.005),Ie=o.forceY(de/2).strength(.005),we=o.forceSimulation().force("x",Se).force("y",Ie),ke=o.select(".main-container .graph-visualization").append("svg").attr("viewBox","0 0 "+le+" "+de).attr("preserveAspectRatio","xMidYMid meet");ke.append("rect").attr("width",10*le).attr("height",10*de).attr("x",-(10*le-le)/2).attr("y",-(10*de-de)/2).style("fill","none").style("pointer-events","all").call(oe).on("click",function(e){e.stopPropagation(),Re(),we.stop()});let Le=0,Ce=0;const _e=new function(){this.state=!1,this.setLoadingState=function(e){this.state=e},this.getLoadingState=function(){return this.state},this.init=function(e,t){o.select(t).append("circle").attr("cx",function(){return e.x}).attr("cy",function(){return e.y}).attr("class","loader-container").attr("r",function(){return e.size}).style("fill","fff").style("opacity","0.7"),o.select(t).append("image").attr("xlink:href","js/angular/templates/loader/ot-loader.svg?v=3.2.0-cypress-config").attr("x",function(){return e.x-e.size+5}).attr("y",function(){return e.y-e.size}).attr("width",function(){return 2*e.size}).attr("height",function(){return 2*e.size}).attr("class","node-loader")}};function Te(t){o.selectAll("svg g").remove(),o.selectAll(".d3-tip").remove(),o.selectAll(".menu-events").remove(),ae=ke.append("g").attr("class","nodes-container").attr("transform",function(){return angular.isDefined(ce)&&!t?ce:""});const n=(0,i.A)().attr("class","d3-tip").customPosition(function(){const e=pe.getBoundingClientRect();return{top:e.bottom+10+"px",left:e.left-30+"px"}}).html(function(t){let n="";return t.fixed&&(n+='<i class="icon-pin"></i>&nbsp;&nbsp;'),t.types.length>0?n+=t.types.map(t=>`<div> · ${e.replaceIRIWithPrefix(t)}</div>`).join(""):n+=`<i>${b.instant("visual.node.tooltip.no_types")}</i>`,n}),a=function(e){let t="";return t+=_.join(_.map(e.predicates,function(t,n){if(0===n)return Be(t);if(n<10)return" · "+Be(t);if(10===n){const t=function(e){return e.predicates.length-10}(e),n=t>1?t+" predicates":t+" predicate";return" · "+b.instant("graphexplore.tip.text",{textToShow:n})}}),""),t};let c,d;const p=(0,i.A)().attr("class","d3-tip").customPosition(function(e){const t=c.getBoundingClientRect(),n=function(e){const t=a(e),n=document.createElement("canvas").getContext("2d");return n.font="13px Arial",e.predicates.length<10?n.measureText(t).width:n.measureText(t).width/2}(e);return{top:t.top-30+"px",left:t.left-30+"px",width:n+"px"}}).html(function(e){return a(e)});let h;const g=function(){f.cancel(h),f.cancel(Le),pe=null,n.hide(),Ce=f(function(){Re()},500)};ke.call(n),ke.call(p);let m=ke.selectAll(".link"),y=ke.selectAll(".node");const v=o.forceCollide(e=>e.size+5).strength(.5),x=o.forceManyBody().strength(-300),S=o.forceCenter(le/2,de/2);we.nodes(he.nodes).force("charge",x).force("collide",v).force("center",S).force("link",o.forceLink(he.links).distance(function(e){return e.source.isTriple||e.target.isTriple?0:function(e){const t=$("<span></span>"),n=e.predicates[0].split("/"),r=n[n.length-1];t.addClass("predicate-text").text(r),$("body").append(t);const i=t.width()+2*e.source.size+2*e.target.size+50;return t.remove(),.75*i}(e)+30*e.connectedness})),ae.append("defs").selectAll("marker").data(he.links).enter().append("marker").attr("class","arrow-marker").attr("id",function(e){return Q(e)}).attr("viewBox","0 -5 10 10").attr("refX",function(e){return e.target.isTriple?11:e.target.size+11}).attr("refY",0).attr("markerWidth",10).attr("markerHeight",10).attr("orient","auto").append("path").attr("d","M0,-5L10,0L0,5 L10,0 L0, -5"),m=ae.selectAll(".link").data(he.links).enter().append("g").attr("class","link-wrapper").attr("id",function(e){return(0,s.removeSpecialChars)(V(e))}).append("line").attr("class","link").style("stroke-width",1).style("fill","transparent").style("marker-end",function(e){return`url(#${Q(e)})`});const I=ae.selectAll(".link-wrapper").append("text").text(function(e){return Fe(e)}).attr("class",function(e){return e.predicates.length>1||he.tripleNodes.has(V(e))?"predicates":"predicate"}).attr("dy","-0.5em").style("text-anchor","middle").style("display",z().showLinksText?"":"none").on("mouseover",function(e,t){e.stopPropagation(),function(e,t){f.cancel(d);const n=c=e.target;f(function(){c===n&&t.predicates.length>1&&p.show(t,c)},300)}(e,t)}).on("mouseout",function(){f.cancel(d),c=null,p.hide()}).on("click",function(t,n){t.stopPropagation(),function(t,n){$e();const r=V(n);if(1===n.predicates.length&&he.tripleNodes.has(r)){ue=null;const e=he.tripleNodes.get(r)[0];if(Pe(e,0,t.button)){const t={};t.iri=e.iri,t.pred=Be(e.iri.split(" ")[1]),je(t)}return}!function(t){if(e.showNodeInfo=!1,e.showPredicates=t.predicates.length>1,e.showFilter=!1,e.showInfoPanel=!1,ue===t)return e.showNodeInfo=!1,e.showInfoPanel=!1,void(ue=null);ue=t,e.showPredicates&&(e.predicates=_.map(t.predicates,function(e){const n=function(e,t){const n=V(t);return he.tripleNodes.has(n)?he.tripleNodes.get(n).findIndex(t=>t.iri.indexOf(e)>=0):-1}(e,t),r=n>-1;return{value:Be(e),partOfTriple:r,linkId:r?V(t):"",nodeIndex:n}}),e.showInfoPanel=!0)}(n)}(t,n)});let w,k=0,L=null,C=null;const T=function(t,n,r){let i=r||this.parentNode;Array.isArray(r)&&(i=r[n]),he.countLinks(t,he.links)<=z().linksLimit?Oe(t,!1,i):u.info(b.instant("graphexplore.increase.limit"),b.instant("graphexplore.node.at.max")),e.closeInfoPanel()};function P(e,t){let n,r,i,o,a=!0;if("down"===t)n=2*e.size,r=e.size/3,i=.8,o=.3;else if("down-fixed"===t)n=2*e.size,r=e.size,i=.8,o=.66;else if("up"===t)n=e.size/3,r=2*e.size,i=.3,o=.8;else{if("fixed"!==t)return;n=e.size,i=.66,a=!1}let s=ae.selectAll(".node-wrapper").filter(function(t){return t===e}).append("text").text("").classed("icon-any pinned",!0).style("font-size",n+"px").attr("x",function(e){return e.x}).attr("y",function(e){return e.y}).attr("opacity",i);"fixed"!==t&&"down-fixed"!==t||(e.pin=s),a&&(s=s.transition().duration(1e3).style("font-size",function(){return r+"px"}).attr("opacity",o),"down-fixed"!==t&&s.remove())}const A=o.drag().subject(function(e){return e}).on("start",function(e,t){N.isActive()||0===e.sourceEvent.button&&(t.fixedBeforeDrag=t.fixed,t.isBeingDragged=!0,t.beginDragging=!0,Re(),o.select(this).classed("dragging",!0),we.alphaTarget(.3).restart())}).on("drag",function(t,n){n.isBeingDragged&&(n.fx=t.x,n.fy=t.y,n.fixed?n.beginDragging&&P(n,"fixed"):(e.numberOfPinnedNodes++,n.fixed=!0,P(n,"down-fixed")),n.pinWasFixed=!0,n.beginDragging=null)}).on("end",function(e,t){t.isBeingDragged&&(t.pinWasFixed&&(t.pinWasFixed=null,o.select(".pinned").remove()),t.isBeingDragged=!1,o.select(this).classed("dragging",!1)),we.alphaTarget(0)});y=ae.selectAll(".node").data(he.nodes).enter().append("g").attr("class","node-wrapper").attr("id",function(e){return e.iri}).append("circle").attr("class","node").attr("r",function(e){return e.size}).style("fill",function(t){return"greyColor"===t.types?"c2c2c2":e.getColor(t.types[0])}).on("mouseover",function(t,r){r.isBeingDragged||(f.cancel(Ce),Le=f(()=>{(function(t,n){return!e.showInfoPanel&&((Ne.closeIcon||Ne.expandIcon||Ne.focusIcon||Ne.copyURIIcon)&&Ne.removeIcons(),we.alpha()<.1&&(Ne.initIcons(t,n.parentNode),we.stop(),be(),!0))})(r,this)&&function(e,t){f.cancel(h);const r=pe=t.target;f(function(){pe===r&&n.show(e,pe)},300)}(r,t)},400))}).on("mouseout",g).on("click",function(t,n){if(t.button&&0!==t.button)return;const r=this;if(L&&C===r)return f.cancel(L),L=null,void T(n,0,r.parentNode);C=r,g(),e.showPredicates=!1,N.isActive()||(f.cancel(L),L=f(function(){Pe(n,0,t),L=null},40+me))}).on("touchstart",(e,t)=>function(e){k=0,w=f(function(){k<5&&Ae(e),w=null},1e3)}(t)).on("touchmove",function(){k++}).on("touchend",function(){f.cancel(w),w=null}).on("contextmenu",function(t,r){t.shiftKey||(t.preventDefault(),Re(),e.closeInfoPanel(),r.fixed?(e.numberOfPinnedNodes--,r.fixed=!1,r.fx=null,r.fy=null,P(r,"up"),we.alpha(1).restart()):(e.numberOfPinnedNodes++,r.fixed=!0,P(r,"down")),function(e){pe&&n.show(e,pe)}(r))}).on("gdb-expand-node",(e,t)=>T(t,0,e.srcElement.parentNode)).on("gdb-show-node-info",(e,t)=>Ge(t)).call(A);const M=ae.selectAll(".node-wrapper").append("foreignObject").style("pointer-events","none").attr("width",function(e){return 2*e.size*ye});ae.insert("g").attr("class","menu-events"),(e=>{e.each(function(e){e.fontSize=r.A.Text.calcFontSizeRaw(e.labels[0].label,e.size,ie,!0)}).attr("height",function(e){return 3*e.fontSize}).append("xhtml:div").attr("class","node-label-body").style("font-size",function(e){return e.fontSize+"px"}).append("xhtml:div").html(function(e){return l.HtmlUtil.getText(e.labels[0].label).replaceAll("\n","<br>")})})(M),we.on("tick",function(){m.attr("x1",function(e){return H(e.source)}).attr("y1",function(e){return K(e.source)}).attr("x2",function(e){return H(e.target)}).attr("y2",function(e){return K(e.target)}),I.attr("x",function(e){let t=H(e.source),n=H(e.target);return e.x=.5*(t+n)}).attr("y",function(e){let t=K(e.source),n=K(e.target);return e.y=.5*(t+n)}).attr("transform",function(e){return"rotate("+function(e,t){const n=H(e.source),r=K(e.source),i=H(e.target),o=K(e.target);if(t)return 180*Math.atan2(o-r,i-n)/Math.PI;{const e=180*Math.atan2(o-r,i-n)/Math.PI;return e<=90&&e>=-90?e:(e>0?-1:1)*(180-Math.abs(e))}}(e,e.direction)+", "+e.x+", "+e.y+")"}),y.attr("cx",function(e){return e.x}).attr("cy",function(e){return e.y}),ae.select(".node-loader").attr("x",function(e){return e.x-e.size+3}).attr("y",function(e){return e.y-e.size}),ae.select(".loader-container").attr("cx",function(e){return e.x}).attr("cy",function(e){return e.y}),M.attr("x",function(e){return e.x-e.size*ye}).attr("y",function(e){return e.y-3*e.fontSize/2}),o.select(".pinned").attr("x",function(e){return e.x}).attr("y",function(e){return e.y}),be()}),angular.isDefined(_e)&&_e.setLoadingState(!1),e.loading&&(e.loading=!1),o.selectAll(".link-wrapper").each(function(){const e=$(this).attr("id").split(">")[0],t=$(this).attr("id").split(">")[1];o.selectAll(".link").each(function(n){const r=(0,s.removeSpecialChars)(n.source.iri),i=(0,s.removeSpecialChars)(n.target.iri);if(r===t&&i===e){let e=r;e+=">",e+=i;const t=document.createTextNode(" ⟶");document.getElementById(e).lastChild.appendChild(t),n.direction="double"}})}),o.selectAll(".d3-actions-tip").remove(),we.alpha(.3).restart()}function be(){t.d3alpha=we.alpha()}const Ne=new function(){function n(e,t){return"translate("+(t.x-14+(t.size+15)*Math.cos(e*Math.PI/180-Math.PI/2))+","+(t.y-14+(t.size+15)*Math.sin(e*Math.PI/180-Math.PI/2))+")"}this.closeIcon=void 0,this.expandIcon=void 0,this.collapseIcon=void 0,this.focusIcon=void 0,this.copyURIIcon=void 0,this.actionsTip=void 0,this.removeIcons=function(){this.closeIcon.remove("g"),this.expandIcon&&this.expandIcon.remove("g"),this.collapseIcon&&this.collapseIcon.remove("g"),this.focusIcon.remove("g"),this.copyURIIcon.remove("g"),this.closeIcon=void 0,this.expandIcon=void 0,this.collapseIcon=void 0,this.focusIcon=void 0,this.copyURIIcon=void 0,this.expandedState=!1},this.expandedState=!1,this.initIcons=function(r,a){const s=(0,i.A)().attr("class","d3-tip d3-actions-tip").customPosition(function(e,t){const n=t.target.getBoundingClientRect();return{top:n.top-20+"px",left:n.right+10+"px"}}).html(function(e){return e});ke.call(s),r.isExpanded?(this.collapseIcon=o.select(".menu-events").append("g").attr("class","collapse-icon").attr("name","collapse").attr("transform",function(){return n(20,r)}),this.collapseIcon.append("circle").attr("cx",14).attr("cy",14).attr("r",13).style("fill","#eee"),this.collapseIcon.append("path").attr("d","M22.67,12a.59.59,0,0,1-.53.65l-6.88.72H15.2a.59.59,0,0,1-.59-.65l.72-6.88A.58.58,0,0,1,16,5.33a.59.59,0,0,1,.53.65L16,11.11,21.3,5.79a.64.64,0,0,1,.91.91L16.89,12,22,11.49A.59.59,0,0,1,22.67,12ZM12.59,14.75l-6.75.85a.59.59,0,0,0-.51.66.58.58,0,0,0,.66.51l4.95-.62-5.2,5.2a.64.64,0,1,0,.91.91l5.2-5.2L11.23,22a.59.59,0,0,0,.51.66h.07a.59.59,0,0,0,.59-.52l.85-6.75a.59.59,0,0,0-.17-.49A.58.58,0,0,0,12.59,14.75Z").style("fill","var(--primary-color)"),this.collapseIcon.on("click",function(){var e;(e=r).isExpanded=!1,he.removeNodeLeafLinks(e),Te()}).on("mouseover",function(e){s.show(this.getAttribute("name"),e),f.cancel(Le),f.cancel(Ce)}).on("mouseout",function(){s.hide(),Ce=f(function(){Re()},500)})):(this.expandIcon=o.select(".menu-events").append("g").attr("class","expand-icon").attr("name","expand").attr("transform",function(){return n(20,r)}),this.expandIcon.append("circle").attr("cx",14).attr("cy",14).attr("r",13).style("fill","#eee"),this.expandIcon.append("path").attr("d","M22.37,6.28l-.72,6.88a.59.59,0,0,1-.59.53H21a.59.59,0,0,1-.53-.65L21,7.9l-5.32,5.32a.64.64,0,0,1-.91-.91L20.1,7,15,7.53a.59.59,0,0,1-.12-1.18l6.88-.72a.59.59,0,0,1,.65.65ZM12.89,20.34,7.95,21l5.2-5.2a.64.64,0,0,0-.91-.91L7,20.05l.62-4.95A.59.59,0,0,0,6.48,15l-.85,6.75a.59.59,0,0,0,.59.67h.07L13,21.52a.59.59,0,1,0-.15-1.18Z").style("fill","var(--primary-color)"),this.expandIcon.on("click",function(){Oe(r,!1,a)}).on("mouseover",function(e){s.show(this.getAttribute("name"),e),f.cancel(Ce),f.cancel(Le)}).on("mouseout",function(){s.hide(),Ce=f(function(){Re()},500)})),this.focusIcon=o.select(".menu-events").append("g").attr("class","focus-icon").attr("name","focus").attr("transform",function(){return n(20,r)}),this.focusIcon.append("circle").attr("cx",14).attr("cy",14).attr("r",13).style("fill","#eee"),this.focusIcon.append("path").attr("d","M14.2,23.81a9.8,9.8,0,1,1,6.93-2.87h0A9.74,9.74,0,0,1,14.2,23.81Zm0-18.17a8.37,8.37,0,1,0,5.92,14.29h0A8.37,8.37,0,0,0,14.2,5.64Zm1.42,6.95a2,2,0,1,0,0,2.85A2,2,0,0,0,15.62,12.59Z").style("fill","var(--primary-color)"),this.focusIcon.on("click",function(){t.$broadcast("onRootNodeChange",r.iri)}).on("mouseover",function(e){s.show(this.getAttribute("name"),e),f.cancel(Ce),f.cancel(Le)}).on("mouseout",function(){s.hide(),Ce=f(function(){Re()},500)}),this.copyURIIcon=o.select(".menu-events").append("g").attr("class","icon-link").attr("name","link").attr("transform",function(){return n(20,r)}),this.copyURIIcon.append("circle").attr("cx",14).attr("cy",14).attr("r",13).style("fill","#eee"),this.copyURIIcon.append("path").attr("d","M 13.457031 10.164062 C 13.648438 10.164062 13.820312 10.242188 13.941406 10.363281 L 15.492188 11.859375 C 15.984375 12.332031 16.292969 12.992188 16.292969 13.714844 C 16.292969 14.441406 15.984375 15.097656 15.492188 15.574219 L 10.394531 20.496094 C 9.902344 20.972656 9.222656 21.265625 8.472656 21.265625 C 7.71875 21.265625 7.039062 20.972656 6.546875 20.496094 L 4.996094 19 C 4.507812 18.523438 4.203125 17.867188 4.203125 17.144531 C 4.203125 16.421875 4.507812 15.765625 4.996094 15.289062 L 7.542969 12.824219 C 7.667969 12.707031 7.84375 12.628906 8.035156 12.628906 C 8.417969 12.628906 8.726562 12.929688 8.726562 13.300781 C 8.726562 13.484375 8.648438 13.652344 8.523438 13.773438 L 5.976562 16.234375 C 5.738281 16.46875 5.589844 16.792969 5.589844 17.148438 C 5.589844 17.503906 5.738281 17.824219 5.976562 18.058594 L 7.527344 19.566406 C 7.773438 19.792969 8.105469 19.929688 8.472656 19.929688 C 8.835938 19.929688 9.167969 19.792969 9.414062 19.566406 L 14.511719 14.644531 C 14.753906 14.410156 14.90625 14.089844 14.90625 13.730469 C 14.90625 13.375 14.753906 13.054688 14.511719 12.820312 L 12.964844 11.324219 C 12.839844 11.203125 12.761719 11.039062 12.761719 10.855469 C 12.761719 10.488281 13.070312 10.1875 13.449219 10.1875 Z M 17.082031 3.976562 C 17.082031 3.976562 17.085938 3.976562 17.085938 3.976562 C 17.824219 3.976562 18.492188 4.261719 18.980469 4.722656 L 20.535156 6.203125 C 21.042969 6.679688 21.355469 7.34375 21.355469 8.082031 C 21.355469 8.792969 21.058594 9.441406 20.582031 9.914062 L 18.0625 12.402344 C 17.9375 12.527344 17.761719 12.605469 17.566406 12.605469 C 17.183594 12.605469 16.875 12.304688 16.875 11.9375 C 16.875 11.753906 16.949219 11.589844 17.070312 11.46875 L 19.605469 8.984375 C 19.847656 8.75 19.996094 8.429688 19.996094 8.070312 C 19.996094 7.714844 19.847656 7.394531 19.605469 7.160156 L 18.019531 5.667969 C 17.773438 5.445312 17.4375 5.304688 17.070312 5.300781 C 16.703125 5.304688 16.367188 5.453125 16.128906 5.691406 L 11.085938 10.667969 C 10.84375 10.898438 10.695312 11.222656 10.695312 11.578125 C 10.695312 11.933594 10.84375 12.257812 11.085938 12.488281 L 12.675781 13.980469 C 12.804688 14.101562 12.882812 14.273438 12.882812 14.457031 C 12.882812 14.828125 12.574219 15.128906 12.191406 15.128906 C 12.003906 15.128906 11.832031 15.054688 11.707031 14.9375 L 10.140625 13.457031 C 9.636719 12.980469 9.324219 12.316406 9.324219 11.582031 C 9.324219 10.863281 9.621094 10.214844 10.101562 9.742188 L 15.140625 4.765625 C 15.625 4.285156 16.304688 3.980469 17.054688 3.976562 Z M 17.082031 3.976562").style("fill","var(--primary-color)"),this.copyURIIcon.on("click",function(){e.copyToClipboard(r.iri),Re(),s.hide()}).on("mouseover",function(e){s.show("<div style='text-align: center;'><b>Copy to ClipBoard</b><br>"+r.iri+"</div>",e),f.cancel(Ce),f.cancel(Le)}).on("mouseout",function(){s.hide(),Ce=f(function(){Re()},500)}),this.closeIcon=o.select(".menu-events").append("g").attr("class","close-icon").attr("name","remove").attr("transform",function(){return n(20,r)}),this.closeIcon.append("circle").attr("cx",14).attr("cy",14).attr("r",13).style("fill","#eee"),this.closeIcon.append("path").attr("d","M14.94,14l5.87-5.87a.66.66,0,1,0-.94-.94L14,13.06,8.13,7.19a.66.66,0,0,0-.94.94L13.06,14,7.19,19.87a.66.66,0,1,0,.94.94L14,14.94l5.87,5.87a.66.66,0,1,0,.94-.94Z").style("fill","var(--primary-color)"),this.closeIcon.on("click",function(){Ae(r)}).on("mouseover",function(e){s.show(this.getAttribute("name"),e),f.cancel(Ce),f.cancel(Le)}).on("mouseout",function(){s.hide(),Ce=f(function(){Re()},500)}),this.animateMenu(r)},this.animateMenu=function(e){const t=100,r=o.easeSin;let i=0,a=20;this.expandIcon&&this.expandIcon.transition().duration(t).style("opacity",1).ease(r).attr("transform",function(){return n(a,e)}).delay(i+=35),this.collapseIcon&&this.collapseIcon.transition().duration(t).style("opacity",1).ease(r).attr("transform",function(){return n(a,e)}).delay(i+=35),this.copyURIIcon.transition().duration(t).style("opacity",1).ease(r).attr("transform",function(){return a+=30,n(a,e)}).delay(i+=35),this.focusIcon.transition().duration(t).style("opacity",1).ease(r).attr("transform",function(){return a+=30,n(a,e)}).delay(i+=35),this.closeIcon.transition().duration(t).style("opacity",1).ease(r).attr("transform",function(){return a+=30,n(a,e)}).delay(i+=35),this.expandedState=!0}};function Pe(n,r,i){return e.showInfoPanel=!1,e.showPredicates=!1,e.showNodeInfo=!1,i.shiftKey&&(i.ctrlKey||i.metaKey)?(t.$broadcast("onRootNodeChange",n.iri),!1):i.ctrlKey||i.metaKey?(Ae(n),!1):void 0!==e.openedNodeInfoPanel&&e.openedNodeInfoPanel===n?(e.pageslideExpanded=!1,e.openedNodeInfoPanel=void 0,!1):(Ge(n),!0)}function Ae(e){he.removeNode(e),Te()}function Me(t){!function(t){e.nodeSelected=!0,null===t.data.types&&(t.data.types="greyColor"),he=new fe,ce=se}(t),Ee(t)}function Ee(t,n,r){let i=t.data;i=_.filter(i,function(e){return-1===_.findIndex(he.links,function(t){return e.source===t.source.iri&&e.target===t.target.iri})});const o=[],a=he.tripleLinksCopy.values();for(let e=0;e<he.tripleLinksCopy.size;e++)a.next().value.forEach(e=>{o.push(e)});i=_.filter(i,function(e){return-1===_.findIndex(o,function(t){return e.source===t.source.iri&&e.target===t.target.iri})}),i=_.filter(i,function(e){return e.source!==e.target});const s=J("iri",_.union(_.flatten(_.map(t.data,function(e){return[{iri:e.source,isTriple:e.isTripleSource},{iri:e.target,isTriple:e.isTripleTarget}]})))),c=_.map(he.nodes,function(e){return{iri:e.iri,isTriple:Boolean(e.isTriple)}}),l=he.tripleNodes.values();for(let e=0;e<he.tripleNodes.size;e++)l.next().value.forEach(e=>{c.push({iri:e.iri,isTriple:e.isTriple})});const d=_.reject(s,function(e){return _.some(c,e)});if(0===d.length)(r||0===i.length)&&u.info(b.instant("graphexplore.error.node.connections")),he.addAndMatchLinks(i),Te();else{const t=[],r=[],o=z();_.forEach(d,function(n,i){t.push(T.getInstanceNode({iri:n.isTriple?Z(n.iri):n.iri,config:e.configLoaded.id,languages:e.shouldShowSettings()?o.languages:[],includeInferred:o.includeInferred,sameAsState:o.sameAsState}).then(function(e){r[i]=e.data}))}),g.all(t).then(function(){_.forEach(r,function(e,t){const i=2*Math.PI*t/r.length,o=(n?n.x:0)+Math.cos(i)*de/3,a=(n?n.y:0)+Math.sin(i)*de/3;e.isTriple?he.addTriple(e,o,a):he.addNode(e,o,a)}),he.addAndMatchLinks(i),n&&(n.isExpanded=!0),Te()})}}function Oe(t,n,r){if(_e.getLoadingState())return;_e.init(t,r);const i=z(),o=t.iri;T.getInstanceNodeLinks({iri:o,linksLimit:i.linksLimit,includeInferred:i.includeInferred,config:e.configLoaded.id,preferredTypes:e.shouldShowSettings()?i.preferredTypes:[],rejectedTypes:e.shouldShowSettings()?i.rejectedTypes:[],preferredPredicates:e.shouldShowSettings()?i.preferredPredicates:[],rejectedPredicates:e.shouldShowSettings()?i.rejectedPredicates:[],preferredTypesOnly:e.shouldShowSettings()?i.preferredTypesOnly:[],preferredPredicatesOnly:e.shouldShowSettings()?i.preferredPredicatesOnly:[],languages:e.shouldShowSettings()?i.languages:[],sameAsState:i.sameAsState,includeSchema:i.includeSchema}).then(function(e){Ee(e,t,n)},function(t){const n=getError(t.data);u.error(n,b.instant("graphexplore.error.exploring.node")),e.loading=!1,_e.setLoadingState(!1)})}function Re(){angular.isDefined(Ne)&&Ne.expandedState&&Ne.removeIcons()}function Ge(t){we.stop(),e.openedNodeInfoPanel=t,e.showNodeInfo=!0,e.showFilter=!1,e.showPredicates=!1,e.nodeLabels=t.labels,e.nodeTypes=t.types,e.rdfRank=t.rdfRank,e.nodeIri=t.iri,e.resourceType=t.isTriple?"triple":"uri",e.encodedIri=t.isTriple?encodeURIComponent(Z(t.iri)):encodeURIComponent(t.iri),e.showInfoPanel=!0,e.rdfsLabel=t.labels[0].label,e.rdfsComment=t.comment,e.expanded=!1,e.propertiesQueryObj.query="",e.dataNodeKeysQuery="";const n=z();T.getProperties({iri:t.isTriple?Z(t.iri):t.iri,config:e.configLoaded.id,languages:e.shouldShowSettings()?n.languages:[],includeInferred:n.includeInferred,sameAsState:n.sameAsState,rejectedPredicates:e.shouldShowSettings()?n.rejectedPredicates:[]}).then(function(t){e.data=_.mapKeys(t.data,function(t,n){return e.replaceIRIWithPrefix(n)}),e.propertiesObj.items=[],_.forEach(e.data,function(t,n){e.propertiesObj.items.push({key:n,value:t})}),e.nodeImage=void 0,e.propertiesNotFiltered=e.propertiesObj.items;const n=_.find(e.propertiesObj.items,function(e){return"image"===e.key});n&&(e.nodeImage=n.value[0].v),e.propertiesObj.items=_.reject(e.propertiesObj.items,function(e){return"image"===e.key}),e.propertiesNotFiltered=e.propertiesObj.items},function(e){u.warning(getError(e.data),"Error")})}function je(e){ze("predicate","var(--primary-color-dark)",e),ze("predicates","var(--primary-color-dark)",e);const t=document.getElementsByClassName("link");t&&_.each(t,function(t){const n=t.__data__;(n.source.iri.indexOf(e.iri)>=0||n.target.iri.indexOf(e.iri)>=0)&&(t.style.stroke="var(--primary-color-dark)",t.style.strokeWidth=4)});const n=document.getElementsByClassName("arrow-marker");n&&_.each(n,function(t){const n=t.__data__;(n.source.iri.indexOf(e.iri)>=0||n.target.iri.indexOf(e.iri)>=0)&&(t.style.stroke="var(--primary-color-dark)",t.__data__.target.isTriple||t.setAttribute("refX","23"))})}function ze(e,t,n){const r=document.getElementsByClassName(e);r&&_.each(r,function(e){const r=e.__data__;n?((r.source.iri.indexOf(n.iri)>=0||r.target.iri.indexOf(n.iri)>=0)&&(e.style.fill=t),q(n.iri)===V(r)&&(e.textContent=n.pred,e.style.fill=t),n.oppLinkIRI&&n.oppLinkIRI===V(r)&&(e.textContent=n.oppTriplePred,e.style.fill=t)):(e.style.fill=t,e.textContent=Fe(r))})}function $e(){_.each(e.predicates,function(e){const t=document.getElementById(e.linkId+e.nodeIndex);t&&(t.style.fontWeight="normal")});const t=document.getElementsByClassName("link");t&&_.each(t,function(e){e.style.stroke="#999",e.style.strokeWidth=1}),ze("predicate",""),ze("predicates","");const n=document.getElementsByClassName("arrow-marker");n&&_.each(n,function(e){e.style.stroke="#999",e.__data__.target.isTriple||e.setAttribute("refX","59")})}function De(e){const t=q(e);if(he.tripleNodes.has(t))return he.tripleNodes.get(t).find(t=>t.iri===e)}function Fe(e){return e.predicates.length>1?e.predicates.length+" predicates":Be(e.predicates[0])}function Be(t){const n=e.replaceIRIWithPrefix(t);return n.length===t.length?t.split("/")[t.split("/").length-1]:n}e.toggleSidePanel=function(){e.pageslideExpanded=!e.pageslideExpanded},e.closeInfoPanel=function(){e.pageslideExpanded=!1,e.openedNodeInfoPanel=void 0,e.predicates=[],ue=null,f(function(){e.showInfoPanel=!1})},e.clickLink=function(t){if(he.tripleNodes.has(t.linkId)){$e();const n=he.tripleNodes.get(t.linkId)[t.nodeIndex];Ge(n),e.showPredicates=!0;const r=document.getElementById(t.linkId+t.nodeIndex);r&&(r.style.fontWeight="bold");const i={},o=he.tripleLinksCopy.values();for(let e=0;e<he.tripleLinksCopy.size;e++){const e=o.next().value;e.length>1&&e.every(t=>t.source.iri===n.iri?(i.iri=e[0].source.iri,t.target.isTriple&&(i.oppLinkIRI=q(t.target.iri),i.oppTriplePred=Be(t.target.iri.split(" ")[1])),i.pred=Be(n.iri.split(" ")[1]),1===t.predicates.length&&(i.linkPred=t.predicates[0]),!1):t.target.iri!==n.iri||(i.iri=e[0].target.iri,t.source.isTriple&&(i.oppLinkIRI=q(t.source.iri),i.oppTriplePred=Be(t.source.iri.split(" ")[1])),i.pred=Be(n.iri.split(" ")[1]),1===t.predicates.length&&(i.linkPred=t.predicates[0]),!1))}i.iri||(i.iri=n.iri,i.pred=Be(n.iri.split(" ")[1])),je(i)}},e.splitPredicate=function(e){return e.split("/")[e.split("/").length-1]},e.getActiveRepository=function(){return n.getActiveRepository()},e.isLoadingLocation=function(){return n.isLoadingLocation()},e.hasActiveLocation=function(){return n.hasActiveLocation()},e.rotate=function(e){Re();const t=10*(e?1:-1)*Math.PI/180,n=Math.cos(t),r=Math.sin(t),i=le/2,a=de/2;o.selectAll(".node-wrapper").each(function(e){e.x=i+(n*(e.x-i)+r*(e.y-a)),e.y=a+(-r*(e.x-i)+n*(e.y-a)),e.fixed&&(e.fx=e.x,e.fy=e.y)}),we.alpha(1).restart()},e.openUri=function(t,n){if(!n){const n={};e.configLoaded.id!==e.defaultGraphConfig.id&&(n.config=e.configLoaded.id),n.uri=t,G(n,{uri:t,config:e.configLoaded})}e.$broadcast("onRootNodeChange",t)},e.saveOrUpdateGraph=function(){const t=JSON.stringify(he.copyState()),n={id:e.lastSavedGraphId,name:e.lastSavedGraphName,data:t,shared:e.shared};n.id?e.saveGraphModal("update",n):e.saveGraphModal("new",n)},e.renameSavedGraph=function(t){e.saveGraphModal("rename",{id:t.id,name:t.name,config:t.config,shared:t.shared})};e.saveGraphModal=function(t,n,r){const i=S.open({templateUrl:"js/angular/graphexplore/templates/modal/save-graph.html",controller:"SaveGraphModalCtrl",resolve:{data:function(){return{mode:t,graph:n,graphExists:r,shared:n.shared}}}});O++,E=!0,i.result.then(function(t){if(t.restart)e.saveGraphModal(t.mode,t.graph,!1);else switch(t.mode){case"new":!function(t){e.configLoaded&&(t.config=e.configLoaded.id),L.addNewSavedGraph(t).success(function(n,r,i){e.lastSavedGraphName=t.name,e.lastSavedGraphId=i()["x-saved-graph-id"],e.shared=t.shared,e.refreshSavedGraphs(),u.success(b.instant("graphexplore.saved.graph",{name:t.name}))}).error(function(n,r){if(422===r)e.saveGraphModal("new",t,!0);else{const e=getError(n);u.error(e,b.instant("graphexplore.error.cannot.create.graph"))}})}(t.graph);break;case"update":case"rename":n=t.graph,L.editSavedGraph(n).success(function(){e.lastSavedGraphName=n.name,e.shared=n.shared,e.refreshSavedGraphs(),u.success(b.instant("graphexplore.saved.graph.was.edited",{name:n.name}))}).error(function(e){const t=getError(e);u.error(t,b.instant("graphexplore.error.cannot.edit"))})}var n}).finally(()=>{O--,O<=0&&(E=!1,O=0)})},e.refreshSavedGraphs=function(){L.getSavedGraphs().success(function(t){e.savedGraphs=t}).error(function(e){const t=getError(e);u.error(t,b.instant("graphexplore.error.getting.saved.graphs"))})},e.loadSavedGraph=function(t,n){t.owner?(e.lastSavedGraphName=t.name,e.lastSavedGraphId=t.id,e.shared=t.shared,e.configLoaded=e.findConfigById(t.config)):(e.lastSavedGraphName=null,e.lastSavedGraphId=null,e.shared=t.shared),e.configLoaded||(e.configLoaded=e.defaultGraphConfig),m.url("?saved="+t.id),he.restoreState(JSON.parse(t.data)),n||G({saved:t.id},{savedGraph:t})},e.copyToClipboardSavedGraph=function(t){const n=[location.protocol,"//",location.host,location.pathname,"?saved=",t.id].join("");e.copyToClipboard(n)},e.deleteSavedGraph=function(t){x.openSimpleModal({title:b.instant("common.confirm"),message:b.instant("graphexplore.confirm.delete.graph",{graphName:t.name}),warning:!0}).result.then(function(){!function(t){L.deleteSavedGraph(t).success(function(){e.refreshSavedGraphs(),u.success(b.instant("graphexplore.saved.graph.was.deleted",{name:t.name}))}).error(function(e){const t=getError(e);u.error(t,b.instant("graphexplore.error.cannot.delete"))})}(t)})},e.openIRI=function(t,n){return n.shiftKey?e.$broadcast("onRootNodeChange",t):window.open(t,"_blank"),!1},e.togglePinAllNodes=function(){Re();const t=angular.isUndefined(e.numberOfPinnedNodes)||e.numberOfPinnedNodes<=0;e.numberOfPinnedNodes=0,o.selectAll(".node").each(function(n){n.fixed=t,t?(e.numberOfPinnedNodes++,n.fx=n.x,n.fy=n.y):(n.fx=null,n.fy=null)}),we.alpha(1).restart()},$("body").on("keydown",function(t){!N.isActive()&&"input"!==t.target.nodeName&&e.nodeSelected&&(37===t.keyCode?e.rotate(!0):39===t.keyCode&&e.rotate(!1))}),e.getLiteralFromPropValue=function(e){return e.substring(e.indexOf(":")+1)}}function u(e,t,n,r){switch(e.mode=n.mode,e.graph=_.cloneDeep(n.graph),e.graphExists=n.graphExists,e.mode){case"new":e.title=r.instant("graphexplore.create.new.graph"),e.okButtonText=r.instant("common.create.btn");break;case"update":e.title=r.instant("graphexplore.update"),e.okButtonText=r.instant("common.save.btn");break;case"rename":e.title=r.instant("graphexplore.rename"),e.okButtonText=r.instant("common.save.btn")}e.ok=function(){e.form.$valid&&(e.graph.name=i(e.graph.name),t.close({graph:e.graph,mode:e.mode}))},e.saveNew=function(){e.graph.name=i(e.graph.name)+" (new)",t.close({graph:e.graph,mode:"new",restart:!0})},e.cancel=function(){t.dismiss("cancel")};const i=e=>e.replace(/\s+/g," ").trim()}angular.module("graphdb.framework.graphexplore.controllers.graphviz",["ui.scroll.jqlite","ui.scroll","toastr","ui.bootstrap","ngTagsInput","graphdb.framework.utils.localstorageadapter","graphdb.core.services.workbench-context","graphdb.framework.core.services.rdf4j.repositories"]).controller("GraphsVisualizationsCtrl",p).controller("SaveGraphModalCtrl",u).config(["$uibTooltipProvider",function(e){e.options({appendToBody:!0})}]),p.$inject=["$scope","$rootScope","$repositories","$licenseService","toastr","$timeout","ClassInstanceDetailsService","$q","$location","$jwtAuth","UiScrollService","ModalService","$uibModal","$window","LocalStorageAdapter","LSKeys","SavedGraphsRestService","GraphConfigRestService","GraphDataRestService","$translate","GuidesService","WorkbenchContextService","RDF4JRepositoriesService"],u.$inject=["$scope","$uibModalInstance","data","$translate"]},62979:(e,t,n)=>{var r,i;r=[n(93462)],void 0===(i=function(e){function t(e,t){return e.each(function(){var e=t.apply(this,arguments),n=select(this);for(var r in e)n.attr(r,e[r])})}function r(e,t){for(var n in t)e.attr(n,t[n]);return e}return void 0===e&&(e=n(93462)),e.selection.prototype.attrs=function(e){return("function"==typeof e?t:r)(this,e)},e.selection.prototype.moveToFront=function(){return this.each(function(){e.select(this.parentNode.appendChild(this))})},e.selection.prototype.moveToBack=function(){return this.each(function(){const e=this.parentNode.firstChild;e&&this.parentNode.insertBefore(this,e)})},e}.apply(t,r))||(e.exports=i)},75468:(e,t,n)=>{n.d(t,{A:()=>o});var r=n(93462);const i={select:r.select,selection:r.selection},o=function(){var e=function(){return"n"},t=function(){return[0,0]},n=function(){return" "},r=u(),o=null,a=null,s=null,c=null;function l(e){var t;o="svg"===(t=(t=e).node()).tagName.toLowerCase()?t:t.ownerSVGElement,a=o.createSVGPoint(),document.body.appendChild(r)}l.show=function(){var r=Array.prototype.slice.call(arguments);r[r.length-1]instanceof SVGElement&&(s=r.pop());var i,o=n.apply(this,r),a=t.apply(this,r),u=e.apply(this,r),h=f(),g=p.length,m=document.documentElement.scrollTop||document.body.scrollTop,y=document.documentElement.scrollLeft||document.body.scrollLeft,v=c.apply(this,r);for(h.html(o).style("opacity",1).style("pointer-events","all");g--;)h.classed(p[g],!1);const x=r.filter(e=>e instanceof Event);return i=d.get(u).apply(this,x),v?Object.keys(v).forEach(function(e){h.style(e,v[e])}):h.classed(u,!0).style("top",i.top+a[0]+m+"px").style("left",i.left+a[1]+y+"px"),l},l.hide=function(){return f().style("opacity",0).style("pointer-events","none"),l},l.attr=function(e,t){if(arguments.length<2&&"string"==typeof e)return f().attr(e);var n=Array.prototype.slice.call(arguments);return i.selection.prototype.attr.apply(f(),n),l},l.style=function(e,t){if(arguments.length<2&&"string"==typeof e)return f().style(e);var n=Array.prototype.slice.call(arguments);return i.selection.prototype.style.apply(f(),n),l},l.direction=function(t){return arguments.length?(e=null==t?t:g(t),l):e},l.offset=function(e){return arguments.length?(t=null==e?e:g(e),l):t},l.html=function(e){return arguments.length?(n=null==e?e:g(e),l):n},l.customPosition=function(e){return arguments.length?(c=null==e?e:g(e),l):c},l.destroy=function(){return r&&(f().remove(),r=null),l};var d=new Map(Object.entries({n:function(e){var t=h(e);return{top:t.n.y-r.offsetHeight,left:t.n.x-r.offsetWidth/2}},s:function(e){var t=h(e);return{top:t.s.y,left:t.s.x-r.offsetWidth/2}},e:function(e){var t=h(e);return{top:t.e.y-r.offsetHeight/2,left:t.e.x}},w:function(e){var t=h(e);return{top:t.w.y-r.offsetHeight/2,left:t.w.x-r.offsetWidth}},nw:function(e){var t=h(e);return{top:t.nw.y-r.offsetHeight,left:t.nw.x-r.offsetWidth}},ne:function(e){var t=h(e);return{top:t.ne.y-r.offsetHeight,left:t.ne.x}},sw:function(e){var t=h(e);return{top:t.sw.y,left:t.sw.x-r.offsetWidth}},se:function(e){var t=h(e);return{top:t.se.y,left:t.e.x}}})),p=d.keys();function u(){var e=i.select(document.createElement("div"));return e.style("position","absolute").style("top",0).style("opacity",0).style("pointer-events","none").style("box-sizing","border-box"),e.node()}function f(){return null===r&&(r=u(),document.body.appendChild(r)),i.select(r)}function h(e){for(var t=s||e.target;void 0===t.getScreenCTM&&"undefined"===t.parentNode;)t=t.parentNode;var n={},r=t.getScreenCTM(),i=t.getBBox(),o=i.width,c=i.height,l=i.x,d=i.y;return a.x=l,a.y=d,n.nw=a.matrixTransform(r),a.x+=o,n.ne=a.matrixTransform(r),a.y+=c,n.se=a.matrixTransform(r),a.x-=o,n.sw=a.matrixTransform(r),a.y-=c/2,n.w=a.matrixTransform(r),a.x+=o,n.e=a.matrixTransform(r),a.x-=o/2,a.y-=c/2,n.n=a.matrixTransform(r),a.y+=c,n.s=a.matrixTransform(r),n}function g(e){return"function"==typeof e?e:function(){return e}}return l}},78618:(e,t,n)=>{n.r(t),n.d(t,{removeSpecialChars:()=>i,toBoolean:()=>o,toTitleCase:()=>a});var r=n(98980);const i=e=>e.replace(/[()']/g,""),o=e=>"string"==typeof e?"true"===e:Boolean(e),a=e=>e?(0,r.upperFirst)(e.toLowerCase()):e}};
2
+ //# sourceMappingURL=39518.36f3863a01e9cd2d93fd.bundle.js.map