graphdb-workbench 2.2.3 → 2.2.4-TR2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (160) hide show
  1. package/dist/{102.7141102a059ef5eba1ea.bundle.js → 102.d52dc777ce7b5de1a30a.bundle.js} +2 -2
  2. package/dist/{102.7141102a059ef5eba1ea.bundle.js.map → 102.d52dc777ce7b5de1a30a.bundle.js.map} +1 -1
  3. package/dist/{104.ecd04b9cba294e159ca5.bundle.js → 104.09c8b5802e53cd9dced9.bundle.js} +2 -2
  4. package/dist/{104.ecd04b9cba294e159ca5.bundle.js.map → 104.09c8b5802e53cd9dced9.bundle.js.map} +1 -1
  5. package/dist/{107.5972b71755d2f24f6f44.bundle.js → 107.481f84627ac231f49e56.bundle.js} +2 -2
  6. package/dist/{107.5972b71755d2f24f6f44.bundle.js.map → 107.481f84627ac231f49e56.bundle.js.map} +1 -1
  7. package/dist/108.d61b0e4a54e1d0e6550d.bundle.js +2 -0
  8. package/dist/{108.162ea156d1fc4ad2525f.bundle.js.map → 108.d61b0e4a54e1d0e6550d.bundle.js.map} +1 -1
  9. package/dist/{11.f7cb87be309f6bd00aa5.bundle.js → 11.89d3de4f2e80e373ecf2.bundle.js} +3 -3
  10. package/dist/{11.f7cb87be309f6bd00aa5.bundle.js.map → 11.89d3de4f2e80e373ecf2.bundle.js.map} +1 -1
  11. package/dist/{115.abb22e52d5886ed645c1.bundle.js → 115.36a12f5a0804f33cb569.bundle.js} +2 -2
  12. package/dist/{115.abb22e52d5886ed645c1.bundle.js.map → 115.36a12f5a0804f33cb569.bundle.js.map} +1 -1
  13. package/dist/{117.ed07ffe3ff3bead9b43b.bundle.js → 117.9c58e6155d7467c45284.bundle.js} +2 -2
  14. package/dist/{117.ed07ffe3ff3bead9b43b.bundle.js.map → 117.9c58e6155d7467c45284.bundle.js.map} +1 -1
  15. package/dist/{118.57c922b04fbcf0d65d1c.bundle.js → 118.7cdbf2a7be83e4cdc7e2.bundle.js} +2 -2
  16. package/dist/{118.57c922b04fbcf0d65d1c.bundle.js.map → 118.7cdbf2a7be83e4cdc7e2.bundle.js.map} +1 -1
  17. package/dist/{119.7b75484ef37c16039937.bundle.js → 119.f7c106efa2582220baa7.bundle.js} +2 -2
  18. package/dist/{119.7b75484ef37c16039937.bundle.js.map → 119.f7c106efa2582220baa7.bundle.js.map} +1 -1
  19. package/dist/{12.eb41e4af80fee51d893c.bundle.js → 12.b4ac6d1ff3d669d3e63f.bundle.js} +2 -2
  20. package/dist/{12.eb41e4af80fee51d893c.bundle.js.map → 12.b4ac6d1ff3d669d3e63f.bundle.js.map} +1 -1
  21. package/dist/{120.0f42d5a0967c1f4636ca.bundle.js → 120.d20d9e20e2d3c5476f8d.bundle.js} +2 -2
  22. package/dist/{120.0f42d5a0967c1f4636ca.bundle.js.map → 120.d20d9e20e2d3c5476f8d.bundle.js.map} +1 -1
  23. package/dist/{121.f85253eb7e057efdb05d.bundle.js → 121.dc96efcaf4dc5e63f58d.bundle.js} +2 -2
  24. package/dist/{121.f85253eb7e057efdb05d.bundle.js.map → 121.dc96efcaf4dc5e63f58d.bundle.js.map} +1 -1
  25. package/dist/{126.349ebcea493c77fecf7e.bundle.js → 126.4c2fb40676d2508bbc65.bundle.js} +2 -2
  26. package/dist/{126.349ebcea493c77fecf7e.bundle.js.map → 126.4c2fb40676d2508bbc65.bundle.js.map} +1 -1
  27. package/dist/{13.bc3607638ad1e2068125.bundle.js → 13.f6b8f9a2288e2485ee20.bundle.js} +2 -2
  28. package/dist/{13.bc3607638ad1e2068125.bundle.js.map → 13.f6b8f9a2288e2485ee20.bundle.js.map} +1 -1
  29. package/dist/148.45985ae23de642595544.bundle.js +1 -1
  30. package/dist/148.45985ae23de642595544.bundle.js.map +1 -1
  31. package/dist/16.2ca98f5bec0fae221cef.bundle.js +3 -0
  32. package/dist/{16.cd06772f9e031d37db03.bundle.js.map → 16.2ca98f5bec0fae221cef.bundle.js.map} +1 -1
  33. package/dist/{17.45b5c34f6c73bde1113d.bundle.js → 17.b19a2d3870590d21e8e9.bundle.js} +2 -2
  34. package/dist/{17.45b5c34f6c73bde1113d.bundle.js.map → 17.b19a2d3870590d21e8e9.bundle.js.map} +1 -1
  35. package/dist/{19.92f27dd146df127e8d6e.bundle.js → 19.34c180252e48207f01b4.bundle.js} +3 -3
  36. package/dist/{19.92f27dd146df127e8d6e.bundle.js.map → 19.34c180252e48207f01b4.bundle.js.map} +1 -1
  37. package/dist/20.9e9e388a98851c65f8f7.bundle.js +2 -0
  38. package/dist/{20.4eb25ede434dc329ecf1.bundle.js.map → 20.9e9e388a98851c65f8f7.bundle.js.map} +1 -1
  39. package/dist/21.8434e1ecb6fcfa06e1f1.bundle.js +2 -0
  40. package/dist/21.8434e1ecb6fcfa06e1f1.bundle.js.map +1 -0
  41. package/dist/{23.16fc17b0a8983ce3d809.bundle.js → 23.22e3720d741ee87c8108.bundle.js} +2 -2
  42. package/dist/{23.16fc17b0a8983ce3d809.bundle.js.map → 23.22e3720d741ee87c8108.bundle.js.map} +1 -1
  43. package/dist/{24.04d84edbd8f93d036633.bundle.js → 24.63acd0fc451fc797ff79.bundle.js} +2 -2
  44. package/dist/{24.04d84edbd8f93d036633.bundle.js.map → 24.63acd0fc451fc797ff79.bundle.js.map} +1 -1
  45. package/dist/{26.3a642e64c7803f3b32f1.bundle.js → 26.194b2d09daa679b7e09c.bundle.js} +2 -2
  46. package/dist/{26.3a642e64c7803f3b32f1.bundle.js.map → 26.194b2d09daa679b7e09c.bundle.js.map} +1 -1
  47. package/dist/27.35fe33bb9622c2e29c43.bundle.js +2 -0
  48. package/dist/{27.fef157d9275358c9f1a0.bundle.js.map → 27.35fe33bb9622c2e29c43.bundle.js.map} +1 -1
  49. package/dist/{29.a1b30610d7960a86b1cb.bundle.js → 29.e4eadb676659c5d6e44b.bundle.js} +3 -3
  50. package/dist/{29.a1b30610d7960a86b1cb.bundle.js.map → 29.e4eadb676659c5d6e44b.bundle.js.map} +1 -1
  51. package/dist/{30.3a05504ff287ca6df711.bundle.js → 30.0fb90b3cdf78fcde6251.bundle.js} +2 -2
  52. package/dist/{30.3a05504ff287ca6df711.bundle.js.map → 30.0fb90b3cdf78fcde6251.bundle.js.map} +1 -1
  53. package/dist/{31.13d5a8e9834cd5db589c.bundle.js → 31.8dd9fe71d36bd04a0433.bundle.js} +2 -2
  54. package/dist/{31.13d5a8e9834cd5db589c.bundle.js.map → 31.8dd9fe71d36bd04a0433.bundle.js.map} +1 -1
  55. package/dist/{32.59a7369287d15e8b9ab6.bundle.js → 32.8e1c25a47debdf5145d8.bundle.js} +2 -2
  56. package/dist/{32.59a7369287d15e8b9ab6.bundle.js.map → 32.8e1c25a47debdf5145d8.bundle.js.map} +1 -1
  57. package/dist/33.89b51420b48880728b96.bundle.js +2 -0
  58. package/dist/33.89b51420b48880728b96.bundle.js.map +1 -0
  59. package/dist/{35.fe688fc32270724c391d.bundle.js → 35.a9846fba95e98a294957.bundle.js} +2 -2
  60. package/dist/{35.fe688fc32270724c391d.bundle.js.map → 35.a9846fba95e98a294957.bundle.js.map} +1 -1
  61. package/dist/{36.7da22f08c8e850885cc5.bundle.js → 36.4dbd0f9007404b0adbe2.bundle.js} +2 -2
  62. package/dist/{36.7da22f08c8e850885cc5.bundle.js.map → 36.4dbd0f9007404b0adbe2.bundle.js.map} +1 -1
  63. package/dist/37.ac99eb00fe71266c5bff.bundle.js +2 -0
  64. package/dist/{37.8a9855206d5ae5eba9be.bundle.js.map → 37.ac99eb00fe71266c5bff.bundle.js.map} +1 -1
  65. package/dist/{39.0eebc4b972cff879c1c9.bundle.js → 39.8f8ae5c232bd2f023e7c.bundle.js} +2 -2
  66. package/dist/{39.0eebc4b972cff879c1c9.bundle.js.map → 39.8f8ae5c232bd2f023e7c.bundle.js.map} +1 -1
  67. package/dist/4.5391679fa01c55e842cc.bundle.js +2 -0
  68. package/dist/4.5391679fa01c55e842cc.bundle.js.map +1 -0
  69. package/dist/{40.10f42e3f6d8d87bd3221.bundle.js → 40.50f010a0a0ce99da5092.bundle.js} +2 -2
  70. package/dist/{40.10f42e3f6d8d87bd3221.bundle.js.map → 40.50f010a0a0ce99da5092.bundle.js.map} +1 -1
  71. package/dist/{41.368780c518c3f6cab4b7.bundle.js → 41.d09e0f01eac3492e3376.bundle.js} +2 -2
  72. package/dist/{41.368780c518c3f6cab4b7.bundle.js.map → 41.d09e0f01eac3492e3376.bundle.js.map} +1 -1
  73. package/dist/{42.1a48ae582180fa6374f9.bundle.js → 42.9561ff9cd77df0f86a91.bundle.js} +2 -2
  74. package/dist/{42.1a48ae582180fa6374f9.bundle.js.map → 42.9561ff9cd77df0f86a91.bundle.js.map} +1 -1
  75. package/dist/{43.64268be8880acd392fee.bundle.js → 43.0400aae23dac518b78ec.bundle.js} +2 -2
  76. package/dist/{43.64268be8880acd392fee.bundle.js.map → 43.0400aae23dac518b78ec.bundle.js.map} +1 -1
  77. package/dist/{53.58a23efc22865c67d57d.bundle.js → 53.54b20545d5504efa8958.bundle.js} +2 -2
  78. package/dist/{53.58a23efc22865c67d57d.bundle.js.map → 53.54b20545d5504efa8958.bundle.js.map} +1 -1
  79. package/dist/{54.1e2e99cd8cdf20b99a4f.bundle.js → 54.81f97307e31f5eabb5f0.bundle.js} +2 -2
  80. package/dist/{54.1e2e99cd8cdf20b99a4f.bundle.js.map → 54.81f97307e31f5eabb5f0.bundle.js.map} +1 -1
  81. package/dist/{55.693c1a0dd775181e1e29.bundle.js → 55.e8df33b84ca578a9a633.bundle.js} +2 -2
  82. package/dist/{55.693c1a0dd775181e1e29.bundle.js.map → 55.e8df33b84ca578a9a633.bundle.js.map} +1 -1
  83. package/dist/{56.62459de7af529d956b75.bundle.js → 56.d765faad673f618d41b0.bundle.js} +2 -2
  84. package/dist/{56.62459de7af529d956b75.bundle.js.map → 56.d765faad673f618d41b0.bundle.js.map} +1 -1
  85. package/dist/{60.2cb24e628b92cb3e0210.bundle.js → 60.f13766507ec5f29fde78.bundle.js} +2 -2
  86. package/dist/{60.2cb24e628b92cb3e0210.bundle.js.map → 60.f13766507ec5f29fde78.bundle.js.map} +1 -1
  87. package/dist/{65.6c12c48ac0d6f57a5079.bundle.js → 65.aa9736b7aad2582ca7ea.bundle.js} +2 -2
  88. package/dist/{65.6c12c48ac0d6f57a5079.bundle.js.map → 65.aa9736b7aad2582ca7ea.bundle.js.map} +1 -1
  89. package/dist/{67.5ae0610f77a1455ce92b.bundle.js → 67.e7bd652fadf93be1fbae.bundle.js} +2 -2
  90. package/dist/{67.5ae0610f77a1455ce92b.bundle.js.map → 67.e7bd652fadf93be1fbae.bundle.js.map} +1 -1
  91. package/dist/{69.90776e70cb361d1ac6d5.bundle.js → 69.6b915e6a7a9c36a78e2b.bundle.js} +2 -2
  92. package/dist/{69.90776e70cb361d1ac6d5.bundle.js.map → 69.6b915e6a7a9c36a78e2b.bundle.js.map} +1 -1
  93. package/dist/{71.3e927496e6e4175a3127.bundle.js → 71.624ca936339bf337e46a.bundle.js} +2 -2
  94. package/dist/{71.3e927496e6e4175a3127.bundle.js.map → 71.624ca936339bf337e46a.bundle.js.map} +1 -1
  95. package/dist/{72.bc99fbec188b4e49aa53.bundle.js → 72.3a5620a182219e9ea05d.bundle.js} +2 -2
  96. package/dist/{72.bc99fbec188b4e49aa53.bundle.js.map → 72.3a5620a182219e9ea05d.bundle.js.map} +1 -1
  97. package/dist/{73.40b5cbae08c7f3a58438.bundle.js → 73.f162e544378754078826.bundle.js} +2 -2
  98. package/dist/{73.40b5cbae08c7f3a58438.bundle.js.map → 73.f162e544378754078826.bundle.js.map} +1 -1
  99. package/dist/{74.cc42a1dcef7e9b830354.bundle.js → 74.7595755907badb1a99b8.bundle.js} +2 -2
  100. package/dist/{74.cc42a1dcef7e9b830354.bundle.js.map → 74.7595755907badb1a99b8.bundle.js.map} +1 -1
  101. package/dist/{75.31d1a4766c80c90b2afc.bundle.js → 75.4cc7ff534d56a05c578a.bundle.js} +2 -2
  102. package/dist/{75.31d1a4766c80c90b2afc.bundle.js.map → 75.4cc7ff534d56a05c578a.bundle.js.map} +1 -1
  103. package/dist/{76.89d209ce08efa7429e87.bundle.js → 76.cd0cfea4c96e88230dbe.bundle.js} +2 -2
  104. package/dist/{76.89d209ce08efa7429e87.bundle.js.map → 76.cd0cfea4c96e88230dbe.bundle.js.map} +1 -1
  105. package/dist/{77.64c49e9e99b0ae3fbbca.bundle.js → 77.df7767b1a0a3a0efa202.bundle.js} +2 -2
  106. package/dist/{77.64c49e9e99b0ae3fbbca.bundle.js.map → 77.df7767b1a0a3a0efa202.bundle.js.map} +1 -1
  107. package/dist/{79.0fbaedffc1f583a6064f.bundle.js → 79.4d64b377b0308809136f.bundle.js} +2 -2
  108. package/dist/{79.0fbaedffc1f583a6064f.bundle.js.map → 79.4d64b377b0308809136f.bundle.js.map} +1 -1
  109. package/dist/{80.6d489af9482e358c8dd8.bundle.js → 80.36e424031127d1743f20.bundle.js} +2 -2
  110. package/dist/{80.6d489af9482e358c8dd8.bundle.js.map → 80.36e424031127d1743f20.bundle.js.map} +1 -1
  111. package/dist/{94.94158487a9024ff3a623.bundle.js → 94.b1ccdd207229ae57569f.bundle.js} +2 -2
  112. package/dist/{94.94158487a9024ff3a623.bundle.js.map → 94.b1ccdd207229ae57569f.bundle.js.map} +1 -1
  113. package/dist/{97.48e14b67906b4d61a1b1.bundle.js → 97.951e03ffd2d5a10f868d.bundle.js} +2 -2
  114. package/dist/{97.48e14b67906b4d61a1b1.bundle.js.map → 97.951e03ffd2d5a10f868d.bundle.js.map} +1 -1
  115. package/dist/{98.cc7086155b76601af017.bundle.js → 98.745b4c457214d4189d7a.bundle.js} +2 -2
  116. package/dist/{98.cc7086155b76601af017.bundle.js.map → 98.745b4c457214d4189d7a.bundle.js.map} +1 -1
  117. package/dist/{bundle.d34ddcc40dd190254f1c.bundle.js → bundle.651116fe2383a66f32c9.bundle.js} +21 -21
  118. package/dist/{bundle.d34ddcc40dd190254f1c.bundle.js.map → bundle.651116fe2383a66f32c9.bundle.js.map} +1 -1
  119. package/dist/index.html +3 -3
  120. package/dist/js/angular/core/directives/rdfresourcesearch/templates/rdfResourceSearchTemplate.html +1 -1
  121. package/dist/pages/autocomplete.html +1 -1
  122. package/dist/pages/choose-repository-type.html +1 -1
  123. package/dist/pages/cluster-management/clusterInfo.html +3 -3
  124. package/dist/pages/create-index.html +4 -4
  125. package/dist/pages/dependencies.html +1 -1
  126. package/dist/pages/domainRangeInfo.html +2 -2
  127. package/dist/pages/edit.html +1 -1
  128. package/dist/pages/explore.html +1 -1
  129. package/dist/pages/export.html +1 -1
  130. package/dist/pages/find.html +1 -1
  131. package/dist/pages/graph-config/saveGraphConfig.html +11 -11
  132. package/dist/pages/graphs-visualizations.html +7 -7
  133. package/dist/pages/guides.html +1 -1
  134. package/dist/pages/import.html +1 -1
  135. package/dist/pages/jdbc-create.html +5 -5
  136. package/dist/pages/monitor/queries.html +1 -1
  137. package/dist/pages/monitor/resources.html +2 -2
  138. package/dist/pages/namespaces.html +2 -2
  139. package/dist/pages/plugins.html +1 -1
  140. package/dist/pages/rdfClassHierarchyInfo.html +7 -7
  141. package/dist/pages/rdfrank.html +2 -2
  142. package/dist/pages/repositories.html +2 -2
  143. package/dist/pages/repository.html +2 -2
  144. package/dist/pages/similarity-indexes.html +1 -1
  145. package/dist/pages/sparql-template-create.html +5 -5
  146. package/dist/pages/sparql.html +3 -3
  147. package/dist/pages/webapi.html +2 -2
  148. package/dist/res/swagger/index.html +27 -27
  149. package/package.json +1 -1
  150. package/dist/108.162ea156d1fc4ad2525f.bundle.js +0 -2
  151. package/dist/16.cd06772f9e031d37db03.bundle.js +0 -3
  152. package/dist/20.4eb25ede434dc329ecf1.bundle.js +0 -2
  153. package/dist/21.5586732af2e5cec0d05a.bundle.js +0 -2
  154. package/dist/21.5586732af2e5cec0d05a.bundle.js.map +0 -1
  155. package/dist/27.fef157d9275358c9f1a0.bundle.js +0 -2
  156. package/dist/33.fde8076c81c87c25c367.bundle.js +0 -2
  157. package/dist/33.fde8076c81c87c25c367.bundle.js.map +0 -1
  158. package/dist/37.8a9855206d5ae5eba9be.bundle.js +0 -2
  159. package/dist/4.ca3eb6b5da0890c0abe0.bundle.js +0 -2
  160. package/dist/4.ca3eb6b5da0890c0abe0.bundle.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["webpack:///./src/js/lib/common/d3-utils.js","webpack:///./src/js/lib/common/svg-export.js","webpack:///./src/js/angular/graphexplore/directives/domain-range-graph.directive.js"],"names":["D3","Text","calcFontSizeRaw","text","radius","minimumSize","isMultiline","textSize","substring","length","match","Math","round","calcFontSize","getTextWithElipsisIfNeeded","str","threshold","Transition","fadeIn","sel","duration","style","transition","fadeOut","Click","delayDblClick","event","d3","dispatch","rebind","selection","down","wait","on","mouse","document","body","Date","d","a","b","sqrt","pow","window","clearTimeout","dblclick","setTimeout","click","SVG","Export","getCSSRules","cssSourceFilePath","cssRules","$","sheet","rules","cssStr","_","each","value","cssText","generateBase64ImageSource","exportSvg","selectAll","attr","version","xmlns","node","parentNode","innerHTML","btoa","unescape","encodeURIComponent","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","prototype","moveToFront","this","select","appendChild","moveToBack","firstChild","insertBefore","force","layout","size","charge","drag","classed","selected","svg","append","defs","id","viewBox","refX","refY","markerUnits","markerWidth","markerHeight","orient","fill","class","imgSrc","href","download","getActiveRepository","legendCellGroup","width","height","targetX","legendTextX","cx","cy","r","x","y","classNodeY","objectNodeTextY","x1","y1","datatypeNodeY","x2","y2","absUrl","basicPropertyArrowY","collapsedPropArrowY","g","selectedRdfUri","search","uri","classNodeLabel","name","collapsed","getDomainRangeData","success","response","status","headers","domainRangeGraphData","error","set","DOMAIN_RANGE_WENT_BACK","onpopstate","state","$broadcast","$watch","angular","isUndefined","DOMAIN_RANGE_COLLAPSE_EDGES","get","switchEdgeMode","remove","graph","copy","nodes","links","linkGroup","data","enter","styleArrowsInCollapsedMode","loopLink","loopLinkEdgeCount","objectPropNodeClassUri","propertyType","targetRadius","targetNodeEdgeCount","implicit","previousPropertyNameSelection","disableCollapsedPredicateLabelHightlighting","isEmptyObject","background","onCollapsedPropertyNameClick","previousSibling","stopPropagation","ready","bind","propertyNames","test","open","linkRect","calculatedWidth","getBBox","textPadding","calculatedHeight","translateX","nodeGroup","filter","objectPropClassUri","classPosition","objectPropClassName","call","$apply","rdfClassName","classNode","loopLinkBackgroundSel","loopLinkPropertyName","loopLinkBackgroundProps","i","push","idx","e","k","alpha","positionLoopLinkBackgrounds","loopLinkBackgroundY","loopLinkBackgroundX","allLoopLinkEdges","dd","foundLoopLinkBackgroundProps","grep","obj","parseFloat","transform","reposition","viewMoreTextWidth","target","allEdges","getComputedTextLength","adjustViewMorePredicatesLabel","source","targetY","pushEdgesToLeftAndRight","angle","atan2","cos","sin","loopTranslateX","mainClassSize","loopTranslateY","positionLoopLink","currentBackgroundHeight","loopLinkLabelX","loopLinkLabelY","predicatesLeft","labelSel","backgroundSel","nextSibling","createViewMorePredicatesLabel","positionLoopLinkLabels","log10","log","LN10","absDiff","logOffset","abs","centerClassNode","linkDistance","start","renderDomainRangeGraph","$on","cancel","module","constant","directive","$inject"],"mappings":"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","file":"33.89b51420b48880728b96.bundle.js","sourcesContent":["var D3 = D3 || {};\n\nD3.Text = function () {\n function calcFontSizeRaw(text, radius, minimumSize, isMultiline) {\n minimumSize = minimumSize || 10;\n\n var textSize = radius / 3;\n if (typeof text === \"string\") {\n var len = text.substring(0, radius / 3).length + 1.5;\n textSize *= 10 / len;\n textSize += 1;\n // experimental alternative method:\n // var textSize = 3.3 * radius / text.length;\n\n // Tweak for Indian scripts and CJK ones\n if (text.match(/[\\u0900-\\u0DFF\\u1100-\\u11FF\\u2E80-\\u2EFF\\u3000-\\u9FFF]/)) {\n textSize *= 0.6;\n }\n\n if (textSize < minimumSize) {\n textSize = minimumSize;\n }\n\n /* Disabled for the time being, better without this\n if (isMultiline) {\n var numWords = text.split(/\\s+/).length;\n if (numWords > 1) {\n if (numWords > 4) {\n numWords = 4;\n }\n textSize += textSize * (4 - numWords) * 0.1;\n }\n }\n */\n\n return Math.round(textSize);\n }\n\n if (textSize < minimumSize) {\n textSize = minimumSize;\n }\n\n return Math.round(textSize);\n }\n\n function calcFontSize(text, radius, minimumSize, isMultiline) {\n return calcFontSizeRaw(text, radius, minimumSize, isMultiline) + 'px';\n }\n\n function getTextWithElipsisIfNeeded(str, threshold) {\n if (typeof str === \"string\") {\n if (str.length > threshold) {\n return str.substring(0, threshold - 3) + \"...\";\n }\n }\n return str;\n }\n\n return {\n calcFontSizeRaw: calcFontSizeRaw,\n calcFontSize: calcFontSize,\n getTextWithElipsisIfNeeded: getTextWithElipsisIfNeeded\n };\n}();\n\nD3.Transition = function () {\n function fadeIn(sel, duration) {\n sel.style(\"opacity\", 0.0)\n .transition()\n .duration(duration)\n .style(\"opacity\", 1.0);\n }\n\n function fadeOut(sel, duration) {\n sel.style(\"opacity\", 1.0)\n .transition()\n .duration(duration)\n .style(\"opacity\", 0.0);\n }\n\n return {\n fadeIn: fadeIn,\n fadeOut: fadeOut\n };\n}();\n\nD3.Click = function () {\n function delayDblClick() {\n var event = d3.dispatch('click', 'dblclick');\n\n function cc(selection) {\n var down,\n tolerance = 5,\n last,\n wait = null;\n\n // euclidean distance\n function dist(a, b) {\n return Math.sqrt(Math.pow(a[0] - b[0], 2), Math.pow(a[1] - b[1], 2));\n }\n\n selection.on('mousedown', function () {\n down = d3.mouse(document.body);\n last = +new Date();\n });\n selection.on('mouseup', function (d) {\n if (dist(down, d3.mouse(document.body)) > tolerance) {\n return;\n } else {\n if (wait) {\n window.clearTimeout(wait);\n wait = null;\n event.dblclick(d);\n } else {\n wait = window.setTimeout((function (e) {\n return function () {\n event.click(d);\n wait = null;\n };\n })(d3.event), 250);\n }\n }\n });\n }\n\n return d3.rebind(cc, event, 'on');\n }\n\n return {\n delayDblClick: delayDblClick\n };\n}();\n\nexport default D3;\n","var SVG = SVG || {};\n\nSVG.Export = function () {\n function getCSSRules(cssSourceFilePath) {\n var cssRules = $('link[href=\"' + cssSourceFilePath + '\"]')[0].sheet.rules;\n var cssStr = \"\";\n _.each(cssRules, function (value) {\n cssStr += value.cssText;\n });\n return cssStr;\n }\n\n function generateBase64ImageSource() {\n // add needed xml namespace\n var exportSvg = d3.selectAll(\"svg\")\n .attr({\n version: \"1.1\",\n xmlns: \"http://www.w3.org/2000/svg\"\n })\n .node().parentNode.innerHTML;\n\n // convert selected html to base64\n return \"data:image/svg+xml;charset=utf-8;base64,\" + btoa(unescape(encodeURIComponent(exportSvg)));\n }\n\n return {\n getCSSRules: getCSSRules,\n generateBase64ImageSource: generateBase64ImageSource\n };\n}();\n\nexport default SVG;\n","import SVG from 'lib/common/svg-export';\nimport D3 from 'lib/common/d3-utils';\nimport 'angular/utils/local-storage-adapter';\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(--onto-orange)')\n .constant('ONTO_GREEN', 'var(--onto-green)')\n .constant('ONTO_BLUE', 'var(--onto-blue)')\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 d3.selection.prototype.moveToFront = function () {\n return this.each(function () {\n d3.select(this.parentNode.appendChild(this));\n });\n };\n\n d3.selection.prototype.moveToBack = function () {\n return this.each(function () {\n const firstChild = this.parentNode.firstChild;\n if (firstChild) {\n this.parentNode.insertBefore(this, firstChild);\n }\n });\n };\n\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\n var force = d3.layout.force()\n .size([width, height])\n .charge(-900);\n\n var drag = force.drag()\n .on(\"dragstart\", dragstart);\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 defs = svg.append(\"defs\");\n\n defs.append(\"marker\")\n .attr({\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 .attr({\n d: \"M0,-5L10,0L0,5\",\n class: \"arrowHead\"\n });\n\n defs.append(\"marker\")\n .attr({\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 .attr({\n d: \"M0,-5L10,0L0,5\",\n class: \"arrowHead\"\n });\n\n defs.append(\"marker\")\n .attr({\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 .attr({\n d: \"M0,-5L10,0L0,5\",\n class: \"arrowHead\"\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=2.2.4-TR2\");\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();\n\n // set the binary image and a name for the downloadable file on the export button\n d3.select(this).attr({\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 // start of code for legend\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 .attr({\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 .attr({\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 .attr({\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 .attr({\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 .attr({\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 .attr({\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 .attr({\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 var classNodeSel = d3.select('.legend-class-node');\n legendCellGroup\n .append(\"line\")\n .attr({\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 .attr({\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 .attr({\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 .attr({\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 .attr({\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 .attr({\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 // there doesn't seem to be a need for a separate group\n var g = svg; //svg.append(\"g\");\n\n var selectedRdfUri = $location.search().uri;\n var classNodeLabel = $location.search().name;\n var collapsed = $location.search().collapsed;\n\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 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 = angular.copy(scope.domainRangeGraphData);\n\n force\n .nodes(graph.nodes)\n .links(graph.links);\n\n var linkGroup = g.selectAll(\".link\")\n .data(graph.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 .attr({\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 .attr({\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(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 d3.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 (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 (d) {\n d3.event.stopPropagation();\n });\n\n\n var nodeGroup = g.selectAll(\".node\")\n .data(graph.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.attr({\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.attr({\n class: \"datatype-node\",\n r: datatypeSize\n });\n } else {\n sel.attr({\n class: \"object-prop-node\",\n r: otherClassSize\n });\n }\n })\n .call(drag);\n\n\n function reloadDomainRangeGraphView(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 (d) {\n $window.open(\"resource?uri=\" + encodeURIComponent(d.objectPropClassUri), \"_blank\");\n });\n\n var objectPropClassName = nodeGroup.select(\"text\");\n\n g.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 (d) {\n $window.open(\"resource?uri=\" + encodeURIComponent(selectedRdfUri), \"_blank\");\n });\n });\n\n\n var rdfClassName = g.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 * e.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 .attr({\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 .attr({\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\n force\n .on(\"tick\", tick)\n .linkDistance(width / 3.5)\n .start();\n\n }\n });\n\n function dragstart(d) {\n d3.select(this)\n .classed(\"selected\", d.selected = true);\n }\n }\n}\n"],"sourceRoot":""}
@@ -1,2 +1,2 @@
1
- (window.webpackJsonp=window.webpackJsonp||[]).push([[35,56],{111:function(e,t,o){"use strict";o.r(t);o(67);angular.module("graphdb.framework.autocomplete",["ngRoute","graphdb.framework.autocomplete.controllers"])},67:function(e,t,o){"use strict";o.r(t);o(18);function n(e,t,o,n,r,c,i,u,a,l){let s;function d(){s&&t.cancel(s)}e.pluginName="autocomplete",e.setPluginIsActive=function(t){e.pluginIsActive=t};const f=function(){u.checkAutocompleteStatus().success((function(t){e.autocompleteEnabled=t,a.setAutocompleteStatus(t)})).error((function(e){o.error(getError(e))}))},p=function(){u.refreshIndexIRIs().success((function(t){e.shouldIndexIRIs=t})).error((function(e){o.error(getError(e))}))},g=function(){u.refreshIndexStatus().success((function(t){e.indexStatus=t})).error((function(e){o.error(getError(e))}))},m=function(){u.refreshLabelConfig().success((function(t){e.labelConfig=t})).error((function(e){o.error(getError(e))}))};e.checkForPlugin=function(){e.pluginFound=!1,e.setLoader(!0),u.checkForPlugin().success((function(t){e.pluginFound=!0===t,e.pluginFound?(f(),p(),g(),m()):(e.autocompleteEnabled=!1,e.loading=!1)})).error((function(e){o.error(getError(e))})).finally((function(){e.setLoader(!1)}))};const b=function(){s=t((function(){e.$broadcast("checkIsActive"),e.autocompleteEnabled&&g()}),5e3)};e.$on("$destroy",(function(){d()}));e.setLoader=function(t,o){i.cancel(e.loaderTimeout),t?e.loaderTimeout=i((function(){e.loader=t,e.loaderMessage=o}),300):e.loader=!1},e.getLoaderMessage=function(){return e.loaderMessage||l.instant("common.loading")},e.toggleAutocomplete=function(){const t=!e.autocompleteEnabled;e.setLoader(!0,t?l.instant("autocomplete.enabling"):l.instant("autocomplete.disabling")),u.toggleAutocomplete(t).success((function(){f(),g()})).error((function(e){o.error(getError(e))})).finally((function(){e.setLoader(!1)}))},e.toggleIndexIRIs=function(){e.setLoader(!0,l.instant("autocomplete.index.iri")),u.toggleIndexIRIs(!e.shouldIndexIRIs).success((function(){p(),g()})).error((function(e){o.error(getError(e))})).finally((function(){e.setLoader(!1)}))},e.buildIndex=function(){e.setLoader(!0,l.instant("autocomplete.index.build")),u.buildIndex().success((function(){e.indexStatus="BUILDING"})).error((function(e){o.error(getError(e))})).finally((function(){e.setLoader(!1)}))},e.interruptIndexing=function(){e.setLoader(!0,l.instant("index.interrupt")),u.interruptIndexing().success((function(){g()})).error((function(e){o.error(getError(e))})).finally((function(){e.setLoader(!1)}))},e.getDegradedReason=function(){return n.getDegradedReason()},e.addLabel=function(){e.editLabel({labelIri:"",languages:""},!0)},e.editLabel=function(t,n){c.open({templateUrl:"js/angular/autocomplete/templates/modal/add-label.html",controller:"AddLabelCtrl",resolve:{data:function(){return{label:t,isNew:n}}}}).result.then((function(t){!function(t){e.setLoader(!0,l.instant("autocomplete.update")),u.addLabelConfig(t).success((function(){m(),g()})).error((function(e){o.error(getError(e))})).finally((function(){e.setLoader(!1)}))}(t)}))},e.removeLabel=function(t){!function(t){e.setLoader(!0,l.instant("autocomplete.update")),u.removeLabelConfig(t).success((function(){m(),g()})).error((function(e){o.error(getError(e))})).finally((function(){e.setLoader(!1)}))}(t)},e.$on("repositoryIsSet",(function(){d(),r.isLicenseValid()&&n.getActiveRepository()&&!n.isActiveRepoOntopType()&&!n.isActiveRepoFedXType()&&(e.checkForPlugin(),b())})),r.isLicenseValid()&&n.getActiveRepository()&&!n.isActiveRepoOntopType()&&!n.isActiveRepoFedXType()&&(e.checkForPlugin(),b())}function r(e,t,o,n){e.label=angular.copy(n.label),e.isNew=n.isNew,e.ok=function(){e.form.$valid&&t.close(e.label)},e.cancel=function(){t.dismiss("cancel")},e.setTemplate=function(t){e.label.labelIri=t,o((function(){$("#wb-autocomplete-languages").focus()}),0)}}angular.module("graphdb.framework.autocomplete.controllers",["toastr","graphdb.framework.rest.autocomplete.service"]).controller("AutocompleteCtrl",n).controller("AddLabelCtrl",r),n.$inject=["$scope","$interval","toastr","$repositories","$licenseService","$uibModal","$timeout","AutocompleteRestService","$autocompleteStatus","$translate"],r.$inject=["$scope","$uibModalInstance","$timeout","data"]}}]);
2
- //# sourceMappingURL=35.fe688fc32270724c391d.bundle.js.map
1
+ (window.webpackJsonp=window.webpackJsonp||[]).push([[35,56],{111:function(e,t,o){"use strict";o.r(t);o(68);angular.module("graphdb.framework.autocomplete",["ngRoute","graphdb.framework.autocomplete.controllers"])},68:function(e,t,o){"use strict";o.r(t);o(18);function n(e,t,o,n,r,c,i,u,a,l){let s;function d(){s&&t.cancel(s)}e.pluginName="autocomplete",e.setPluginIsActive=function(t){e.pluginIsActive=t};const f=function(){u.checkAutocompleteStatus().success((function(t){e.autocompleteEnabled=t,a.setAutocompleteStatus(t)})).error((function(e){o.error(getError(e))}))},p=function(){u.refreshIndexIRIs().success((function(t){e.shouldIndexIRIs=t})).error((function(e){o.error(getError(e))}))},g=function(){u.refreshIndexStatus().success((function(t){e.indexStatus=t})).error((function(e){o.error(getError(e))}))},m=function(){u.refreshLabelConfig().success((function(t){e.labelConfig=t})).error((function(e){o.error(getError(e))}))};e.checkForPlugin=function(){e.pluginFound=!1,e.setLoader(!0),u.checkForPlugin().success((function(t){e.pluginFound=!0===t,e.pluginFound?(f(),p(),g(),m()):(e.autocompleteEnabled=!1,e.loading=!1)})).error((function(e){o.error(getError(e))})).finally((function(){e.setLoader(!1)}))};const b=function(){s=t((function(){e.$broadcast("checkIsActive"),e.autocompleteEnabled&&g()}),5e3)};e.$on("$destroy",(function(){d()}));e.setLoader=function(t,o){i.cancel(e.loaderTimeout),t?e.loaderTimeout=i((function(){e.loader=t,e.loaderMessage=o}),300):e.loader=!1},e.getLoaderMessage=function(){return e.loaderMessage||l.instant("common.loading")},e.toggleAutocomplete=function(){const t=!e.autocompleteEnabled;e.setLoader(!0,t?l.instant("autocomplete.enabling"):l.instant("autocomplete.disabling")),u.toggleAutocomplete(t).success((function(){f(),g()})).error((function(e){o.error(getError(e))})).finally((function(){e.setLoader(!1)}))},e.toggleIndexIRIs=function(){e.setLoader(!0,l.instant("autocomplete.index.iri")),u.toggleIndexIRIs(!e.shouldIndexIRIs).success((function(){p(),g()})).error((function(e){o.error(getError(e))})).finally((function(){e.setLoader(!1)}))},e.buildIndex=function(){e.setLoader(!0,l.instant("autocomplete.index.build")),u.buildIndex().success((function(){e.indexStatus="BUILDING"})).error((function(e){o.error(getError(e))})).finally((function(){e.setLoader(!1)}))},e.interruptIndexing=function(){e.setLoader(!0,l.instant("index.interrupt")),u.interruptIndexing().success((function(){g()})).error((function(e){o.error(getError(e))})).finally((function(){e.setLoader(!1)}))},e.getDegradedReason=function(){return n.getDegradedReason()},e.addLabel=function(){e.editLabel({labelIri:"",languages:""},!0)},e.editLabel=function(t,n){c.open({templateUrl:"js/angular/autocomplete/templates/modal/add-label.html",controller:"AddLabelCtrl",resolve:{data:function(){return{label:t,isNew:n}}}}).result.then((function(t){!function(t){e.setLoader(!0,l.instant("autocomplete.update")),u.addLabelConfig(t).success((function(){m(),g()})).error((function(e){o.error(getError(e))})).finally((function(){e.setLoader(!1)}))}(t)}))},e.removeLabel=function(t){!function(t){e.setLoader(!0,l.instant("autocomplete.update")),u.removeLabelConfig(t).success((function(){m(),g()})).error((function(e){o.error(getError(e))})).finally((function(){e.setLoader(!1)}))}(t)},e.$on("repositoryIsSet",(function(){d(),r.isLicenseValid()&&n.getActiveRepository()&&!n.isActiveRepoOntopType()&&!n.isActiveRepoFedXType()&&(e.checkForPlugin(),b())})),r.isLicenseValid()&&n.getActiveRepository()&&!n.isActiveRepoOntopType()&&!n.isActiveRepoFedXType()&&(e.checkForPlugin(),b())}function r(e,t,o,n){e.label=angular.copy(n.label),e.isNew=n.isNew,e.ok=function(){e.form.$valid&&t.close(e.label)},e.cancel=function(){t.dismiss("cancel")},e.setTemplate=function(t){e.label.labelIri=t,o((function(){$("#wb-autocomplete-languages").focus()}),0)}}angular.module("graphdb.framework.autocomplete.controllers",["toastr","graphdb.framework.rest.autocomplete.service"]).controller("AutocompleteCtrl",n).controller("AddLabelCtrl",r),n.$inject=["$scope","$interval","toastr","$repositories","$licenseService","$uibModal","$timeout","AutocompleteRestService","$autocompleteStatus","$translate"],r.$inject=["$scope","$uibModalInstance","$timeout","data"]}}]);
2
+ //# sourceMappingURL=35.a9846fba95e98a294957.bundle.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["webpack:///./src/js/angular/autocomplete/app.js","webpack:///./src/js/angular/autocomplete/controllers.js"],"names":["angular","module","AutocompleteCtrl","$scope","$interval","toastr","$repositories","$licenseService","$uibModal","$timeout","AutocompleteRestService","$autocompleteStatus","$translate","timer","cancelTimer","cancel","pluginName","setPluginIsActive","isPluginActive","pluginIsActive","refreshEnabledStatus","checkAutocompleteStatus","success","data","autocompleteEnabled","setAutocompleteStatus","error","getError","refreshIndexIRIs","shouldIndexIRIs","refreshIndexStatus","indexStatus","refreshLabelConfig","labelConfig","checkForPlugin","pluginFound","setLoader","loading","finally","pullStatus","$broadcast","$on","loader","message","loaderTimeout","loaderMessage","getLoaderMessage","instant","toggleAutocomplete","newValue","toggleIndexIRIs","buildIndex","interruptIndexing","getDegradedReason","addLabel","editLabel","labelIri","languages","label","isNew","open","templateUrl","controller","resolve","result","then","addLabelConfig","removeLabel","removeLabelConfig","isLicenseValid","getActiveRepository","isActiveRepoOntopType","isActiveRepoFedXType","AddLabelCtrl","$uibModalInstance","copy","ok","form","$valid","close","dismiss","setTemplate","iri","$","focus","$inject"],"mappings":"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","file":"35.fe688fc32270724c391d.bundle.js","sourcesContent":["import 'angular/autocomplete/controllers';\n\nconst modules = [\n 'ngRoute',\n 'graphdb.framework.autocomplete.controllers'\n];\n\nangular.module('graphdb.framework.autocomplete', modules);\n","import 'angular/rest/autocomplete.rest.service';\n\nconst modules = [\n 'toastr',\n 'graphdb.framework.rest.autocomplete.service'\n];\n\nangular\n .module('graphdb.framework.autocomplete.controllers', modules)\n .controller('AutocompleteCtrl', AutocompleteCtrl)\n .controller('AddLabelCtrl', AddLabelCtrl);\n\nAutocompleteCtrl.$inject = ['$scope', '$interval', 'toastr', '$repositories', '$licenseService', '$uibModal', '$timeout', 'AutocompleteRestService', '$autocompleteStatus', '$translate'];\n\nfunction AutocompleteCtrl($scope, $interval, toastr, $repositories, $licenseService, $uibModal, $timeout, AutocompleteRestService, $autocompleteStatus, $translate) {\n\n let timer;\n\n function cancelTimer() {\n if (timer) {\n $interval.cancel(timer);\n }\n }\n\n $scope.pluginName = 'autocomplete';\n\n $scope.setPluginIsActive = function (isPluginActive) {\n $scope.pluginIsActive = isPluginActive;\n };\n\n const refreshEnabledStatus = function () {\n AutocompleteRestService.checkAutocompleteStatus()\n .success(function (data) {\n $scope.autocompleteEnabled = data;\n $autocompleteStatus.setAutocompleteStatus(data);\n }).error(function (data) {\n toastr.error(getError(data));\n });\n };\n\n const refreshIndexIRIs = function () {\n AutocompleteRestService.refreshIndexIRIs()\n .success(function (data) {\n $scope.shouldIndexIRIs = data;\n }).error(function (data) {\n toastr.error(getError(data));\n });\n };\n\n const refreshIndexStatus = function () {\n AutocompleteRestService.refreshIndexStatus()\n .success(function (data) {\n $scope.indexStatus = data;\n })\n .error(function (data) {\n toastr.error(getError(data));\n });\n };\n\n const refreshLabelConfig = function () {\n AutocompleteRestService.refreshLabelConfig()\n .success(function (data) {\n $scope.labelConfig = data;\n }).error(function (data) {\n toastr.error(getError(data));\n });\n };\n\n const addLabelConfig = function (label) {\n $scope.setLoader(true, $translate.instant('autocomplete.update'));\n\n\n AutocompleteRestService.addLabelConfig(label)\n .success(function () {\n refreshLabelConfig();\n refreshIndexStatus();\n }).error(function (data) {\n toastr.error(getError(data));\n }).finally(function () {\n $scope.setLoader(false);\n });\n };\n\n const removeLabelConfig = function (label) {\n $scope.setLoader(true, $translate.instant('autocomplete.update'));\n\n AutocompleteRestService.removeLabelConfig(label)\n .success(function () {\n refreshLabelConfig();\n refreshIndexStatus();\n }).error(function (data) {\n toastr.error(getError(data));\n }).finally(function () {\n $scope.setLoader(false);\n });\n };\n\n $scope.checkForPlugin = function () {\n $scope.pluginFound = false;\n\n $scope.setLoader(true);\n\n AutocompleteRestService.checkForPlugin()\n .success(function (data) {\n $scope.pluginFound = data === true;\n if ($scope.pluginFound) {\n refreshEnabledStatus();\n refreshIndexIRIs();\n refreshIndexStatus();\n refreshLabelConfig();\n } else {\n $scope.autocompleteEnabled = false;\n $scope.loading = false;\n }\n }).error(function (data) {\n toastr.error(getError(data));\n }).finally(function () {\n $scope.setLoader(false);\n });\n };\n\n const pullStatus = function () {\n timer = $interval(function () {\n $scope.$broadcast('checkIsActive');\n if ($scope.autocompleteEnabled) {\n refreshIndexStatus();\n }\n }, 5000);\n };\n\n $scope.$on(\"$destroy\", function () {\n cancelTimer();\n });\n\n const init = function() {\n if (!$licenseService.isLicenseValid() ||\n !$repositories.getActiveRepository() ||\n $repositories.isActiveRepoOntopType() ||\n $repositories.isActiveRepoFedXType()) {\n return;\n }\n $scope.checkForPlugin();\n pullStatus();\n };\n\n $scope.setLoader = function (loader, message) {\n $timeout.cancel($scope.loaderTimeout);\n if (loader) {\n $scope.loaderTimeout = $timeout(function () {\n $scope.loader = loader;\n $scope.loaderMessage = message;\n }, 300);\n } else {\n $scope.loader = false;\n }\n };\n\n $scope.getLoaderMessage = function () {\n return $scope.loaderMessage || $translate.instant('common.loading');\n };\n\n $scope.toggleAutocomplete = function () {\n const newValue = !$scope.autocompleteEnabled;\n $scope.setLoader(true, newValue ? $translate.instant('autocomplete.enabling') : $translate.instant('autocomplete.disabling'));\n\n AutocompleteRestService.toggleAutocomplete(newValue)\n .success(function () {\n refreshEnabledStatus();\n refreshIndexStatus();\n }).error(function (data) {\n toastr.error(getError(data));\n }).finally(function () {\n $scope.setLoader(false);\n });\n };\n\n $scope.toggleIndexIRIs = function () {\n $scope.setLoader(true, ($translate.instant('autocomplete.index.iri')));\n\n AutocompleteRestService.toggleIndexIRIs(!$scope.shouldIndexIRIs)\n .success(function () {\n refreshIndexIRIs();\n refreshIndexStatus();\n }).error(function (data) {\n toastr.error(getError(data));\n }).finally(function () {\n $scope.setLoader(false);\n });\n };\n\n $scope.buildIndex = function () {\n $scope.setLoader(true, $translate.instant('autocomplete.index.build'));\n\n AutocompleteRestService.buildIndex()\n .success(function () {\n $scope.indexStatus = 'BUILDING';\n }).error(function (data) {\n toastr.error(getError(data));\n }).finally(function () {\n $scope.setLoader(false);\n });\n };\n\n $scope.interruptIndexing = function () {\n $scope.setLoader(true, $translate.instant('index.interrupt'));\n\n AutocompleteRestService.interruptIndexing()\n .success(function () {\n refreshIndexStatus();\n }).error(function (data) {\n toastr.error(getError(data));\n }).finally(function () {\n $scope.setLoader(false);\n });\n };\n\n $scope.getDegradedReason = function () {\n return $repositories.getDegradedReason();\n };\n\n $scope.addLabel = function () {\n $scope.editLabel({labelIri: '', languages: ''}, true);\n };\n\n $scope.editLabel = function (label, isNew) {\n const modalInstance = $uibModal.open({\n templateUrl: 'js/angular/autocomplete/templates/modal/add-label.html',\n controller: 'AddLabelCtrl',\n resolve: {\n data: function () {\n return {\n label: label,\n isNew: isNew\n };\n }\n }\n });\n\n modalInstance.result.then(function (label) {\n addLabelConfig(label);\n });\n };\n\n $scope.removeLabel = function (label) {\n removeLabelConfig(label);\n };\n\n $scope.$on('repositoryIsSet', function () {\n cancelTimer();\n if (!$licenseService.isLicenseValid() ||\n !$repositories.getActiveRepository() ||\n $repositories.isActiveRepoOntopType() ||\n $repositories.isActiveRepoFedXType()) {\n return;\n }\n $scope.checkForPlugin();\n pullStatus();\n });\n\n init();\n}\n\nAddLabelCtrl.$inject = ['$scope', '$uibModalInstance', '$timeout', 'data'];\n\nfunction AddLabelCtrl($scope, $uibModalInstance, $timeout, data) {\n $scope.label = angular.copy(data.label);\n $scope.isNew = data.isNew;\n\n $scope.ok = function () {\n if ($scope.form.$valid) {\n $uibModalInstance.close($scope.label);\n }\n };\n\n $scope.cancel = function () {\n $uibModalInstance.dismiss('cancel');\n };\n\n $scope.setTemplate = function (iri) {\n $scope.label.labelIri = iri;\n $timeout(function () {\n $('#wb-autocomplete-languages').focus();\n }, 0);\n };\n}\n"],"sourceRoot":""}
1
+ {"version":3,"sources":["webpack:///./src/js/angular/autocomplete/app.js","webpack:///./src/js/angular/autocomplete/controllers.js"],"names":["angular","module","AutocompleteCtrl","$scope","$interval","toastr","$repositories","$licenseService","$uibModal","$timeout","AutocompleteRestService","$autocompleteStatus","$translate","timer","cancelTimer","cancel","pluginName","setPluginIsActive","isPluginActive","pluginIsActive","refreshEnabledStatus","checkAutocompleteStatus","success","data","autocompleteEnabled","setAutocompleteStatus","error","getError","refreshIndexIRIs","shouldIndexIRIs","refreshIndexStatus","indexStatus","refreshLabelConfig","labelConfig","checkForPlugin","pluginFound","setLoader","loading","finally","pullStatus","$broadcast","$on","loader","message","loaderTimeout","loaderMessage","getLoaderMessage","instant","toggleAutocomplete","newValue","toggleIndexIRIs","buildIndex","interruptIndexing","getDegradedReason","addLabel","editLabel","labelIri","languages","label","isNew","open","templateUrl","controller","resolve","result","then","addLabelConfig","removeLabel","removeLabelConfig","isLicenseValid","getActiveRepository","isActiveRepoOntopType","isActiveRepoFedXType","AddLabelCtrl","$uibModalInstance","copy","ok","form","$valid","close","dismiss","setTemplate","iri","$","focus","$inject"],"mappings":"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","file":"35.a9846fba95e98a294957.bundle.js","sourcesContent":["import 'angular/autocomplete/controllers';\n\nconst modules = [\n 'ngRoute',\n 'graphdb.framework.autocomplete.controllers'\n];\n\nangular.module('graphdb.framework.autocomplete', modules);\n","import 'angular/rest/autocomplete.rest.service';\n\nconst modules = [\n 'toastr',\n 'graphdb.framework.rest.autocomplete.service'\n];\n\nangular\n .module('graphdb.framework.autocomplete.controllers', modules)\n .controller('AutocompleteCtrl', AutocompleteCtrl)\n .controller('AddLabelCtrl', AddLabelCtrl);\n\nAutocompleteCtrl.$inject = ['$scope', '$interval', 'toastr', '$repositories', '$licenseService', '$uibModal', '$timeout', 'AutocompleteRestService', '$autocompleteStatus', '$translate'];\n\nfunction AutocompleteCtrl($scope, $interval, toastr, $repositories, $licenseService, $uibModal, $timeout, AutocompleteRestService, $autocompleteStatus, $translate) {\n\n let timer;\n\n function cancelTimer() {\n if (timer) {\n $interval.cancel(timer);\n }\n }\n\n $scope.pluginName = 'autocomplete';\n\n $scope.setPluginIsActive = function (isPluginActive) {\n $scope.pluginIsActive = isPluginActive;\n };\n\n const refreshEnabledStatus = function () {\n AutocompleteRestService.checkAutocompleteStatus()\n .success(function (data) {\n $scope.autocompleteEnabled = data;\n $autocompleteStatus.setAutocompleteStatus(data);\n }).error(function (data) {\n toastr.error(getError(data));\n });\n };\n\n const refreshIndexIRIs = function () {\n AutocompleteRestService.refreshIndexIRIs()\n .success(function (data) {\n $scope.shouldIndexIRIs = data;\n }).error(function (data) {\n toastr.error(getError(data));\n });\n };\n\n const refreshIndexStatus = function () {\n AutocompleteRestService.refreshIndexStatus()\n .success(function (data) {\n $scope.indexStatus = data;\n })\n .error(function (data) {\n toastr.error(getError(data));\n });\n };\n\n const refreshLabelConfig = function () {\n AutocompleteRestService.refreshLabelConfig()\n .success(function (data) {\n $scope.labelConfig = data;\n }).error(function (data) {\n toastr.error(getError(data));\n });\n };\n\n const addLabelConfig = function (label) {\n $scope.setLoader(true, $translate.instant('autocomplete.update'));\n\n\n AutocompleteRestService.addLabelConfig(label)\n .success(function () {\n refreshLabelConfig();\n refreshIndexStatus();\n }).error(function (data) {\n toastr.error(getError(data));\n }).finally(function () {\n $scope.setLoader(false);\n });\n };\n\n const removeLabelConfig = function (label) {\n $scope.setLoader(true, $translate.instant('autocomplete.update'));\n\n AutocompleteRestService.removeLabelConfig(label)\n .success(function () {\n refreshLabelConfig();\n refreshIndexStatus();\n }).error(function (data) {\n toastr.error(getError(data));\n }).finally(function () {\n $scope.setLoader(false);\n });\n };\n\n $scope.checkForPlugin = function () {\n $scope.pluginFound = false;\n\n $scope.setLoader(true);\n\n AutocompleteRestService.checkForPlugin()\n .success(function (data) {\n $scope.pluginFound = data === true;\n if ($scope.pluginFound) {\n refreshEnabledStatus();\n refreshIndexIRIs();\n refreshIndexStatus();\n refreshLabelConfig();\n } else {\n $scope.autocompleteEnabled = false;\n $scope.loading = false;\n }\n }).error(function (data) {\n toastr.error(getError(data));\n }).finally(function () {\n $scope.setLoader(false);\n });\n };\n\n const pullStatus = function () {\n timer = $interval(function () {\n $scope.$broadcast('checkIsActive');\n if ($scope.autocompleteEnabled) {\n refreshIndexStatus();\n }\n }, 5000);\n };\n\n $scope.$on(\"$destroy\", function () {\n cancelTimer();\n });\n\n const init = function() {\n if (!$licenseService.isLicenseValid() ||\n !$repositories.getActiveRepository() ||\n $repositories.isActiveRepoOntopType() ||\n $repositories.isActiveRepoFedXType()) {\n return;\n }\n $scope.checkForPlugin();\n pullStatus();\n };\n\n $scope.setLoader = function (loader, message) {\n $timeout.cancel($scope.loaderTimeout);\n if (loader) {\n $scope.loaderTimeout = $timeout(function () {\n $scope.loader = loader;\n $scope.loaderMessage = message;\n }, 300);\n } else {\n $scope.loader = false;\n }\n };\n\n $scope.getLoaderMessage = function () {\n return $scope.loaderMessage || $translate.instant('common.loading');\n };\n\n $scope.toggleAutocomplete = function () {\n const newValue = !$scope.autocompleteEnabled;\n $scope.setLoader(true, newValue ? $translate.instant('autocomplete.enabling') : $translate.instant('autocomplete.disabling'));\n\n AutocompleteRestService.toggleAutocomplete(newValue)\n .success(function () {\n refreshEnabledStatus();\n refreshIndexStatus();\n }).error(function (data) {\n toastr.error(getError(data));\n }).finally(function () {\n $scope.setLoader(false);\n });\n };\n\n $scope.toggleIndexIRIs = function () {\n $scope.setLoader(true, ($translate.instant('autocomplete.index.iri')));\n\n AutocompleteRestService.toggleIndexIRIs(!$scope.shouldIndexIRIs)\n .success(function () {\n refreshIndexIRIs();\n refreshIndexStatus();\n }).error(function (data) {\n toastr.error(getError(data));\n }).finally(function () {\n $scope.setLoader(false);\n });\n };\n\n $scope.buildIndex = function () {\n $scope.setLoader(true, $translate.instant('autocomplete.index.build'));\n\n AutocompleteRestService.buildIndex()\n .success(function () {\n $scope.indexStatus = 'BUILDING';\n }).error(function (data) {\n toastr.error(getError(data));\n }).finally(function () {\n $scope.setLoader(false);\n });\n };\n\n $scope.interruptIndexing = function () {\n $scope.setLoader(true, $translate.instant('index.interrupt'));\n\n AutocompleteRestService.interruptIndexing()\n .success(function () {\n refreshIndexStatus();\n }).error(function (data) {\n toastr.error(getError(data));\n }).finally(function () {\n $scope.setLoader(false);\n });\n };\n\n $scope.getDegradedReason = function () {\n return $repositories.getDegradedReason();\n };\n\n $scope.addLabel = function () {\n $scope.editLabel({labelIri: '', languages: ''}, true);\n };\n\n $scope.editLabel = function (label, isNew) {\n const modalInstance = $uibModal.open({\n templateUrl: 'js/angular/autocomplete/templates/modal/add-label.html',\n controller: 'AddLabelCtrl',\n resolve: {\n data: function () {\n return {\n label: label,\n isNew: isNew\n };\n }\n }\n });\n\n modalInstance.result.then(function (label) {\n addLabelConfig(label);\n });\n };\n\n $scope.removeLabel = function (label) {\n removeLabelConfig(label);\n };\n\n $scope.$on('repositoryIsSet', function () {\n cancelTimer();\n if (!$licenseService.isLicenseValid() ||\n !$repositories.getActiveRepository() ||\n $repositories.isActiveRepoOntopType() ||\n $repositories.isActiveRepoFedXType()) {\n return;\n }\n $scope.checkForPlugin();\n pullStatus();\n });\n\n init();\n}\n\nAddLabelCtrl.$inject = ['$scope', '$uibModalInstance', '$timeout', 'data'];\n\nfunction AddLabelCtrl($scope, $uibModalInstance, $timeout, data) {\n $scope.label = angular.copy(data.label);\n $scope.isNew = data.isNew;\n\n $scope.ok = function () {\n if ($scope.form.$valid) {\n $uibModalInstance.close($scope.label);\n }\n };\n\n $scope.cancel = function () {\n $uibModalInstance.dismiss('cancel');\n };\n\n $scope.setTemplate = function (iri) {\n $scope.label.labelIri = iri;\n $timeout(function () {\n $('#wb-autocomplete-languages').focus();\n }, 0);\n };\n}\n"],"sourceRoot":""}
@@ -1,2 +1,2 @@
1
- (window.webpackJsonp=window.webpackJsonp||[]).push([[36,61],{44:function(e,i){angular.module("graphdb.framework.core.directives.paginations",[]).directive("paginations",(function(){return{template:'<uib-pagination class="nav navbar-right" total-items="matchedElements.length" items-per-page="pageSize" ng-model="page" ng-change="changePagination()" direction-links="false" boundary-links="true" max-size="5" rotate="true"></uib-pagination>'}}))},90:function(e,i,a){"use strict";a.r(i);a(20),a(44);var n=a(1);function t(e,i,a,t,s,r){e.guides=[],e.pageSizeOptions=[10,20,50,100],e.page=1,e.pageSize=e.pageSizeOptions[0],e.translationSubscription=void 0,e.init=function(){a.getGuides().then(i=>{e.guides=t("orderBy")(i,"guideOrder"),e.guides.forEach(e=>{switch(e.translatedGuideName=n.GuideUtils.translateLocalMessage(s,r,e.guideName),e.translatedGuideDescription=n.GuideUtils.translateLocalMessage(s,r,e.guideDescription),e.guideLevel){case void 0:case 0:e.guideLevelLabel="view.guides.level.beginner";break;case 1:e.guideLevelLabel="view.guides.level.intermediate";break;default:e.guideLevelLabel="view.guides.level.advanced"}}),e.matchedElements=e.guides,e.changePagination()})},e.startGuide=function(e){a.startGuide(e)},this.translationSubscription||(this.translationSubscription=i.$on("$translateChangeSuccess",()=>{e.init()})),e.changePagination=function(){angular.isDefined(e.guides)&&(e.displayedGuides=e.guides.slice(e.pageSize*(e.page-1),e.pageSize*e.page))},e.changePageSize=function(i){e.page=1,e.pageSize=i||e.pageSizeOptions[0],e.changePagination()},e.init()}angular.module("graphdb.framework.guides.controllers",["ui.bootstrap","graphdb.framework.guides.services","graphdb.framework.core.directives.paginations"]).controller("GuidesCtrl",t),t.$inject=["$scope","$rootScope","GuidesService","$filter","$translate","$interpolate"]}}]);
2
- //# sourceMappingURL=36.7da22f08c8e850885cc5.bundle.js.map
1
+ (window.webpackJsonp=window.webpackJsonp||[]).push([[36,61],{44:function(e,i){angular.module("graphdb.framework.core.directives.paginations",[]).directive("paginations",(function(){return{template:'<uib-pagination class="nav navbar-right" total-items="matchedElements.length" items-per-page="pageSize" ng-model="page" ng-change="changePagination()" direction-links="false" boundary-links="true" max-size="5" rotate="true"></uib-pagination>'}}))},91:function(e,i,a){"use strict";a.r(i);a(20),a(44);var n=a(1);function t(e,i,a,t,s,r){e.guides=[],e.pageSizeOptions=[10,20,50,100],e.page=1,e.pageSize=e.pageSizeOptions[0],e.translationSubscription=void 0,e.init=function(){a.getGuides().then(i=>{e.guides=t("orderBy")(i,"guideOrder"),e.guides.forEach(e=>{switch(e.translatedGuideName=n.GuideUtils.translateLocalMessage(s,r,e.guideName),e.translatedGuideDescription=n.GuideUtils.translateLocalMessage(s,r,e.guideDescription),e.guideLevel){case void 0:case 0:e.guideLevelLabel="view.guides.level.beginner";break;case 1:e.guideLevelLabel="view.guides.level.intermediate";break;default:e.guideLevelLabel="view.guides.level.advanced"}}),e.matchedElements=e.guides,e.changePagination()})},e.startGuide=function(e){a.startGuide(e)},this.translationSubscription||(this.translationSubscription=i.$on("$translateChangeSuccess",()=>{e.init()})),e.changePagination=function(){angular.isDefined(e.guides)&&(e.displayedGuides=e.guides.slice(e.pageSize*(e.page-1),e.pageSize*e.page))},e.changePageSize=function(i){e.page=1,e.pageSize=i||e.pageSizeOptions[0],e.changePagination()},e.init()}angular.module("graphdb.framework.guides.controllers",["ui.bootstrap","graphdb.framework.guides.services","graphdb.framework.core.directives.paginations"]).controller("GuidesCtrl",t),t.$inject=["$scope","$rootScope","GuidesService","$filter","$translate","$interpolate"]}}]);
2
+ //# sourceMappingURL=36.4dbd0f9007404b0adbe2.bundle.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["webpack:///./src/js/angular/core/directives/paginations.js","webpack:///./src/js/angular/guides/controllers.js"],"names":["angular","module","directive","template","GuidesCtrl","$scope","$rootScope","GuidesService","$filter","$translate","$interpolate","guides","pageSizeOptions","page","pageSize","translationSubscription","undefined","init","getGuides","then","forEach","guide","translatedGuideName","translateLocalMessage","guideName","translatedGuideDescription","guideDescription","guideLevel","guideLevelLabel","matchedElements","changePagination","startGuide","this","$on","isDefined","displayedGuides","slice","changePageSize","size","controller","$inject"],"mappings":"8EAAAA,QAAQC,OAAO,gDAAiD,IAC3DC,UAAU,eAAe,WACtB,MAAO,CACHC,SAAU,yP,gCCHtB,8BAgBA,SAASC,EAAWC,EAAQC,EAAYC,EAAeC,EAASC,EAAYC,GAExEL,EAAOM,OAAS,GAChBN,EAAOO,gBAAkB,CAAC,GAAI,GAAI,GAAI,KACtCP,EAAOQ,KAAO,EACdR,EAAOS,SAAWT,EAAOO,gBAAgB,GACzCP,EAAOU,6BAA0BC,EAEjCX,EAAOY,KAAO,WACVV,EAAcW,YACTC,KAAKR,IACFN,EAAOM,OAASH,EAAQ,UAARA,CAAmBG,EAAQ,cAC3CN,EAAOM,OAAOS,QAAQC,IAGlB,OAFAA,EAAMC,oBAAsB,aAAWC,sBAAsBd,EAAYC,EAAcW,EAAMG,WAC7FH,EAAMI,2BAA6B,aAAWF,sBAAsBd,EAAYC,EAAcW,EAAMK,kBAC5FL,EAAMM,YACV,UAAKX,EACL,KAAK,EACDK,EAAMO,gBAAkB,6BACxB,MACJ,KAAK,EACDP,EAAMO,gBAAkB,iCACxB,MACJ,QACIP,EAAMO,gBAAkB,gCAGpCvB,EAAOwB,gBAAkBxB,EAAOM,OAChCN,EAAOyB,sBAInBzB,EAAO0B,WAAa,SAAUV,GAC1Bd,EAAcwB,WAAWV,IAGxBW,KAAKjB,0BACNiB,KAAKjB,wBAA0BT,EAAW2B,IAAI,0BAA2B,KACrE5B,EAAOY,UAIfZ,EAAOyB,iBAAmB,WAClB9B,QAAQkC,UAAU7B,EAAOM,UACzBN,EAAO8B,gBAAkB9B,EAAOM,OAAOyB,MAAM/B,EAAOS,UAAYT,EAAOQ,KAAO,GAAIR,EAAOS,SAAWT,EAAOQ,QAInHR,EAAOgC,eAAiB,SAAUC,GAC9BjC,EAAOQ,KAAO,EAEVR,EAAOS,SADPwB,GAGkBjC,EAAOO,gBAAgB,GAE7CP,EAAOyB,oBAGXzB,EAAOY,OAhEXjB,QACKC,OAAO,uCAPI,CACZ,eACA,oCACA,kDAKCsC,WAAW,aAAcnC,GAE9BA,EAAWoC,QAAU,CAAC,SAAU,aAAc,gBAAiB,UAAW,aAAc","file":"36.7da22f08c8e850885cc5.bundle.js","sourcesContent":["angular.module('graphdb.framework.core.directives.paginations', [])\n .directive('paginations', function () {\n return {\n template: '<uib-pagination class=\"nav navbar-right\" total-items=\"matchedElements.length\" items-per-page=\"pageSize\" ng-model=\"page\" ng-change=\"changePagination()\" direction-links=\"false\" boundary-links=\"true\" max-size=\"5\" rotate=\"true\"></uib-pagination>',\n };\n });\n","import 'angular/guides/guides.service';\nimport 'angular/core/directives/paginations';\nimport {GuideUtils} from \"./guide-utils\";\n\nconst modules = [\n 'ui.bootstrap',\n 'graphdb.framework.guides.services',\n 'graphdb.framework.core.directives.paginations'\n];\n\nangular\n .module('graphdb.framework.guides.controllers', modules)\n .controller('GuidesCtrl', GuidesCtrl);\n\nGuidesCtrl.$inject = ['$scope', '$rootScope', 'GuidesService', '$filter', '$translate', '$interpolate'];\n\nfunction GuidesCtrl($scope, $rootScope, GuidesService, $filter, $translate, $interpolate) {\n\n $scope.guides = [];\n $scope.pageSizeOptions = [10, 20, 50, 100];\n $scope.page = 1;\n $scope.pageSize = $scope.pageSizeOptions[0];\n $scope.translationSubscription = undefined;\n\n $scope.init = function () {\n GuidesService.getGuides()\n .then(guides => {\n $scope.guides = $filter('orderBy')(guides, 'guideOrder');\n $scope.guides.forEach(guide => {\n guide.translatedGuideName = GuideUtils.translateLocalMessage($translate, $interpolate, guide.guideName);\n guide.translatedGuideDescription = GuideUtils.translateLocalMessage($translate, $interpolate, guide.guideDescription);\n switch (guide.guideLevel) {\n case undefined:\n case 0:\n guide.guideLevelLabel = 'view.guides.level.beginner';\n break;\n case 1:\n guide.guideLevelLabel = 'view.guides.level.intermediate';\n break;\n default: // 2 and above\n guide.guideLevelLabel = 'view.guides.level.advanced';\n }\n });\n $scope.matchedElements = $scope.guides;\n $scope.changePagination();\n });\n };\n\n $scope.startGuide = function (guide) {\n GuidesService.startGuide(guide);\n };\n\n if (!this.translationSubscription) {\n this.translationSubscription = $rootScope.$on('$translateChangeSuccess', () => {\n $scope.init();\n });\n }\n\n $scope.changePagination = function () {\n if (angular.isDefined($scope.guides)) {\n $scope.displayedGuides = $scope.guides.slice($scope.pageSize * ($scope.page - 1), $scope.pageSize * $scope.page);\n }\n };\n\n $scope.changePageSize = function (size) {\n $scope.page = 1;\n if (size) {\n $scope.pageSize = size;\n } else {\n $scope.pageSize = $scope.pageSizeOptions[0];\n }\n $scope.changePagination();\n };\n\n $scope.init();\n}\n"],"sourceRoot":""}
1
+ {"version":3,"sources":["webpack:///./src/js/angular/core/directives/paginations.js","webpack:///./src/js/angular/guides/controllers.js"],"names":["angular","module","directive","template","GuidesCtrl","$scope","$rootScope","GuidesService","$filter","$translate","$interpolate","guides","pageSizeOptions","page","pageSize","translationSubscription","undefined","init","getGuides","then","forEach","guide","translatedGuideName","translateLocalMessage","guideName","translatedGuideDescription","guideDescription","guideLevel","guideLevelLabel","matchedElements","changePagination","startGuide","this","$on","isDefined","displayedGuides","slice","changePageSize","size","controller","$inject"],"mappings":"8EAAAA,QAAQC,OAAO,gDAAiD,IAC3DC,UAAU,eAAe,WACtB,MAAO,CACHC,SAAU,yP,gCCHtB,8BAgBA,SAASC,EAAWC,EAAQC,EAAYC,EAAeC,EAASC,EAAYC,GAExEL,EAAOM,OAAS,GAChBN,EAAOO,gBAAkB,CAAC,GAAI,GAAI,GAAI,KACtCP,EAAOQ,KAAO,EACdR,EAAOS,SAAWT,EAAOO,gBAAgB,GACzCP,EAAOU,6BAA0BC,EAEjCX,EAAOY,KAAO,WACVV,EAAcW,YACTC,KAAKR,IACFN,EAAOM,OAASH,EAAQ,UAARA,CAAmBG,EAAQ,cAC3CN,EAAOM,OAAOS,QAAQC,IAGlB,OAFAA,EAAMC,oBAAsB,aAAWC,sBAAsBd,EAAYC,EAAcW,EAAMG,WAC7FH,EAAMI,2BAA6B,aAAWF,sBAAsBd,EAAYC,EAAcW,EAAMK,kBAC5FL,EAAMM,YACV,UAAKX,EACL,KAAK,EACDK,EAAMO,gBAAkB,6BACxB,MACJ,KAAK,EACDP,EAAMO,gBAAkB,iCACxB,MACJ,QACIP,EAAMO,gBAAkB,gCAGpCvB,EAAOwB,gBAAkBxB,EAAOM,OAChCN,EAAOyB,sBAInBzB,EAAO0B,WAAa,SAAUV,GAC1Bd,EAAcwB,WAAWV,IAGxBW,KAAKjB,0BACNiB,KAAKjB,wBAA0BT,EAAW2B,IAAI,0BAA2B,KACrE5B,EAAOY,UAIfZ,EAAOyB,iBAAmB,WAClB9B,QAAQkC,UAAU7B,EAAOM,UACzBN,EAAO8B,gBAAkB9B,EAAOM,OAAOyB,MAAM/B,EAAOS,UAAYT,EAAOQ,KAAO,GAAIR,EAAOS,SAAWT,EAAOQ,QAInHR,EAAOgC,eAAiB,SAAUC,GAC9BjC,EAAOQ,KAAO,EAEVR,EAAOS,SADPwB,GAGkBjC,EAAOO,gBAAgB,GAE7CP,EAAOyB,oBAGXzB,EAAOY,OAhEXjB,QACKC,OAAO,uCAPI,CACZ,eACA,oCACA,kDAKCsC,WAAW,aAAcnC,GAE9BA,EAAWoC,QAAU,CAAC,SAAU,aAAc,gBAAiB,UAAW,aAAc","file":"36.4dbd0f9007404b0adbe2.bundle.js","sourcesContent":["angular.module('graphdb.framework.core.directives.paginations', [])\n .directive('paginations', function () {\n return {\n template: '<uib-pagination class=\"nav navbar-right\" total-items=\"matchedElements.length\" items-per-page=\"pageSize\" ng-model=\"page\" ng-change=\"changePagination()\" direction-links=\"false\" boundary-links=\"true\" max-size=\"5\" rotate=\"true\"></uib-pagination>',\n };\n });\n","import 'angular/guides/guides.service';\nimport 'angular/core/directives/paginations';\nimport {GuideUtils} from \"./guide-utils\";\n\nconst modules = [\n 'ui.bootstrap',\n 'graphdb.framework.guides.services',\n 'graphdb.framework.core.directives.paginations'\n];\n\nangular\n .module('graphdb.framework.guides.controllers', modules)\n .controller('GuidesCtrl', GuidesCtrl);\n\nGuidesCtrl.$inject = ['$scope', '$rootScope', 'GuidesService', '$filter', '$translate', '$interpolate'];\n\nfunction GuidesCtrl($scope, $rootScope, GuidesService, $filter, $translate, $interpolate) {\n\n $scope.guides = [];\n $scope.pageSizeOptions = [10, 20, 50, 100];\n $scope.page = 1;\n $scope.pageSize = $scope.pageSizeOptions[0];\n $scope.translationSubscription = undefined;\n\n $scope.init = function () {\n GuidesService.getGuides()\n .then(guides => {\n $scope.guides = $filter('orderBy')(guides, 'guideOrder');\n $scope.guides.forEach(guide => {\n guide.translatedGuideName = GuideUtils.translateLocalMessage($translate, $interpolate, guide.guideName);\n guide.translatedGuideDescription = GuideUtils.translateLocalMessage($translate, $interpolate, guide.guideDescription);\n switch (guide.guideLevel) {\n case undefined:\n case 0:\n guide.guideLevelLabel = 'view.guides.level.beginner';\n break;\n case 1:\n guide.guideLevelLabel = 'view.guides.level.intermediate';\n break;\n default: // 2 and above\n guide.guideLevelLabel = 'view.guides.level.advanced';\n }\n });\n $scope.matchedElements = $scope.guides;\n $scope.changePagination();\n });\n };\n\n $scope.startGuide = function (guide) {\n GuidesService.startGuide(guide);\n };\n\n if (!this.translationSubscription) {\n this.translationSubscription = $rootScope.$on('$translateChangeSuccess', () => {\n $scope.init();\n });\n }\n\n $scope.changePagination = function () {\n if (angular.isDefined($scope.guides)) {\n $scope.displayedGuides = $scope.guides.slice($scope.pageSize * ($scope.page - 1), $scope.pageSize * $scope.page);\n }\n };\n\n $scope.changePageSize = function (size) {\n $scope.page = 1;\n if (size) {\n $scope.pageSize = size;\n } else {\n $scope.pageSize = $scope.pageSizeOptions[0];\n }\n $scope.changePagination();\n };\n\n $scope.init();\n}\n"],"sourceRoot":""}
@@ -0,0 +1,2 @@
1
+ (window.webpackJsonp=window.webpackJsonp||[]).push([[37,133],{60:function(e,t){angular.module("graphdb.workbench.utils.filetypes",[]).value("FileTypes",[{name:"JSON",type:"application/rdf+json",extension:".json"},{name:"JSON-LD",type:"application/ld+json",extension:".jsonld"},{name:"RDF-XML",type:"application/rdf+xml",extension:".rdf"},{name:"N3",type:"text/rdf+n3",extension:".n3"},{name:"N-Triples",type:"text/plain",extension:".nt"},{name:"N-Quads",type:"text/x-nquads",extension:".nq"},{name:"Turtle",type:"text/turtle",extension:".ttl"},{name:"Turtle*",type:"application/x-turtlestar",extension:".ttls"},{name:"TriX",type:"application/trix",extension:".trix"},{name:"TriG",type:"application/x-trig",extension:".trig"},{name:"TriG*",type:"application/x-trigstar",extension:".trigs"},{name:"Binary RDF",type:"application/x-binary-rdf",extension:".brf"}])},73:function(e,t,n){"use strict";n.r(t);n(4),n(10),n(12),n(60);var o=n(0),r=n(67);angular.module("graphdb.framework.impex.export.controllers",["ngCookies","ui.bootstrap","toastr","graphdb.framework.core.services.repositories","graphdb.framework.core.services.jwtauth","graphdb.workbench.utils.filetypes"]).controller("ExportCtrl",["$scope","$http","$location","$timeout","ModalService","filterFilter","$repositories","toastr","RDF4JRepositoriesRestService","FileTypes","$translate",function(e,t,n,a,i,s,p,l,c,g,d){e.getActiveRepository=function(){return p.getActiveRepository()},e.exportFormats=g,e.deleting={},e.showExportDDTooltip=!0,e.page=1,e.pageSize=10,e.pageSizeOptions=[10,20,50,100],e.displayGraphs=[],e.exportFilter="",e.export=!0,e.exportMultipleGraphs=!1,e.repoExportFormat={name:"TriG",type:"application/x-trig",extension:".trig"},e.selectedGraphs={exportGraphs:{}},e.$watch((function(){return p.getActiveRepository()}),(function(){e.exportFilter="",e.getGraphs(),e.selectedAll=!1,a((function(){e.changePageSize(10)}),100)})),e.isShacl=function(e){return"http%3A%2F%2Frdf4j.org%2Fschema%2Frdf4j%23SHACLShapeGraph"===e},e.getGraphs=function(){e.getActiveRepository()?(e.loader=!0,c.getGraphs(e.getActiveRepository()).success((function(t){t.results.bindings.unshift({contextID:{type:"default",value:"import.default.graph"}}),e.graphsByValue={},Object.keys(t.results.bindings).forEach((function(n){const o=t.results.bindings[n];"bnode"===o.contextID.type?o.contextID.value="_:"+o.contextID.value:"default"===o.contextID.type?(o.contextID.uri=encodeURIComponent("http://www.openrdf.org/schema/sesame#nil"),o.contextID.clearUri="DEFAULT",o.contextID.exportUri="null",o.contextID.longName="default graph"):(o.contextID.uri=encodeURIComponent(o.contextID.value),o.contextID.clearUri="GRAPH <"+o.contextID.value+">",o.contextID.exportUri=encodeURIComponent("<"+o.contextID.value+">"),o.contextID.longName="named graph "+o.contextID.value),e.graphsByValue[o.contextID.value]=o.contextID})),e.graphs=t.results.bindings,e.filteredGraphs=Object(r.cloneDeep)(e.graphs),e.displayGraphs=e.filteredGraphs.slice(e.pageSize*(e.page-1),e.pageSize*e.page),e.loader=!1,e.selectedGraphs.exportGraphs={},e.matchedElements=e.graphs})).error((function(t,n){const o=getError(t,n);"There is no active location!"===o&&(p.setRepository(""),l.error(o,d.instant("common.error"))),e.loader=!1}))):e.loader=!1},e.onGraphSearch=function(){e.matchedElements=[],e.deselectAll(),e.filterResults()},e.filterResults=function(){angular.forEach(e.graphs,(function(t){-1!==t.contextID.value.indexOf(e.exportFilter)&&e.matchedElements.push(t)}))},e.downloadExport=function(e,t){let n=e+"&Accept="+encodeURIComponent(t.type);const o=localStorage.getItem("com.ontotext.graphdb.auth");o&&(n=n+"&authToken="+encodeURIComponent(o));let r=window.open(n);a((function(){"about:blank"!==r.document.location.href&&(r.close(),l.error("Could not export graph. Check GraphDB logs for detailed reason."))}),100)},e.openExportDDTooltip=function(){e.showExportDDTooltip&&(a((function(){$("#tooltipTarget").trigger("showExportDDTooltip")}),0),a((function(){$("#tooltipTarget").trigger("showExportDDTooltip")}),3e3),e.showExportDDTooltip=!1)},e.exportRepo=function(t,n){"application/rdf+xml"===t.type||"text/plain"===t.type||"text/turtle"===t.type||"application/x-turtlestar"===t.type||"text/rdf+n3"===t.type?i.openSimpleModal({title:d.instant("common.warning"),message:Object(o.decodeHTML)(d.instant("export.format.warning.msg")),warning:!0}).result.then((function(){e.startDownload(t,n)})):e.startDownload(t,n)},e.startDownload=function(t,n){let o;const r=p.getActiveRepositoryObject();o=n?`repositories/${r.id}/statements?infer=false&context=${e.graphsByValue[n.value].exportUri}&location=${encodeURIComponent(r.location)}`:`repositories/${r.id}/statements?infer=false&location=${encodeURIComponent(r.location)}`,e.downloadExport(o,t)},e.hasMultipleSelected=function(){if(_.isEmpty(e.selectedGraphs.exportGraphs))return!_.isEmpty(e.selectedGraphs.exportGraphs);for(const t in e.selectedGraphs.exportGraphs)if(!0===e.selectedGraphs.exportGraphs[t])return!0;return!1},e.exportSelectedGraphs=function(t){let n="";for(const t in e.selectedGraphs.exportGraphs)e.selectedGraphs.exportGraphs[t]&&(n+="context="+e.graphsByValue[t].exportUri+"&");if(n){const r=function(){n=n.substring(0,n.length-1);const o="repositories/"+e.getActiveRepository()+"/statements?infer=false&"+n;e.downloadExport(o,t)};"application/rdf+xml"===t.type||"text/plain"===t.type||"text/turtle"===t.type||"application/x-turtlestar"===t.type||"text/rdf+n3"===t.type?i.openSimpleModal({title:d.instant("common.warning"),message:Object(o.decodeHTML)(d.instant("export.format.warning.msg")),warning:!0}).result.then((function(){r()})):r()}else i.openSimpleModal({title:d.instant("export.multiple.graph"),message:d.instant("export.check.graphs.msg"),warning:!0})},e.$watch("exportFilter",(function(){if(e.filteredGraphs=s(e.graphs,e.exportFilter),e.getActiveRepository()&&angular.element(document).find(".btn.btn-secondary.btn-sm.dropdown-toggle span").length){const t=angular.element(document).find(".btn.btn-secondary.btn-sm.dropdown-toggle span")[0].innerHTML.trim();let n;"All"===t&&(n=e.filteredGraphs.length),e.filteredGraphs&&e.filteredGraphs.length>e.pageSize&&"All"!==t&&(n=e.pageSize),e.changePageSize(n),e.changePagination()}})),e.changePagination=function(){e.selectedAll=!1,angular.isDefined(e.filteredGraphs)&&(e.displayGraphs=e.filteredGraphs.slice(e.pageSize*(e.page-1),e.pageSize*e.page))},e.changePageSize=function(t){$(".ot-graph-page-size").removeClass("active"),e.page=1,t&&(e.pageSize=t,e.changePagination()),e.filteredGraphs&&""!==e.exportFilter&&(e.displayGraphs=e.filteredGraphs)},e.checkAll=function(){e.selectedAll=e.selectedAll||!1,angular.forEach(e.displayGraphs,(function(t){t.contextID.uri&&(e.selectedGraphs.exportGraphs[t.contextID.value]=e.selectedAll)}))},e.deselectAll=function(){e.selectedAll=!1,angular.forEach(e.displayGraphs,(function(t){t.contextID.uri&&(e.selectedGraphs.exportGraphs[t.contextID.value]=!1)}))},e.dropRepository=function(){e.canWriteActiveRepo()&&(e.deleting["*"]=!0,i.openSimpleModal({title:d.instant("export.confirm.clear.msg"),message:d.instant("export.warning.clear.repo.msg",{repo:p.getActiveRepository()}),warning:!0}).result.then((function(){a((function(){c.addStatements(p.getActiveRepository(),"update=CLEAR ALL").then((function(){e.deleting["*"]=!1,l.success(d.instant("export.cleared.repo",{repo:p.getActiveRepository()})),e.getGraphs()}),(function(t){e.deleting["*"]=!1;const n=t.data;"string"==typeof n&&n.indexOf("Clearing all statements in the repository is incompatible with collecting history")>-1?l.error(d.instant("export.clearing.statements.warning")):l.error(d.instant("export.cleared.repo.failed.msg",{repo:p.getActiveRepository()}),t)}))}),100)})))},e.dropContext=function(t){e.canWriteActiveRepo()&&(angular.isDefined(t)?function(t){const n=t.contextID.longName;e.deleting[t]=!0,i.openSimpleModal({title:d.instant("export.confirm.clear.graph"),message:d.instant("export.clear.graph.warning",{longName:n}),warning:!0}).result.then((function(){a((function(){const o="update=CLEAR "+t.contextID.clearUri;c.addStatements(p.getActiveRepository(),o).then((function(){e.deleting[t]=!1,l.success(d.instant("export.cleared.graph",{longName:n})),e.getGraphs(),e.exportFilter="",e.filteredGraphs.length=0,e.updateResults(),e.changePageSize(e.pageSize)}),(function(o){e.deleting[t]=!1,l.error(d.instant("export.clear.graph.msg",{longName:n}),getError(o,o.status))}))}),100)}),(function(){e.deleting[t]=!1}))}(t):function(t){const n=[];angular.forEach(e.selectedGraphs.exportGraphs,(function(e,t){e&&n.push(t)})),n.length>0&&(e.deleting[t]=!0,i.openSimpleModal({title:d.instant("export.confirm.clear.graph"),message:d.instant("export.warning.clear.graph.msg"),warning:!0}).result.then((function(){a((function(){let t=0;angular.forEach(n,(function(o){const r="update=CLEAR "+e.graphsByValue[o].clearUri;c.addStatements(p.getActiveRepository(),r).then((function(){e.loader=!0,e.selectedGraphs.exportGraphs[o]=!1,delete e.selectedGraphs.exportGraphs[o],t++,n.length===t&&(e.selectedAll=!1,e.exportFilter="",e.filteredGraphs.length=0,e.getGraphs(),e.updateResults(),e.changePageSize(e.pageSize),l.success(d.instant("export.cleared.graph.msg")),e.loader=!1)}),(function(t){const n=e.graphsByValue[o].longName;l.error(d.instant("export.clear.graph.msg",{longName:n}),getError(t,t.status)),e.selectedAll=!1}))}))}),100)}),(function(){e.deleting[t]=!1})))}(t))}}])}}]);
2
+ //# sourceMappingURL=37.ac99eb00fe71266c5bff.bundle.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["webpack:///./src/js/angular/utils/file-types.js","webpack:///./src/js/angular/export/controllers.js"],"names":["angular","module","value","name","type","extension","controller","$scope","$http","$location","$timeout","ModalService","filterFilter","$repositories","toastr","RDF4JRepositoriesRestService","FileTypes","$translate","getActiveRepository","exportFormats","deleting","showExportDDTooltip","page","pageSize","pageSizeOptions","displayGraphs","exportFilter","export","exportMultipleGraphs","repoExportFormat","selectedGraphs","exportGraphs","$watch","getGraphs","selectedAll","changePageSize","isShacl","iri","loader","success","data","results","bindings","unshift","contextID","graphsByValue","Object","keys","forEach","key","binding","uri","encodeURIComponent","clearUri","exportUri","longName","graphs","filteredGraphs","slice","matchedElements","error","status","msg","getError","setRepository","instant","onGraphSearch","deselectAll","filterResults","item","indexOf","push","downloadExport","downloadUrl","format","url","auth","localStorage","getItem","win","window","open","document","location","href","close","openExportDDTooltip","$","trigger","exportRepo","openSimpleModal","title","message","warning","result","then","startDownload","repo","getActiveRepositoryObject","id","hasMultipleSelected","_","isEmpty","index","exportSelectedGraphs","contextStr","substring","length","element","find","valueOfFilteredGraphsButton","innerHTML","trim","valueOfFilteredGraphs","changePagination","isDefined","size","removeClass","checkAll","dropRepository","canWriteActiveRepo","addStatements","err","errMsg","dropContext","ctx","updateResults","dropGraph","selectedGraphsForDelete","counterOfClearedGraphs","dropSelectedGraphs"],"mappings":"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","file":"37.8a9855206d5ae5eba9be.bundle.js","sourcesContent":["angular.module('graphdb.workbench.utils.filetypes', [])\n .value('FileTypes', [\n {name: 'JSON', type: 'application/rdf+json', extension: '.json'},\n {name: 'JSON-LD', type: 'application/ld+json', extension: '.jsonld'},\n {name: 'RDF-XML', type: 'application/rdf+xml', extension: '.rdf'},\n {name: 'N3', type: 'text/rdf+n3', extension: '.n3'},\n {name: 'N-Triples', type: 'text/plain', extension: '.nt'},\n {name: 'N-Quads', type: 'text/x-nquads', extension: '.nq'},\n {name: 'Turtle', type: 'text/turtle', extension: '.ttl'},\n {name: 'Turtle*', type: 'application/x-turtlestar', extension: '.ttls'},\n {name: 'TriX', type: 'application/trix', extension: '.trix'},\n {name: 'TriG', type: 'application/x-trig', extension: '.trig'},\n {name: 'TriG*', type: 'application/x-trigstar', extension: '.trigs'},\n {name: 'Binary RDF', type: 'application/x-binary-rdf', extension: '.brf'}\n ]);\n","import 'angular/core/services';\nimport 'angular/core/services/repositories.service';\nimport 'angular/core/services/jwt-auth.service';\nimport 'angular/utils/file-types';\nimport {decodeHTML} from \"../../../app\";\nimport {cloneDeep} from \"lodash\";\n\nconst modules = [\n 'ngCookies',\n 'ui.bootstrap',\n 'toastr',\n 'graphdb.framework.core.services.repositories',\n 'graphdb.framework.core.services.jwtauth',\n 'graphdb.workbench.utils.filetypes'\n];\n\nconst exportCtrl = angular.module('graphdb.framework.impex.export.controllers', modules);\n\nexportCtrl.controller('ExportCtrl',\n ['$scope', '$http', '$location', '$timeout', 'ModalService', 'filterFilter', '$repositories', 'toastr', 'RDF4JRepositoriesRestService', 'FileTypes', '$translate',\n function ($scope, $http, $location, $timeout, ModalService, filterFilter, $repositories, toastr, RDF4JRepositoriesRestService, FileTypes, $translate) {\n\n $scope.getActiveRepository = function () {\n return $repositories.getActiveRepository();\n };\n\n $scope.exportFormats = FileTypes;\n $scope.deleting = {};\n $scope.showExportDDTooltip = true;\n $scope.page = 1;\n $scope.pageSize = 10;\n $scope.pageSizeOptions = [10, 20, 50, 100];\n $scope.displayGraphs = [];\n $scope.exportFilter = '';\n $scope.export = true;\n $scope.exportMultipleGraphs = false;\n $scope.repoExportFormat = {\n name: 'TriG',\n type: 'application/x-trig',\n extension: '.trig'\n };\n $scope.selectedGraphs = {\n exportGraphs: {}\n };\n\n $scope.$watch(function () {\n return $repositories.getActiveRepository();\n }, function () {\n $scope.exportFilter = '';\n $scope.getGraphs();\n $scope.selectedAll = false;\n $timeout(function () {\n $scope.changePageSize(10);\n }, 100);\n });\n\n $scope.isShacl = function (iri) {\n return iri === \"http%3A%2F%2Frdf4j.org%2Fschema%2Frdf4j%23SHACLShapeGraph\";\n };\n\n /// <summary>Get Graphs that are part of the Active Repository.</summary>\n $scope.getGraphs = function () {\n if ($scope.getActiveRepository()) {\n $scope.loader = true;\n RDF4JRepositoriesRestService.getGraphs($scope.getActiveRepository()).success(function (data) {\n data.results.bindings.unshift({\n contextID: {\n type: 'default',\n value: 'import.default.graph'\n }\n });\n $scope.graphsByValue = {};\n Object.keys(data.results.bindings).forEach(function (key) {\n const binding = data.results.bindings[key];\n if (binding.contextID.type === 'bnode') {\n binding.contextID.value = '_:' + binding.contextID.value;\n } else if (binding.contextID.type === 'default') {\n binding.contextID.uri = encodeURIComponent('http://www.openrdf.org/schema/sesame#nil');\n binding.contextID.clearUri = 'DEFAULT';\n binding.contextID.exportUri = 'null';\n binding.contextID.longName = 'default graph';\n } else {\n binding.contextID.uri = encodeURIComponent(binding.contextID.value);\n binding.contextID.clearUri = 'GRAPH <' + binding.contextID.value + '>';\n binding.contextID.exportUri = encodeURIComponent('<' + binding.contextID.value + '>');\n binding.contextID.longName = 'named graph ' + binding.contextID.value;\n }\n $scope.graphsByValue[binding.contextID.value] = binding.contextID;\n });\n $scope.graphs = data.results.bindings;\n $scope.filteredGraphs = cloneDeep($scope.graphs);\n $scope.displayGraphs = $scope.filteredGraphs.slice($scope.pageSize * ($scope.page - 1), $scope.pageSize * $scope.page);\n $scope.loader = false;\n $scope.selectedGraphs.exportGraphs = {};\n $scope.matchedElements = $scope.graphs;\n }).error(function (data, status) {\n const msg = getError(data, status);\n if (msg === 'There is no active location!') {\n $repositories.setRepository('');\n toastr.error(msg, $translate.instant('common.error'));\n }\n $scope.loader = false;\n });\n } else {\n $scope.loader = false;\n }\n };\n\n $scope.onGraphSearch = function () {\n $scope.matchedElements = [];\n $scope.deselectAll();\n $scope.filterResults();\n };\n\n $scope.filterResults = function () {\n angular.forEach($scope.graphs, function (item) {\n if (item.contextID.value.indexOf($scope.exportFilter) !== -1) {\n $scope.matchedElements.push(item);\n }\n });\n };\n\n $scope.downloadExport = function (downloadUrl, format) {\n let url = downloadUrl + '&Accept=' + encodeURIComponent(format.type);\n const auth = localStorage.getItem('com.ontotext.graphdb.auth');\n if (auth) {\n url = url + '&authToken=' + encodeURIComponent(auth);\n }\n let win = window.open(url);\n $timeout(function () {\n if (win.document.location.href !== 'about:blank') {\n win.close();\n toastr.error('Could not export graph. Check GraphDB logs for detailed reason.');\n }\n }, 100);\n\n };\n\n /// <summary>Trigger the custom event for DD tooltip.</summary>\n $scope.openExportDDTooltip = function () {\n if ($scope.showExportDDTooltip) {\n $timeout(function () {\n $('#tooltipTarget').trigger('showExportDDTooltip');\n }, 0);\n $timeout(function () {\n $('#tooltipTarget').trigger('showExportDDTooltip');\n }, 3000);\n\n //Set to false so the tooltip shows only once\n $scope.showExportDDTooltip = false;\n\n }\n };\n\n /// <summary>Fill the hidden form and submit it to start download document.</summary>\n $scope.exportRepo = function (format, contextID) {\n if (format.type === 'application/rdf+xml' || format.type === 'text/plain' || format.type === 'text/turtle' || format.type === 'application/x-turtlestar' || format.type === 'text/rdf+n3') {\n ModalService.openSimpleModal({\n title: $translate.instant('common.warning'),\n message: decodeHTML($translate.instant('export.format.warning.msg')),\n warning: true\n }).result\n .then(function () {\n $scope.startDownload(format, contextID);\n });\n } else {\n $scope.startDownload(format, contextID);\n }\n };\n\n $scope.startDownload = function (format, contextID) {\n //If it's graph set the url for ?context=\n let downloadUrl;\n const repo = $repositories.getActiveRepositoryObject();\n if (contextID) {\n downloadUrl = `repositories/${repo.id}/statements?infer=false&context=${$scope.graphsByValue[contextID.value].exportUri}&location=${encodeURIComponent(repo.location)}`;\n } else {\n downloadUrl = `repositories/${repo.id}/statements?infer=false&location=${encodeURIComponent(repo.location)}`;\n }\n $scope.downloadExport(downloadUrl, format);\n };\n\n $scope.hasMultipleSelected = function () {\n if (_.isEmpty($scope.selectedGraphs.exportGraphs)) {\n return !_.isEmpty($scope.selectedGraphs.exportGraphs);\n } else {\n for (const index in $scope.selectedGraphs.exportGraphs) {\n if ($scope.selectedGraphs.exportGraphs[index] === true) {\n return true;\n }\n }\n return false;\n }\n };\n\n $scope.exportSelectedGraphs = function (format) {\n let contextStr = '';\n for (const index in $scope.selectedGraphs.exportGraphs) {\n if ($scope.selectedGraphs.exportGraphs[index]) {\n contextStr += 'context=' + $scope.graphsByValue[index].exportUri + '&';\n }\n }\n\n if (contextStr) {\n const startDownload = function () {\n contextStr = contextStr.substring(0, contextStr.length - 1);\n const downloadUrl = 'repositories/' + $scope.getActiveRepository() + '/statements?infer=false&' + contextStr;\n $scope.downloadExport(downloadUrl, format);\n };\n\n if (format.type === 'application/rdf+xml' || format.type === 'text/plain' || format.type === 'text/turtle' || format.type === 'application/x-turtlestar' || format.type === 'text/rdf+n3') {\n ModalService.openSimpleModal({\n title: $translate.instant('common.warning'),\n message: decodeHTML($translate.instant('export.format.warning.msg')),\n warning: true\n }).result\n .then(function () {\n startDownload();\n });\n } else {\n startDownload();\n }\n } else {\n ModalService.openSimpleModal({\n title: $translate.instant('export.multiple.graph'),\n message: $translate.instant('export.check.graphs.msg'),\n warning: true\n });\n }\n };\n\n $scope.$watch('exportFilter', function () {\n $scope.filteredGraphs = filterFilter($scope.graphs, $scope.exportFilter);\n if ($scope.getActiveRepository() && angular.element(document).find('.btn.btn-secondary.btn-sm.dropdown-toggle span').length) {\n const valueOfFilteredGraphsButton = angular.element(document).find('.btn.btn-secondary.btn-sm.dropdown-toggle span')[0].innerHTML.trim();\n let valueOfFilteredGraphs;\n if (valueOfFilteredGraphsButton === 'All') {\n valueOfFilteredGraphs = $scope.filteredGraphs.length;\n }\n if ($scope.filteredGraphs && $scope.filteredGraphs.length > $scope.pageSize && valueOfFilteredGraphsButton !== 'All') {\n valueOfFilteredGraphs = $scope.pageSize;\n }\n $scope.changePageSize(valueOfFilteredGraphs);\n $scope.changePagination();\n }\n });\n\n $scope.changePagination = function () {\n $scope.selectedAll = false;\n if (angular.isDefined($scope.filteredGraphs)) {\n $scope.displayGraphs = $scope.filteredGraphs.slice($scope.pageSize * ($scope.page - 1), $scope.pageSize * $scope.page);\n }\n };\n\n $scope.changePageSize = function (size) {\n $('.ot-graph-page-size').removeClass('active');\n $scope.page = 1;\n if (size) {\n $scope.pageSize = size;\n $scope.changePagination();\n }\n if ($scope.filteredGraphs && $scope.exportFilter !== '') {\n $scope.displayGraphs = $scope.filteredGraphs;\n }\n };\n\n $scope.checkAll = function () {\n $scope.selectedAll = $scope.selectedAll || false;\n\n angular.forEach($scope.displayGraphs, function (item) {\n if (item.contextID.uri) {\n $scope.selectedGraphs.exportGraphs[item.contextID.value] = $scope.selectedAll;\n }\n });\n };\n\n $scope.deselectAll = function () {\n $scope.selectedAll = false;\n angular.forEach($scope.displayGraphs, function (item) {\n if (item.contextID.uri) {\n $scope.selectedGraphs.exportGraphs[item.contextID.value] = false;\n }\n });\n };\n\n $scope.dropRepository = function () {\n if (!$scope.canWriteActiveRepo()) {\n return;\n }\n $scope.deleting['*'] = true;\n\n ModalService.openSimpleModal({\n title: $translate.instant('export.confirm.clear.msg'),\n message: $translate.instant('export.warning.clear.repo.msg', {repo: $repositories.getActiveRepository()}),\n warning: true\n }).result\n .then(function () {\n $timeout(function () {\n RDF4JRepositoriesRestService.addStatements($repositories.getActiveRepository(), 'update=CLEAR ALL')\n .then(function () {\n $scope.deleting['*'] = false;\n toastr.success($translate.instant('export.cleared.repo', {repo: $repositories.getActiveRepository()}));\n $scope.getGraphs();\n }, function (err) {\n $scope.deleting['*'] = false;\n const errMsg = err.data;\n if (typeof errMsg == \"string\" && errMsg.indexOf(\"Clearing all statements in the \" +\n \"repository is incompatible with collecting history\") > -1) {\n toastr.error($translate.instant('export.clearing.statements.warning'));\n } else {\n toastr.error($translate.instant('export.cleared.repo.failed.msg', {repo: $repositories.getActiveRepository()}), err);\n }\n });\n }, 100);\n });\n };\n\n function dropGraph(ctx) {\n const longName = ctx.contextID.longName;\n $scope.deleting[ctx] = true;\n ModalService.openSimpleModal({\n title: $translate.instant('export.confirm.clear.graph'),\n message: $translate.instant('export.clear.graph.warning', {longName: longName}),\n warning: true\n }).result\n .then(function () {\n $timeout(function () {\n const data = `update=CLEAR ${ctx.contextID.clearUri}`;\n RDF4JRepositoriesRestService.addStatements($repositories.getActiveRepository(), data)\n .then(function () {\n $scope.deleting[ctx] = false;\n toastr.success($translate.instant('export.cleared.graph', {longName: longName}));\n $scope.getGraphs();\n $scope.exportFilter = '';\n $scope.filteredGraphs.length = 0;\n $scope.updateResults();\n $scope.changePageSize($scope.pageSize);\n }, function (err) {\n $scope.deleting[ctx] = false;\n toastr.error($translate.instant('export.clear.graph.msg', {longName: longName}), getError(err, err.status));\n });\n }, 100);\n }, function () {\n $scope.deleting[ctx] = false;\n });\n }\n\n function dropSelectedGraphs(ctx) {\n const selectedGraphsForDelete = [];\n angular.forEach($scope.selectedGraphs.exportGraphs, function (value, key) {\n if (value) {\n selectedGraphsForDelete.push(key);\n }\n });\n\n if (selectedGraphsForDelete.length > 0) {\n $scope.deleting[ctx] = true;\n ModalService.openSimpleModal({\n title: $translate.instant('export.confirm.clear.graph'),\n message: $translate.instant('export.warning.clear.graph.msg'),\n warning: true\n }).result.then(function () {\n $timeout(function () {\n let counterOfClearedGraphs = 0;\n angular.forEach(selectedGraphsForDelete, function (contextID) {\n const data = `update=CLEAR ${$scope.graphsByValue[contextID].clearUri}`;\n RDF4JRepositoriesRestService.addStatements($repositories.getActiveRepository(), data)\n .then(function () {\n $scope.loader = true;\n $scope.selectedGraphs.exportGraphs[contextID] = false;\n delete $scope.selectedGraphs.exportGraphs[contextID];\n counterOfClearedGraphs++;\n if (selectedGraphsForDelete.length === counterOfClearedGraphs) {\n $scope.selectedAll = false;\n $scope.exportFilter = '';\n $scope.filteredGraphs.length = 0;\n $scope.getGraphs();\n $scope.updateResults();\n $scope.changePageSize($scope.pageSize);\n toastr.success($translate.instant('export.cleared.graph.msg'));\n $scope.loader = false;\n }\n }, function (err) {\n const longName = $scope.graphsByValue[contextID].longName;\n toastr.error($translate.instant('export.clear.graph.msg', {longName: longName}), getError(err, err.status));\n $scope.selectedAll = false;\n });\n });\n }, 100);\n }, function () {\n $scope.deleting[ctx] = false;\n });\n }\n }\n\n $scope.dropContext = function (ctx) {\n if (!$scope.canWriteActiveRepo()) {\n return;\n }\n if (angular.isDefined(ctx)) {\n dropGraph(ctx);\n } else {\n dropSelectedGraphs(ctx);\n }\n };\n }]);\n"],"sourceRoot":""}
1
+ {"version":3,"sources":["webpack:///./src/js/angular/utils/file-types.js","webpack:///./src/js/angular/export/controllers.js"],"names":["angular","module","value","name","type","extension","controller","$scope","$http","$location","$timeout","ModalService","filterFilter","$repositories","toastr","RDF4JRepositoriesRestService","FileTypes","$translate","getActiveRepository","exportFormats","deleting","showExportDDTooltip","page","pageSize","pageSizeOptions","displayGraphs","exportFilter","export","exportMultipleGraphs","repoExportFormat","selectedGraphs","exportGraphs","$watch","getGraphs","selectedAll","changePageSize","isShacl","iri","loader","success","data","results","bindings","unshift","contextID","graphsByValue","Object","keys","forEach","key","binding","uri","encodeURIComponent","clearUri","exportUri","longName","graphs","filteredGraphs","slice","matchedElements","error","status","msg","getError","setRepository","instant","onGraphSearch","deselectAll","filterResults","item","indexOf","push","downloadExport","downloadUrl","format","url","auth","localStorage","getItem","win","window","open","document","location","href","close","openExportDDTooltip","$","trigger","exportRepo","openSimpleModal","title","message","warning","result","then","startDownload","repo","getActiveRepositoryObject","id","hasMultipleSelected","_","isEmpty","index","exportSelectedGraphs","contextStr","substring","length","element","find","valueOfFilteredGraphsButton","innerHTML","trim","valueOfFilteredGraphs","changePagination","isDefined","size","removeClass","checkAll","dropRepository","canWriteActiveRepo","addStatements","err","errMsg","dropContext","ctx","updateResults","dropGraph","selectedGraphsForDelete","counterOfClearedGraphs","dropSelectedGraphs"],"mappings":"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","file":"37.ac99eb00fe71266c5bff.bundle.js","sourcesContent":["angular.module('graphdb.workbench.utils.filetypes', [])\n .value('FileTypes', [\n {name: 'JSON', type: 'application/rdf+json', extension: '.json'},\n {name: 'JSON-LD', type: 'application/ld+json', extension: '.jsonld'},\n {name: 'RDF-XML', type: 'application/rdf+xml', extension: '.rdf'},\n {name: 'N3', type: 'text/rdf+n3', extension: '.n3'},\n {name: 'N-Triples', type: 'text/plain', extension: '.nt'},\n {name: 'N-Quads', type: 'text/x-nquads', extension: '.nq'},\n {name: 'Turtle', type: 'text/turtle', extension: '.ttl'},\n {name: 'Turtle*', type: 'application/x-turtlestar', extension: '.ttls'},\n {name: 'TriX', type: 'application/trix', extension: '.trix'},\n {name: 'TriG', type: 'application/x-trig', extension: '.trig'},\n {name: 'TriG*', type: 'application/x-trigstar', extension: '.trigs'},\n {name: 'Binary RDF', type: 'application/x-binary-rdf', extension: '.brf'}\n ]);\n","import 'angular/core/services';\nimport 'angular/core/services/repositories.service';\nimport 'angular/core/services/jwt-auth.service';\nimport 'angular/utils/file-types';\nimport {decodeHTML} from \"../../../app\";\nimport {cloneDeep} from \"lodash\";\n\nconst modules = [\n 'ngCookies',\n 'ui.bootstrap',\n 'toastr',\n 'graphdb.framework.core.services.repositories',\n 'graphdb.framework.core.services.jwtauth',\n 'graphdb.workbench.utils.filetypes'\n];\n\nconst exportCtrl = angular.module('graphdb.framework.impex.export.controllers', modules);\n\nexportCtrl.controller('ExportCtrl',\n ['$scope', '$http', '$location', '$timeout', 'ModalService', 'filterFilter', '$repositories', 'toastr', 'RDF4JRepositoriesRestService', 'FileTypes', '$translate',\n function ($scope, $http, $location, $timeout, ModalService, filterFilter, $repositories, toastr, RDF4JRepositoriesRestService, FileTypes, $translate) {\n\n $scope.getActiveRepository = function () {\n return $repositories.getActiveRepository();\n };\n\n $scope.exportFormats = FileTypes;\n $scope.deleting = {};\n $scope.showExportDDTooltip = true;\n $scope.page = 1;\n $scope.pageSize = 10;\n $scope.pageSizeOptions = [10, 20, 50, 100];\n $scope.displayGraphs = [];\n $scope.exportFilter = '';\n $scope.export = true;\n $scope.exportMultipleGraphs = false;\n $scope.repoExportFormat = {\n name: 'TriG',\n type: 'application/x-trig',\n extension: '.trig'\n };\n $scope.selectedGraphs = {\n exportGraphs: {}\n };\n\n $scope.$watch(function () {\n return $repositories.getActiveRepository();\n }, function () {\n $scope.exportFilter = '';\n $scope.getGraphs();\n $scope.selectedAll = false;\n $timeout(function () {\n $scope.changePageSize(10);\n }, 100);\n });\n\n $scope.isShacl = function (iri) {\n return iri === \"http%3A%2F%2Frdf4j.org%2Fschema%2Frdf4j%23SHACLShapeGraph\";\n };\n\n /// <summary>Get Graphs that are part of the Active Repository.</summary>\n $scope.getGraphs = function () {\n if ($scope.getActiveRepository()) {\n $scope.loader = true;\n RDF4JRepositoriesRestService.getGraphs($scope.getActiveRepository()).success(function (data) {\n data.results.bindings.unshift({\n contextID: {\n type: 'default',\n value: 'import.default.graph'\n }\n });\n $scope.graphsByValue = {};\n Object.keys(data.results.bindings).forEach(function (key) {\n const binding = data.results.bindings[key];\n if (binding.contextID.type === 'bnode') {\n binding.contextID.value = '_:' + binding.contextID.value;\n } else if (binding.contextID.type === 'default') {\n binding.contextID.uri = encodeURIComponent('http://www.openrdf.org/schema/sesame#nil');\n binding.contextID.clearUri = 'DEFAULT';\n binding.contextID.exportUri = 'null';\n binding.contextID.longName = 'default graph';\n } else {\n binding.contextID.uri = encodeURIComponent(binding.contextID.value);\n binding.contextID.clearUri = 'GRAPH <' + binding.contextID.value + '>';\n binding.contextID.exportUri = encodeURIComponent('<' + binding.contextID.value + '>');\n binding.contextID.longName = 'named graph ' + binding.contextID.value;\n }\n $scope.graphsByValue[binding.contextID.value] = binding.contextID;\n });\n $scope.graphs = data.results.bindings;\n $scope.filteredGraphs = cloneDeep($scope.graphs);\n $scope.displayGraphs = $scope.filteredGraphs.slice($scope.pageSize * ($scope.page - 1), $scope.pageSize * $scope.page);\n $scope.loader = false;\n $scope.selectedGraphs.exportGraphs = {};\n $scope.matchedElements = $scope.graphs;\n }).error(function (data, status) {\n const msg = getError(data, status);\n if (msg === 'There is no active location!') {\n $repositories.setRepository('');\n toastr.error(msg, $translate.instant('common.error'));\n }\n $scope.loader = false;\n });\n } else {\n $scope.loader = false;\n }\n };\n\n $scope.onGraphSearch = function () {\n $scope.matchedElements = [];\n $scope.deselectAll();\n $scope.filterResults();\n };\n\n $scope.filterResults = function () {\n angular.forEach($scope.graphs, function (item) {\n if (item.contextID.value.indexOf($scope.exportFilter) !== -1) {\n $scope.matchedElements.push(item);\n }\n });\n };\n\n $scope.downloadExport = function (downloadUrl, format) {\n let url = downloadUrl + '&Accept=' + encodeURIComponent(format.type);\n const auth = localStorage.getItem('com.ontotext.graphdb.auth');\n if (auth) {\n url = url + '&authToken=' + encodeURIComponent(auth);\n }\n let win = window.open(url);\n $timeout(function () {\n if (win.document.location.href !== 'about:blank') {\n win.close();\n toastr.error('Could not export graph. Check GraphDB logs for detailed reason.');\n }\n }, 100);\n\n };\n\n /// <summary>Trigger the custom event for DD tooltip.</summary>\n $scope.openExportDDTooltip = function () {\n if ($scope.showExportDDTooltip) {\n $timeout(function () {\n $('#tooltipTarget').trigger('showExportDDTooltip');\n }, 0);\n $timeout(function () {\n $('#tooltipTarget').trigger('showExportDDTooltip');\n }, 3000);\n\n //Set to false so the tooltip shows only once\n $scope.showExportDDTooltip = false;\n\n }\n };\n\n /// <summary>Fill the hidden form and submit it to start download document.</summary>\n $scope.exportRepo = function (format, contextID) {\n if (format.type === 'application/rdf+xml' || format.type === 'text/plain' || format.type === 'text/turtle' || format.type === 'application/x-turtlestar' || format.type === 'text/rdf+n3') {\n ModalService.openSimpleModal({\n title: $translate.instant('common.warning'),\n message: decodeHTML($translate.instant('export.format.warning.msg')),\n warning: true\n }).result\n .then(function () {\n $scope.startDownload(format, contextID);\n });\n } else {\n $scope.startDownload(format, contextID);\n }\n };\n\n $scope.startDownload = function (format, contextID) {\n //If it's graph set the url for ?context=\n let downloadUrl;\n const repo = $repositories.getActiveRepositoryObject();\n if (contextID) {\n downloadUrl = `repositories/${repo.id}/statements?infer=false&context=${$scope.graphsByValue[contextID.value].exportUri}&location=${encodeURIComponent(repo.location)}`;\n } else {\n downloadUrl = `repositories/${repo.id}/statements?infer=false&location=${encodeURIComponent(repo.location)}`;\n }\n $scope.downloadExport(downloadUrl, format);\n };\n\n $scope.hasMultipleSelected = function () {\n if (_.isEmpty($scope.selectedGraphs.exportGraphs)) {\n return !_.isEmpty($scope.selectedGraphs.exportGraphs);\n } else {\n for (const index in $scope.selectedGraphs.exportGraphs) {\n if ($scope.selectedGraphs.exportGraphs[index] === true) {\n return true;\n }\n }\n return false;\n }\n };\n\n $scope.exportSelectedGraphs = function (format) {\n let contextStr = '';\n for (const index in $scope.selectedGraphs.exportGraphs) {\n if ($scope.selectedGraphs.exportGraphs[index]) {\n contextStr += 'context=' + $scope.graphsByValue[index].exportUri + '&';\n }\n }\n\n if (contextStr) {\n const startDownload = function () {\n contextStr = contextStr.substring(0, contextStr.length - 1);\n const downloadUrl = 'repositories/' + $scope.getActiveRepository() + '/statements?infer=false&' + contextStr;\n $scope.downloadExport(downloadUrl, format);\n };\n\n if (format.type === 'application/rdf+xml' || format.type === 'text/plain' || format.type === 'text/turtle' || format.type === 'application/x-turtlestar' || format.type === 'text/rdf+n3') {\n ModalService.openSimpleModal({\n title: $translate.instant('common.warning'),\n message: decodeHTML($translate.instant('export.format.warning.msg')),\n warning: true\n }).result\n .then(function () {\n startDownload();\n });\n } else {\n startDownload();\n }\n } else {\n ModalService.openSimpleModal({\n title: $translate.instant('export.multiple.graph'),\n message: $translate.instant('export.check.graphs.msg'),\n warning: true\n });\n }\n };\n\n $scope.$watch('exportFilter', function () {\n $scope.filteredGraphs = filterFilter($scope.graphs, $scope.exportFilter);\n if ($scope.getActiveRepository() && angular.element(document).find('.btn.btn-secondary.btn-sm.dropdown-toggle span').length) {\n const valueOfFilteredGraphsButton = angular.element(document).find('.btn.btn-secondary.btn-sm.dropdown-toggle span')[0].innerHTML.trim();\n let valueOfFilteredGraphs;\n if (valueOfFilteredGraphsButton === 'All') {\n valueOfFilteredGraphs = $scope.filteredGraphs.length;\n }\n if ($scope.filteredGraphs && $scope.filteredGraphs.length > $scope.pageSize && valueOfFilteredGraphsButton !== 'All') {\n valueOfFilteredGraphs = $scope.pageSize;\n }\n $scope.changePageSize(valueOfFilteredGraphs);\n $scope.changePagination();\n }\n });\n\n $scope.changePagination = function () {\n $scope.selectedAll = false;\n if (angular.isDefined($scope.filteredGraphs)) {\n $scope.displayGraphs = $scope.filteredGraphs.slice($scope.pageSize * ($scope.page - 1), $scope.pageSize * $scope.page);\n }\n };\n\n $scope.changePageSize = function (size) {\n $('.ot-graph-page-size').removeClass('active');\n $scope.page = 1;\n if (size) {\n $scope.pageSize = size;\n $scope.changePagination();\n }\n if ($scope.filteredGraphs && $scope.exportFilter !== '') {\n $scope.displayGraphs = $scope.filteredGraphs;\n }\n };\n\n $scope.checkAll = function () {\n $scope.selectedAll = $scope.selectedAll || false;\n\n angular.forEach($scope.displayGraphs, function (item) {\n if (item.contextID.uri) {\n $scope.selectedGraphs.exportGraphs[item.contextID.value] = $scope.selectedAll;\n }\n });\n };\n\n $scope.deselectAll = function () {\n $scope.selectedAll = false;\n angular.forEach($scope.displayGraphs, function (item) {\n if (item.contextID.uri) {\n $scope.selectedGraphs.exportGraphs[item.contextID.value] = false;\n }\n });\n };\n\n $scope.dropRepository = function () {\n if (!$scope.canWriteActiveRepo()) {\n return;\n }\n $scope.deleting['*'] = true;\n\n ModalService.openSimpleModal({\n title: $translate.instant('export.confirm.clear.msg'),\n message: $translate.instant('export.warning.clear.repo.msg', {repo: $repositories.getActiveRepository()}),\n warning: true\n }).result\n .then(function () {\n $timeout(function () {\n RDF4JRepositoriesRestService.addStatements($repositories.getActiveRepository(), 'update=CLEAR ALL')\n .then(function () {\n $scope.deleting['*'] = false;\n toastr.success($translate.instant('export.cleared.repo', {repo: $repositories.getActiveRepository()}));\n $scope.getGraphs();\n }, function (err) {\n $scope.deleting['*'] = false;\n const errMsg = err.data;\n if (typeof errMsg == \"string\" && errMsg.indexOf(\"Clearing all statements in the \" +\n \"repository is incompatible with collecting history\") > -1) {\n toastr.error($translate.instant('export.clearing.statements.warning'));\n } else {\n toastr.error($translate.instant('export.cleared.repo.failed.msg', {repo: $repositories.getActiveRepository()}), err);\n }\n });\n }, 100);\n });\n };\n\n function dropGraph(ctx) {\n const longName = ctx.contextID.longName;\n $scope.deleting[ctx] = true;\n ModalService.openSimpleModal({\n title: $translate.instant('export.confirm.clear.graph'),\n message: $translate.instant('export.clear.graph.warning', {longName: longName}),\n warning: true\n }).result\n .then(function () {\n $timeout(function () {\n const data = `update=CLEAR ${ctx.contextID.clearUri}`;\n RDF4JRepositoriesRestService.addStatements($repositories.getActiveRepository(), data)\n .then(function () {\n $scope.deleting[ctx] = false;\n toastr.success($translate.instant('export.cleared.graph', {longName: longName}));\n $scope.getGraphs();\n $scope.exportFilter = '';\n $scope.filteredGraphs.length = 0;\n $scope.updateResults();\n $scope.changePageSize($scope.pageSize);\n }, function (err) {\n $scope.deleting[ctx] = false;\n toastr.error($translate.instant('export.clear.graph.msg', {longName: longName}), getError(err, err.status));\n });\n }, 100);\n }, function () {\n $scope.deleting[ctx] = false;\n });\n }\n\n function dropSelectedGraphs(ctx) {\n const selectedGraphsForDelete = [];\n angular.forEach($scope.selectedGraphs.exportGraphs, function (value, key) {\n if (value) {\n selectedGraphsForDelete.push(key);\n }\n });\n\n if (selectedGraphsForDelete.length > 0) {\n $scope.deleting[ctx] = true;\n ModalService.openSimpleModal({\n title: $translate.instant('export.confirm.clear.graph'),\n message: $translate.instant('export.warning.clear.graph.msg'),\n warning: true\n }).result.then(function () {\n $timeout(function () {\n let counterOfClearedGraphs = 0;\n angular.forEach(selectedGraphsForDelete, function (contextID) {\n const data = `update=CLEAR ${$scope.graphsByValue[contextID].clearUri}`;\n RDF4JRepositoriesRestService.addStatements($repositories.getActiveRepository(), data)\n .then(function () {\n $scope.loader = true;\n $scope.selectedGraphs.exportGraphs[contextID] = false;\n delete $scope.selectedGraphs.exportGraphs[contextID];\n counterOfClearedGraphs++;\n if (selectedGraphsForDelete.length === counterOfClearedGraphs) {\n $scope.selectedAll = false;\n $scope.exportFilter = '';\n $scope.filteredGraphs.length = 0;\n $scope.getGraphs();\n $scope.updateResults();\n $scope.changePageSize($scope.pageSize);\n toastr.success($translate.instant('export.cleared.graph.msg'));\n $scope.loader = false;\n }\n }, function (err) {\n const longName = $scope.graphsByValue[contextID].longName;\n toastr.error($translate.instant('export.clear.graph.msg', {longName: longName}), getError(err, err.status));\n $scope.selectedAll = false;\n });\n });\n }, 100);\n }, function () {\n $scope.deleting[ctx] = false;\n });\n }\n }\n\n $scope.dropContext = function (ctx) {\n if (!$scope.canWriteActiveRepo()) {\n return;\n }\n if (angular.isDefined(ctx)) {\n dropGraph(ctx);\n } else {\n dropSelectedGraphs(ctx);\n }\n };\n }]);\n"],"sourceRoot":""}
@@ -1,2 +1,2 @@
1
- (window.webpackJsonp=window.webpackJsonp||[]).push([[39,134],{40:function(e,n){function t(e,n){return{showToastMessageWithDelay:function(t){return new Promise(r=>{e.success(n.instant(t)),setTimeout(r,200)})}}}angular.module("graphdb.framework.utils.notifications",[]).factory("Notifications",t),t.$inject=["toastr","$translate"]},82:function(e,n,t){"use strict";t.r(n);t(40),t(5);function r(e,n,t,r,o,i,a,u,s,c,d,g,f,l,p){var w;e.page=1,e.totalPages=5,e.helpHidden=1===f.get(l.HIDE_GRAPH_CONFIG_HELP),e.toggleHelp=function(n){void 0===n&&(n=f.get(l.HIDE_GRAPH_CONFIG_HELP)),1!==n?(f.set(l.HIDE_GRAPH_CONFIG_HELP,1),e.helpHidden=!0):(f.set(l.HIDE_GRAPH_CONFIG_HELP,0),e.helpHidden=!1)},e.fixedVisualCallback=function(n,t){e.newConfig.startIRI=n,e.newConfig.startIRILabel=t,w=!0},e.isDefaultGraph=function(e){return"Minimal"===e.name||"Advanced"===e.name},e.isUserGraph=function(n){return!e.isDefaultGraph(n)},e.getSampleName=function(e,n){const t=e[n+"Description"];return t||(e.id?"Copy of "+e.name:e.name)};const y=c.configName;function m(e){r.warning(e)}function C(n){let t;return"query"===n.startMode&&1===e.page?t=n.startGraphQuery:2===e.page?t=n.expandQuery:3===e.page?t=n.resourceQuery:4===e.page?t=n.predicateLabelQuery:5===e.page&&(t=n.resourcePropertiesQuery),angular.isDefined(t)?t:""}function h(){function i(){e.getAutocompletePromise=s.checkAutocompleteStatus()}u.getGraphConfigSamples().success((function(n){e.samples=_.filter(n,(function(n){return!n.id||e.newConfig.id!==n.id||(e.revertConfig=n,!1)}))})).error((function(e){r.error(getError(e),p.instant("graphexplore.error.graph.configs"))})),e.createGraphConfig=function(){u.createGraphConfig(e.newConfig).success((async function(){await d.showToastMessageWithDelay("graphexplore.saved.new.config"),t.url("graphs-visualizations")})).error((function(e){r.error(getError(e),p.instant("graphexplore.error.could.not.create"))}))},e.updateGraphConfig=function(){u.updateGraphConfig(e.newConfig).success((async function(){await d.showToastMessageWithDelay("graphexplore.saved.config"),t.url("graphs-visualizations")})).error((function(e){r.error(getError(e),p.instant("graphexplore.error.could.not.save"))}))},e.$on("autocompleteStatus",(function(){i()})),i(),e.getNamespacesPromise=g.getNamespaces(e.getActiveRepository());const a=function(e,n,t,r,o,i){n?u.validateQuery(n,t,r,o,i).success((function(){e()})).error((function(e){m(getError(e))})):e()};function c(){f()&&e.$broadcast("addStartFixedNodeAutomatically",{startIRI:e.newConfig.startIRI})}function f(){return 1===e.page&&"node"===e.newConfig.startMode}e.validateCurrentPage=function(n){e.updateModel(),1===e.page?"node"!==e.newConfig.startMode||e.newConfig.startIRI?"query"!==e.newConfig.startMode||e.newConfig.startGraphQuery?"query"===e.newConfig.startMode?a(n,e.newConfig.startGraphQuery,"graph"):n():m(p.instant("graphexplore.provide.query")):m(p.instant("graphexplore.select.start.node")):2===e.page?a(n,e.newConfig.expandQuery,"construct",["node"]):3===e.page?a(n,e.newConfig.resourceQuery,"tuple",["node"],[],["type","label","comment","rank"]):4===e.page?a(n,e.newConfig.predicateLabelQuery,"tuple",["edge"],["label"]):5===e.page&&a(n,e.newConfig.resourcePropertiesQuery,"tuple",["node"],["property","value"])},e.goToPage=function(n){e.page!==n&&e.validateCurrentPage((function(){e.showEditor(),e.page=n,e.notoolbar=1!==e.page}))},e.goToPreviousPage=function(){e.page>1&&e.goToPage(e.page-1),f()&&(w=!1)},e.goToNextPage=function(){c(),("node"!==e.newConfig.startMode||w)&&e.goToPage(e.page+1)},e.saveGraphConfig=function(){c(),f()&&!w||(e.newConfig.startQueryIncludeInferred=e.currentQuery.inference,e.newConfig.startQuerySameAs=e.currentQuery.sameAs,e.validateCurrentPage((function(){e.newConfig.name?e.isUpdate?e.updateGraphConfig(e.newConfig):e.createGraphConfig(e.newConfig):m(p.instant("graphexplore.provide.config.name"))})))},e.updateModel=function(){const n=window.editor.getValue().trim();"query"===e.newConfig.startMode&&1===e.page?e.newConfig.startGraphQuery=n:2===e.page?e.newConfig.expandQuery=n:3===e.page?e.newConfig.resourceQuery=n:4===e.page?e.newConfig.predicateLabelQuery=n:5===e.page&&(e.newConfig.resourcePropertiesQuery=n)},e.setQuery=function(e){window.editor.setValue(e||" ")},e.updateDirty=function(){if(e.revertConfig){const n=C(e.revertConfig),t=window.editor.getValue().trim();e.queryEditorIsDirty=n!==t}},e.updateEditor=function(){n((function(){e.currentQuery.query=C(e.newConfig),o.isActiveRepoOntopType()&&(e.nocount=!0),e.currentQuery.inference=e.newConfig.startQueryIncludeInferred,e.currentQuery.sameAs=e.newConfig.startQuerySameAs,R(),S(e.currentQuery.id)}),100)},e.showEditor=function(){window.editor&&window.editor.xhr&&window.editor.xhr.abort(),e.viewMode="yasr"},e.showPreview=function(){e.currentQuery.outputType="table",e.runQuery()},e.revertEditor=function(){e.setQuery(C(e.revertConfig))},e.$watch("newConfig.startMode",(function(t){"query"===t&&n((function(){e.updateEditor()}),0)})),e.$watch("page",(function(t){("query"===e.newConfig.startMode||t>1)&&n((function(){e.showEditor(),e.updateEditor()}),0)}))}e.newConfig={startQueryIncludeInferred:!0,startQuerySameAs:!0},e.newConfig.startMode="search",e.isUpdate=!1,e.shared=!1,e.encodeQuery=function(e){return encodeURIComponent(e)},y?(e.isUpdate=!0,u.getConfig(y).success((function(n){e.newConfig=n,h()})).error((function(e){r.error(getError(e),p.instant("created.connector",{name:y}))}))):(e.isUpdate=!1,h());const b={id:"1",name:"",query:"select * where { \n\t?s ?p ?o .\n} limit 100 \n",inference:e.newConfig.startQueryIncludeInferred,sameAs:e.newConfig.startQuerySameAs};function Q(e){}function T(n,t,r){const o=angular.element(document.getElementById("yasr-inner"));e.queryIsRunning=n,n?(e.queryStartTime=Date.now(),e.countTimeouted=!1,e.progressMessage=t,e.extraMessage=r,o.addClass("hide")):(e.progressMessage="",e.extraMessage="",o.removeClass("hide")),null===e.$$phase&&e.$apply()}function M(t){function r(){return window.innerHeight||document.documentElement.clientHeight||document.body.clientHeight||0}const o=t;if(e.orientationViewMode){if("yasr"===e.viewMode){let e=r()-document.querySelector(".CodeMirror-wrap").getBoundingClientRect().top;e-=40,document.querySelector(".CodeMirror-wrap").style.height=e+"px"}else e.noPadding={},document.querySelector(".CodeMirror-wrap").style.height="";document.getElementById("yasr").style.minHeight=""}else if(e.noPadding={paddingRight:15,paddingLeft:0},window.editor&&document.querySelector(".CodeMirror-wrap")){let e=r()-document.querySelector(".CodeMirror-wrap").getBoundingClientRect().top;e-=40,document.querySelector(".CodeMirror-wrap").style.height=e+"px",document.getElementById("yasr").style.minHeight=e+"px"}else{let t;t=n(o?function(){e.fixSizesOnHorizontalViewModeSwitch(o)}:e.fixSizesOnHorizontalViewModeSwitch,100),e.$on("$destroy",(function(){n.cancel(t)}))}window.yasr&&window.yasr.container&&n((function(){window.yasr.container.resize()}),100)}function v(){M(!0)}function S(e){n((function(){$('a[data-id = "'+e+'"]').tab("show")}),0)}function x(n,t){e.executedQueryTab=e.currentQuery,t&&"SELECT"!==window.editor.getQueryType()&&"CONSTRUCT"!==window.editor.getQueryType()?r.warning(p.instant("query.editor.warning.msg")):"update"!==window.editor.getQueryMode()?(e.explainRequested=t,e.queryIsRunning||(n?e.currentTabConfig.resultsCount=0:e.resetCurrentTabConfig(),e.viewMode="editor",e.orientationViewMode&&e.fixSizesOnHorizontalViewModeSwitch(),T(!0,p.instant("evaluating.query.msg")),window.editor.query())):r.warning(p.instant("cannot.execute.update.error"))}function E(){T(!0,p.instant("common.refreshing.namespaces"),p.instant("common.extra.message")),g.getRepositoryNamespaces().success((function(n){const t={};n.results.bindings.forEach((function(e){t[e.prefix.value]=e.namespace.value})),e.namespaces=t})).error((function(n){e.repositoryError=getError(n)})).finally((function(){T(!1)}))}function q(){i.addKnownPrefixes(JSON.stringify(window.editor.getValue())).success((function(e){angular.isDefined(window.editor)&&angular.isDefined(e)&&e!==window.editor.getValue()&&window.editor.setValue(e)})).error((function(e){let n=getError(e);return r.error(n,p.instant("common.add.known.prefixes.error")),!0}))}function I(n){let t=void 0;return angular.forEach(e.tabsData,(function(e){if(e.name===n.name&&e.query===n.body)return t=e.id,e})),t}function R(){e.tabsData=[e.currentQuery];let t=e.currentQuery;null==e.currentQuery.query||""===e.currentQuery.query?window.editor.setValue(" "):window.editor.setValue(e.currentQuery.query),n((function(){e.currentTabConfig={},e.currentTabConfig.queryType=t.queryType,e.currentTabConfig.resultsCount=t.resultsCount,e.currentTabConfig.offset=t.offset,e.currentTabConfig.allResultsCount=t.allResultsCount,e.currentTabConfig.page=t.page,e.currentTabConfig.pageSize=t.pageSize,e.currentTabConfig.timeFinished=t.timeFinished,e.currentTabConfig.timeTook=t.timeTook,e.currentTabConfig.sizeDelta=t.sizeDelta,e.$apply()}),0),$("#yasr").css("padding","0")}function P(e){return $(e).attr("data-id")}e.resetCurrentTabConfig=function(){e.currentTabConfig={pageSize:100,page:1,allResultsCount:0,resultsCount:0}},e.queryExists=!1,e.resetCurrentTabConfig(),e.tabsData=e.tabs=[b],e.saveTab=function(n){const t=function(n){for(let t=0;t<e.tabsData.length;t++){if(e.tabsData[t].id===n)return t}}(n);if(void 0===t)return{};const r=e.tabsData[t];return e.saveQueryToLocal(r),r},e.loadTab=R,e.addNewTab=function(e,n,t){},e.runQuery=x,e.getNamespaces=E,e.changePagination=function(){x(!0,e.explainRequested)},e.toggleSampleQueries=function(){},e.addKnownPrefixes=q,e.getExistingTabId=I,e.querySelected=function(n){const t=I(n);e.toggleSampleQueries(),angular.isDefined(t)?S(t):e.addNewTab(null,n.name,n.body)},e.saveQueryToLocal=Q,e.setLoader=T,e.getLoaderMessage=function(){const n=(Date.now()-e.queryStartTime)/1e3,t=e.getHumanReadableSeconds(n);let r;r=e.progressMessage?e.progressMessage+"... "+t:p.instant("common.running.operation",{timeHuman:t});e.extraMessage&&n>10&&(r+="\n"+e.extraMessage);return r},e.fixSizesOnHorizontalViewModeSwitch=M,e.changeViewMode=function(t){e.viewMode="none",e.orientationViewMode=!e.orientationViewMode,M(),$(".dataTables_filter").remove(),$(".resultsTable").remove(),n((function(){R(),S(t)}),100)},e.showHideEditor=v,e.focusQueryEditor=function(){angular.element(document).find(".editable-input").is(":focus")||angular.element(document).find(".CodeMirror textarea:first-child").focus()},e.orientationViewMode=!0,e.orientationViewMode||v(),e.getActiveRepository()&&E(),e.$on("$destroy",(function(){window.editor=null,window.yasr=null})),$("textarea").on("paste",(function(){n((function(){q()}),0)})),e.$watchCollection("[currentQuery.inference, currentQuery.sameAs]",(function(){e.currentQuery})),e.$on("tabAction",(function(n,t){t.relatedTarget&&e.saveTab(P(t.relatedTarget)),e.loadTab(P(t.target))})),e.$on("deleteAllexeptSelected",(function(n,t){e.tabsData=t,e.tabs=t})),e.currentQuery=angular.copy(b),e.showSampleQueries=!1,e.savedQuery={},e.sampleQueries={},e.getResultsDescription=function(){},e.getUpdateDescription=function(){},e.getStaleWarningMessage=function(){}}angular.module("graphdb.framework.graphexplore.controllers.graphviz.config",["graphdb.framework.utils.notifications","graphdb.framework.utils.localstorageadapter"]).controller("GraphConfigCtrl",r),r.$inject=["$scope","$timeout","$location","toastr","$repositories","SparqlRestService","$filter","GraphConfigRestService","AutocompleteRestService","$routeParams","Notifications","RDF4JRepositoriesRestService","LocalStorageAdapter","LSKeys","$translate"]}}]);
2
- //# sourceMappingURL=39.0eebc4b972cff879c1c9.bundle.js.map
1
+ (window.webpackJsonp=window.webpackJsonp||[]).push([[39,134],{40:function(e,n){function t(e,n){return{showToastMessageWithDelay:function(t){return new Promise(r=>{e.success(n.instant(t)),setTimeout(r,200)})}}}angular.module("graphdb.framework.utils.notifications",[]).factory("Notifications",t),t.$inject=["toastr","$translate"]},83:function(e,n,t){"use strict";t.r(n);t(40),t(5);function r(e,n,t,r,o,i,a,u,s,c,d,g,f,l,p){var w;e.page=1,e.totalPages=5,e.helpHidden=1===f.get(l.HIDE_GRAPH_CONFIG_HELP),e.toggleHelp=function(n){void 0===n&&(n=f.get(l.HIDE_GRAPH_CONFIG_HELP)),1!==n?(f.set(l.HIDE_GRAPH_CONFIG_HELP,1),e.helpHidden=!0):(f.set(l.HIDE_GRAPH_CONFIG_HELP,0),e.helpHidden=!1)},e.fixedVisualCallback=function(n,t){e.newConfig.startIRI=n,e.newConfig.startIRILabel=t,w=!0},e.isDefaultGraph=function(e){return"Minimal"===e.name||"Advanced"===e.name},e.isUserGraph=function(n){return!e.isDefaultGraph(n)},e.getSampleName=function(e,n){const t=e[n+"Description"];return t||(e.id?"Copy of "+e.name:e.name)};const y=c.configName;function m(e){r.warning(e)}function C(n){let t;return"query"===n.startMode&&1===e.page?t=n.startGraphQuery:2===e.page?t=n.expandQuery:3===e.page?t=n.resourceQuery:4===e.page?t=n.predicateLabelQuery:5===e.page&&(t=n.resourcePropertiesQuery),angular.isDefined(t)?t:""}function h(){function i(){e.getAutocompletePromise=s.checkAutocompleteStatus()}u.getGraphConfigSamples().success((function(n){e.samples=_.filter(n,(function(n){return!n.id||e.newConfig.id!==n.id||(e.revertConfig=n,!1)}))})).error((function(e){r.error(getError(e),p.instant("graphexplore.error.graph.configs"))})),e.createGraphConfig=function(){u.createGraphConfig(e.newConfig).success((async function(){await d.showToastMessageWithDelay("graphexplore.saved.new.config"),t.url("graphs-visualizations")})).error((function(e){r.error(getError(e),p.instant("graphexplore.error.could.not.create"))}))},e.updateGraphConfig=function(){u.updateGraphConfig(e.newConfig).success((async function(){await d.showToastMessageWithDelay("graphexplore.saved.config"),t.url("graphs-visualizations")})).error((function(e){r.error(getError(e),p.instant("graphexplore.error.could.not.save"))}))},e.$on("autocompleteStatus",(function(){i()})),i(),e.getNamespacesPromise=g.getNamespaces(e.getActiveRepository());const a=function(e,n,t,r,o,i){n?u.validateQuery(n,t,r,o,i).success((function(){e()})).error((function(e){m(getError(e))})):e()};function c(){f()&&e.$broadcast("addStartFixedNodeAutomatically",{startIRI:e.newConfig.startIRI})}function f(){return 1===e.page&&"node"===e.newConfig.startMode}e.validateCurrentPage=function(n){e.updateModel(),1===e.page?"node"!==e.newConfig.startMode||e.newConfig.startIRI?"query"!==e.newConfig.startMode||e.newConfig.startGraphQuery?"query"===e.newConfig.startMode?a(n,e.newConfig.startGraphQuery,"graph"):n():m(p.instant("graphexplore.provide.query")):m(p.instant("graphexplore.select.start.node")):2===e.page?a(n,e.newConfig.expandQuery,"construct",["node"]):3===e.page?a(n,e.newConfig.resourceQuery,"tuple",["node"],[],["type","label","comment","rank"]):4===e.page?a(n,e.newConfig.predicateLabelQuery,"tuple",["edge"],["label"]):5===e.page&&a(n,e.newConfig.resourcePropertiesQuery,"tuple",["node"],["property","value"])},e.goToPage=function(n){e.page!==n&&e.validateCurrentPage((function(){e.showEditor(),e.page=n,e.notoolbar=1!==e.page}))},e.goToPreviousPage=function(){e.page>1&&e.goToPage(e.page-1),f()&&(w=!1)},e.goToNextPage=function(){c(),("node"!==e.newConfig.startMode||w)&&e.goToPage(e.page+1)},e.saveGraphConfig=function(){c(),f()&&!w||(e.newConfig.startQueryIncludeInferred=e.currentQuery.inference,e.newConfig.startQuerySameAs=e.currentQuery.sameAs,e.validateCurrentPage((function(){e.newConfig.name?e.isUpdate?e.updateGraphConfig(e.newConfig):e.createGraphConfig(e.newConfig):m(p.instant("graphexplore.provide.config.name"))})))},e.updateModel=function(){const n=window.editor.getValue().trim();"query"===e.newConfig.startMode&&1===e.page?e.newConfig.startGraphQuery=n:2===e.page?e.newConfig.expandQuery=n:3===e.page?e.newConfig.resourceQuery=n:4===e.page?e.newConfig.predicateLabelQuery=n:5===e.page&&(e.newConfig.resourcePropertiesQuery=n)},e.setQuery=function(e){window.editor.setValue(e||" ")},e.updateDirty=function(){if(e.revertConfig){const n=C(e.revertConfig),t=window.editor.getValue().trim();e.queryEditorIsDirty=n!==t}},e.updateEditor=function(){n((function(){e.currentQuery.query=C(e.newConfig),o.isActiveRepoOntopType()&&(e.nocount=!0),e.currentQuery.inference=e.newConfig.startQueryIncludeInferred,e.currentQuery.sameAs=e.newConfig.startQuerySameAs,R(),S(e.currentQuery.id)}),100)},e.showEditor=function(){window.editor&&window.editor.xhr&&window.editor.xhr.abort(),e.viewMode="yasr"},e.showPreview=function(){e.currentQuery.outputType="table",e.runQuery()},e.revertEditor=function(){e.setQuery(C(e.revertConfig))},e.$watch("newConfig.startMode",(function(t){"query"===t&&n((function(){e.updateEditor()}),0)})),e.$watch("page",(function(t){("query"===e.newConfig.startMode||t>1)&&n((function(){e.showEditor(),e.updateEditor()}),0)}))}e.newConfig={startQueryIncludeInferred:!0,startQuerySameAs:!0},e.newConfig.startMode="search",e.isUpdate=!1,e.shared=!1,e.encodeQuery=function(e){return encodeURIComponent(e)},y?(e.isUpdate=!0,u.getConfig(y).success((function(n){e.newConfig=n,h()})).error((function(e){r.error(getError(e),p.instant("created.connector",{name:y}))}))):(e.isUpdate=!1,h());const b={id:"1",name:"",query:"select * where { \n\t?s ?p ?o .\n} limit 100 \n",inference:e.newConfig.startQueryIncludeInferred,sameAs:e.newConfig.startQuerySameAs};function Q(e){}function T(n,t,r){const o=angular.element(document.getElementById("yasr-inner"));e.queryIsRunning=n,n?(e.queryStartTime=Date.now(),e.countTimeouted=!1,e.progressMessage=t,e.extraMessage=r,o.addClass("hide")):(e.progressMessage="",e.extraMessage="",o.removeClass("hide")),null===e.$$phase&&e.$apply()}function M(t){function r(){return window.innerHeight||document.documentElement.clientHeight||document.body.clientHeight||0}const o=t;if(e.orientationViewMode){if("yasr"===e.viewMode){let e=r()-document.querySelector(".CodeMirror-wrap").getBoundingClientRect().top;e-=40,document.querySelector(".CodeMirror-wrap").style.height=e+"px"}else e.noPadding={},document.querySelector(".CodeMirror-wrap").style.height="";document.getElementById("yasr").style.minHeight=""}else if(e.noPadding={paddingRight:15,paddingLeft:0},window.editor&&document.querySelector(".CodeMirror-wrap")){let e=r()-document.querySelector(".CodeMirror-wrap").getBoundingClientRect().top;e-=40,document.querySelector(".CodeMirror-wrap").style.height=e+"px",document.getElementById("yasr").style.minHeight=e+"px"}else{let t;t=n(o?function(){e.fixSizesOnHorizontalViewModeSwitch(o)}:e.fixSizesOnHorizontalViewModeSwitch,100),e.$on("$destroy",(function(){n.cancel(t)}))}window.yasr&&window.yasr.container&&n((function(){window.yasr.container.resize()}),100)}function v(){M(!0)}function S(e){n((function(){$('a[data-id = "'+e+'"]').tab("show")}),0)}function x(n,t){e.executedQueryTab=e.currentQuery,t&&"SELECT"!==window.editor.getQueryType()&&"CONSTRUCT"!==window.editor.getQueryType()?r.warning(p.instant("query.editor.warning.msg")):"update"!==window.editor.getQueryMode()?(e.explainRequested=t,e.queryIsRunning||(n?e.currentTabConfig.resultsCount=0:e.resetCurrentTabConfig(),e.viewMode="editor",e.orientationViewMode&&e.fixSizesOnHorizontalViewModeSwitch(),T(!0,p.instant("evaluating.query.msg")),window.editor.query())):r.warning(p.instant("cannot.execute.update.error"))}function E(){T(!0,p.instant("common.refreshing.namespaces"),p.instant("common.extra.message")),g.getRepositoryNamespaces().success((function(n){const t={};n.results.bindings.forEach((function(e){t[e.prefix.value]=e.namespace.value})),e.namespaces=t})).error((function(n){e.repositoryError=getError(n)})).finally((function(){T(!1)}))}function q(){i.addKnownPrefixes(JSON.stringify(window.editor.getValue())).success((function(e){angular.isDefined(window.editor)&&angular.isDefined(e)&&e!==window.editor.getValue()&&window.editor.setValue(e)})).error((function(e){let n=getError(e);return r.error(n,p.instant("common.add.known.prefixes.error")),!0}))}function I(n){let t=void 0;return angular.forEach(e.tabsData,(function(e){if(e.name===n.name&&e.query===n.body)return t=e.id,e})),t}function R(){e.tabsData=[e.currentQuery];let t=e.currentQuery;null==e.currentQuery.query||""===e.currentQuery.query?window.editor.setValue(" "):window.editor.setValue(e.currentQuery.query),n((function(){e.currentTabConfig={},e.currentTabConfig.queryType=t.queryType,e.currentTabConfig.resultsCount=t.resultsCount,e.currentTabConfig.offset=t.offset,e.currentTabConfig.allResultsCount=t.allResultsCount,e.currentTabConfig.page=t.page,e.currentTabConfig.pageSize=t.pageSize,e.currentTabConfig.timeFinished=t.timeFinished,e.currentTabConfig.timeTook=t.timeTook,e.currentTabConfig.sizeDelta=t.sizeDelta,e.$apply()}),0),$("#yasr").css("padding","0")}function P(e){return $(e).attr("data-id")}e.resetCurrentTabConfig=function(){e.currentTabConfig={pageSize:100,page:1,allResultsCount:0,resultsCount:0}},e.queryExists=!1,e.resetCurrentTabConfig(),e.tabsData=e.tabs=[b],e.saveTab=function(n){const t=function(n){for(let t=0;t<e.tabsData.length;t++){if(e.tabsData[t].id===n)return t}}(n);if(void 0===t)return{};const r=e.tabsData[t];return e.saveQueryToLocal(r),r},e.loadTab=R,e.addNewTab=function(e,n,t){},e.runQuery=x,e.getNamespaces=E,e.changePagination=function(){x(!0,e.explainRequested)},e.toggleSampleQueries=function(){},e.addKnownPrefixes=q,e.getExistingTabId=I,e.querySelected=function(n){const t=I(n);e.toggleSampleQueries(),angular.isDefined(t)?S(t):e.addNewTab(null,n.name,n.body)},e.saveQueryToLocal=Q,e.setLoader=T,e.getLoaderMessage=function(){const n=(Date.now()-e.queryStartTime)/1e3,t=e.getHumanReadableSeconds(n);let r;r=e.progressMessage?e.progressMessage+"... "+t:p.instant("common.running.operation",{timeHuman:t});e.extraMessage&&n>10&&(r+="\n"+e.extraMessage);return r},e.fixSizesOnHorizontalViewModeSwitch=M,e.changeViewMode=function(t){e.viewMode="none",e.orientationViewMode=!e.orientationViewMode,M(),$(".dataTables_filter").remove(),$(".resultsTable").remove(),n((function(){R(),S(t)}),100)},e.showHideEditor=v,e.focusQueryEditor=function(){angular.element(document).find(".editable-input").is(":focus")||angular.element(document).find(".CodeMirror textarea:first-child").focus()},e.orientationViewMode=!0,e.orientationViewMode||v(),e.getActiveRepository()&&E(),e.$on("$destroy",(function(){window.editor=null,window.yasr=null})),$("textarea").on("paste",(function(){n((function(){q()}),0)})),e.$watchCollection("[currentQuery.inference, currentQuery.sameAs]",(function(){e.currentQuery})),e.$on("tabAction",(function(n,t){t.relatedTarget&&e.saveTab(P(t.relatedTarget)),e.loadTab(P(t.target))})),e.$on("deleteAllexeptSelected",(function(n,t){e.tabsData=t,e.tabs=t})),e.currentQuery=angular.copy(b),e.showSampleQueries=!1,e.savedQuery={},e.sampleQueries={},e.getResultsDescription=function(){},e.getUpdateDescription=function(){},e.getStaleWarningMessage=function(){}}angular.module("graphdb.framework.graphexplore.controllers.graphviz.config",["graphdb.framework.utils.notifications","graphdb.framework.utils.localstorageadapter"]).controller("GraphConfigCtrl",r),r.$inject=["$scope","$timeout","$location","toastr","$repositories","SparqlRestService","$filter","GraphConfigRestService","AutocompleteRestService","$routeParams","Notifications","RDF4JRepositoriesRestService","LocalStorageAdapter","LSKeys","$translate"]}}]);
2
+ //# sourceMappingURL=39.8f8ae5c232bd2f023e7c.bundle.js.map