graphdb-workbench 2.2.2-TR2 → 2.3.0-TR1

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 (312) hide show
  1. package/dist/10.2c7c4caeb5771a2a98d1.bundle.js +2 -0
  2. package/dist/10.2c7c4caeb5771a2a98d1.bundle.js.map +1 -0
  3. package/dist/102.850f372bb910e3a64905.bundle.js +2 -0
  4. package/dist/102.850f372bb910e3a64905.bundle.js.map +1 -0
  5. package/dist/104.2e04965e98d05ada03fd.bundle.js +2 -0
  6. package/dist/104.2e04965e98d05ada03fd.bundle.js.map +1 -0
  7. package/dist/{107.37693ea0237c39fda863.bundle.js → 107.e401af35eca7e21cc9c2.bundle.js} +2 -2
  8. package/dist/107.e401af35eca7e21cc9c2.bundle.js.map +1 -0
  9. package/dist/{108.3c3f9c242e6a3e18fff5.bundle.js → 108.90cf8908233ccb473643.bundle.js} +2 -2
  10. package/dist/108.90cf8908233ccb473643.bundle.js.map +1 -0
  11. package/dist/{11.f4c5533cd200c8568ff6.bundle.js → 11.f912f1a9f37160d23a3b.bundle.js} +2 -2
  12. package/dist/11.f912f1a9f37160d23a3b.bundle.js.map +1 -0
  13. package/dist/{124.6a31dfbe4ac2f9064a29.bundle.js → 124.82728aea87e9d1190441.bundle.js} +2 -2
  14. package/dist/124.82728aea87e9d1190441.bundle.js.map +1 -0
  15. package/dist/{126.48e00b0525b3ef8efbe8.bundle.js → 126.d21b0bf850be03830298.bundle.js} +2 -2
  16. package/dist/126.d21b0bf850be03830298.bundle.js.map +1 -0
  17. package/dist/140.08e0e8799d3d5fefcda5.bundle.js +2 -0
  18. package/dist/140.08e0e8799d3d5fefcda5.bundle.js.map +1 -0
  19. package/dist/141.c16968e963be850e7a7b.bundle.js +2 -0
  20. package/dist/141.c16968e963be850e7a7b.bundle.js.map +1 -0
  21. package/dist/142.0204215ce1bf7b2cf84d.bundle.js +2 -0
  22. package/dist/142.0204215ce1bf7b2cf84d.bundle.js.map +1 -0
  23. package/dist/143.c194ab0648b274f3b554.bundle.js +2 -0
  24. package/dist/143.c194ab0648b274f3b554.bundle.js.map +1 -0
  25. package/dist/145.828376c0cb6b5ba6e015.bundle.js +2 -0
  26. package/dist/145.828376c0cb6b5ba6e015.bundle.js.map +1 -0
  27. package/dist/146.581f1af823b55dc358d6.bundle.js +2 -0
  28. package/dist/146.581f1af823b55dc358d6.bundle.js.map +1 -0
  29. package/dist/147.66395fd5d79176a79c38.bundle.js +2 -0
  30. package/dist/147.66395fd5d79176a79c38.bundle.js.map +1 -0
  31. package/dist/{148.dd250d3cc5aafade33c6.bundle.js → 148.78e7398de964231883f3.bundle.js} +2 -2
  32. package/dist/{148.dd250d3cc5aafade33c6.bundle.js.map → 148.78e7398de964231883f3.bundle.js.map} +1 -1
  33. package/dist/{149.a0873076f2dd40830be9.bundle.js → 149.6eb6ef704b8da7bfc6ce.bundle.js} +2 -2
  34. package/dist/{149.a0873076f2dd40830be9.bundle.js.map → 149.6eb6ef704b8da7bfc6ce.bundle.js.map} +1 -1
  35. package/dist/{150.3bd8af24551408342185.bundle.js → 150.283dd1f6da002f1ca17f.bundle.js} +2 -2
  36. package/dist/{150.3bd8af24551408342185.bundle.js.map → 150.283dd1f6da002f1ca17f.bundle.js.map} +1 -1
  37. package/dist/154.056ec5c8aafbc07484e0.bundle.js +2 -0
  38. package/dist/154.056ec5c8aafbc07484e0.bundle.js.map +1 -0
  39. package/dist/156.e15f9befbcfaf6677387.bundle.js +2 -0
  40. package/dist/156.e15f9befbcfaf6677387.bundle.js.map +1 -0
  41. package/dist/158.29813ed563736e5c85b2.bundle.js +2 -0
  42. package/dist/158.29813ed563736e5c85b2.bundle.js.map +1 -0
  43. package/dist/16.b8bb2389b9f026a298f7.bundle.js +3 -0
  44. package/dist/16.b8bb2389b9f026a298f7.bundle.js.map +1 -0
  45. package/dist/160.d5f5ab14c56efd04e404.bundle.js +2 -0
  46. package/dist/160.d5f5ab14c56efd04e404.bundle.js.map +1 -0
  47. package/dist/161.f142c1fe18346f00882a.bundle.js +2 -0
  48. package/dist/161.f142c1fe18346f00882a.bundle.js.map +1 -0
  49. package/dist/164.d4b744057d28ed5e7e47.bundle.js +2 -0
  50. package/dist/164.d4b744057d28ed5e7e47.bundle.js.map +1 -0
  51. package/dist/166.256169db442fec472d9d.bundle.js +2 -0
  52. package/dist/166.256169db442fec472d9d.bundle.js.map +1 -0
  53. package/dist/167.f79a82f7de6734cca660.bundle.js +2 -0
  54. package/dist/167.f79a82f7de6734cca660.bundle.js.map +1 -0
  55. package/dist/169.16292782069da22a11c0.bundle.js +2 -0
  56. package/dist/169.16292782069da22a11c0.bundle.js.map +1 -0
  57. package/dist/17.675eef636eb095240fab.bundle.js +2 -0
  58. package/dist/17.675eef636eb095240fab.bundle.js.map +1 -0
  59. package/dist/171.2aecfe97c1fa24db3bf3.bundle.js +2 -0
  60. package/dist/171.2aecfe97c1fa24db3bf3.bundle.js.map +1 -0
  61. package/dist/172.558d9080f05080a0dac2.bundle.js +2 -0
  62. package/dist/172.558d9080f05080a0dac2.bundle.js.map +1 -0
  63. package/dist/173.c1546a02befda215609d.bundle.js +2 -0
  64. package/dist/173.c1546a02befda215609d.bundle.js.map +1 -0
  65. package/dist/175.943ac5019fe29113e1f2.bundle.js +2 -0
  66. package/dist/175.943ac5019fe29113e1f2.bundle.js.map +1 -0
  67. package/dist/176.96a2ffd87018134c7b29.bundle.js +2 -0
  68. package/dist/176.96a2ffd87018134c7b29.bundle.js.map +1 -0
  69. package/dist/177.443034c31f85d8ac396c.bundle.js +2 -0
  70. package/dist/177.443034c31f85d8ac396c.bundle.js.map +1 -0
  71. package/dist/180.384be4faad5d0b1716b5.bundle.js +2 -0
  72. package/dist/180.384be4faad5d0b1716b5.bundle.js.map +1 -0
  73. package/dist/181.ce536d7a1f4cb278f82c.bundle.js +2 -0
  74. package/dist/181.ce536d7a1f4cb278f82c.bundle.js.map +1 -0
  75. package/dist/182.6154b3558b619301bfdf.bundle.js +2 -0
  76. package/dist/{182.1b40c7e8a8424e87da32.bundle.js.map → 182.6154b3558b619301bfdf.bundle.js.map} +1 -1
  77. package/dist/183.67e81437028990463d1a.bundle.js +2 -0
  78. package/dist/183.67e81437028990463d1a.bundle.js.map +1 -0
  79. package/dist/20.fbcb31706f03a07e8827.bundle.js +1 -1
  80. package/dist/20.fbcb31706f03a07e8827.bundle.js.map +1 -1
  81. package/dist/21.081b98fe7cc1b3dbbd72.bundle.js +2 -0
  82. package/dist/21.081b98fe7cc1b3dbbd72.bundle.js.map +1 -0
  83. package/dist/{23.b945d0565ded44df49c5.bundle.js → 23.24787bc4590d48521f4b.bundle.js} +2 -2
  84. package/dist/23.24787bc4590d48521f4b.bundle.js.map +1 -0
  85. package/dist/24.7468162b4988a0ad6eaa.bundle.js +2 -0
  86. package/dist/24.7468162b4988a0ad6eaa.bundle.js.map +1 -0
  87. package/dist/{25.9d7a3d8f98840b1fc5da.bundle.js → 25.64b95438d07ae2d82d8c.bundle.js} +2 -2
  88. package/dist/25.64b95438d07ae2d82d8c.bundle.js.map +1 -0
  89. package/dist/{26.a15a1adb6b30ab849e62.bundle.js → 26.7b0b040185949c4eb865.bundle.js} +2 -2
  90. package/dist/26.7b0b040185949c4eb865.bundle.js.map +1 -0
  91. package/dist/{27.83b24ef9ec0fd6964d92.bundle.js → 27.78b1f59da6f702484766.bundle.js} +2 -2
  92. package/dist/27.78b1f59da6f702484766.bundle.js.map +1 -0
  93. package/dist/{3.7f19eec4e1cff6bb8ff2.bundle.js → 3.9b969c666ea9ed46ea4f.bundle.js} +2 -2
  94. package/dist/3.9b969c666ea9ed46ea4f.bundle.js.map +1 -0
  95. package/dist/{30.a2596e679fb09411b854.bundle.js → 30.67e342e8f1485d26a99b.bundle.js} +2 -2
  96. package/dist/30.67e342e8f1485d26a99b.bundle.js.map +1 -0
  97. package/dist/31.133397ed26eda58c7e18.bundle.js +2 -0
  98. package/dist/31.133397ed26eda58c7e18.bundle.js.map +1 -0
  99. package/dist/33.4d23fa109c9184727386.bundle.js +1 -1
  100. package/dist/33.4d23fa109c9184727386.bundle.js.map +1 -1
  101. package/dist/{35.8be1042671722a19f3b4.bundle.js → 35.541a97f880621d5f7031.bundle.js} +2 -2
  102. package/dist/35.541a97f880621d5f7031.bundle.js.map +1 -0
  103. package/dist/36.239dd56c03aeda760f8b.bundle.js +2 -0
  104. package/dist/36.239dd56c03aeda760f8b.bundle.js.map +1 -0
  105. package/dist/{38.f4b561d7ee5b236ba481.bundle.js → 38.c8620e7cbab859b6f236.bundle.js} +2 -2
  106. package/dist/38.c8620e7cbab859b6f236.bundle.js.map +1 -0
  107. package/dist/39.c630c0e36b0dc913bbe3.bundle.js +2 -0
  108. package/dist/39.c630c0e36b0dc913bbe3.bundle.js.map +1 -0
  109. package/dist/{4.186c084105c931abbe1a.bundle.js → 4.d3fb6d0dcca79643bcb3.bundle.js} +2 -2
  110. package/dist/4.d3fb6d0dcca79643bcb3.bundle.js.map +1 -0
  111. package/dist/40.50b40301c8cc69a70457.bundle.js +1 -1
  112. package/dist/40.50b40301c8cc69a70457.bundle.js.map +1 -1
  113. package/dist/42.45ee7b629beac3e06cc2.bundle.js +2 -0
  114. package/dist/42.45ee7b629beac3e06cc2.bundle.js.map +1 -0
  115. package/dist/43.72fbe7e5d290c40db9ec.bundle.js +2 -0
  116. package/dist/43.72fbe7e5d290c40db9ec.bundle.js.map +1 -0
  117. package/dist/{5.5f48e5c6fc10b52dd415.bundle.js → 5.a44aa21343f8bf48f0e0.bundle.js} +2 -2
  118. package/dist/5.a44aa21343f8bf48f0e0.bundle.js.map +1 -0
  119. package/dist/{53.78084dd64a27f7a6d2e8.bundle.js → 53.c6d488d0fb81a54a3e55.bundle.js} +2 -2
  120. package/dist/53.c6d488d0fb81a54a3e55.bundle.js.map +1 -0
  121. package/dist/{54.fe5e554af6ba2c5778c1.bundle.js → 54.6209da75289a30ff366b.bundle.js} +2 -2
  122. package/dist/54.6209da75289a30ff366b.bundle.js.map +1 -0
  123. package/dist/{56.9c6f6ecafc1909c42dda.bundle.js → 56.0d89e5b9f6403aab1c8e.bundle.js} +2 -2
  124. package/dist/56.0d89e5b9f6403aab1c8e.bundle.js.map +1 -0
  125. package/dist/61.6332e06d94ef4426f068.bundle.js +2 -0
  126. package/dist/61.6332e06d94ef4426f068.bundle.js.map +1 -0
  127. package/dist/{62.86f5ed4f7b582a8aa17d.bundle.js → 62.14d5882e16c3da266b6f.bundle.js} +2 -2
  128. package/dist/62.14d5882e16c3da266b6f.bundle.js.map +1 -0
  129. package/dist/{7.c7d8fb1dfdb444052435.bundle.js → 7.8ca1f2ef4d0aa49b93ac.bundle.js} +2 -2
  130. package/dist/7.8ca1f2ef4d0aa49b93ac.bundle.js.map +1 -0
  131. package/dist/{71.4dbbc366049697f736c5.bundle.js → 71.48a75ab912070cdb19f5.bundle.js} +2 -2
  132. package/dist/71.48a75ab912070cdb19f5.bundle.js.map +1 -0
  133. package/dist/9.3b571539df8c3b22cf6e.bundle.js +2 -0
  134. package/dist/9.3b571539df8c3b22cf6e.bundle.js.map +1 -0
  135. package/dist/94.38349f52df66313fbcc0.bundle.js +1 -1
  136. package/dist/94.38349f52df66313fbcc0.bundle.js.map +1 -1
  137. package/dist/97.df243fffeb4322e50f63.bundle.js +2 -0
  138. package/dist/97.df243fffeb4322e50f63.bundle.js.map +1 -0
  139. package/dist/bundle.73c02a0d535f14462730.bundle.js +92 -0
  140. package/dist/bundle.73c02a0d535f14462730.bundle.js.map +1 -0
  141. package/dist/index.html +7 -7
  142. package/dist/js/angular/clustermanagement/templates/modal/add-nodes-dialog.html +2 -2
  143. package/dist/js/angular/clustermanagement/templates/modal/cluster-create-dialog.html +8 -8
  144. package/dist/js/angular/clustermanagement/templates/modal/cluster-delete-dialog.html +1 -1
  145. package/dist/js/angular/clustermanagement/templates/modal/cluster-edit-dialog.html +5 -5
  146. package/dist/js/angular/core/directives/languageselector/templates/languageSelector.html +2 -2
  147. package/dist/js/angular/core/directives/queryeditor/templates/query-editor.html +19 -19
  148. package/dist/js/angular/core/directives/queryeditor/templates/query-sample.html +1 -1
  149. package/dist/js/angular/core/directives/rdfresourcesearch/templates/rdfResourceSearchTemplate.html +3 -3
  150. package/dist/js/angular/core/templates/core-errors.html +1 -1
  151. package/dist/js/angular/core/templates/inactive-plugin-warning-page.html +1 -1
  152. package/dist/js/angular/core/templates/search-resource-input.html +3 -3
  153. package/dist/js/angular/externalsync/templates/deleteConnector.html +1 -1
  154. package/dist/js/angular/graphexplore/templates/modal/save-graph.html +1 -1
  155. package/dist/js/angular/graphexplore/templates/rdfsCommentLabelTemplate.html +2 -2
  156. package/dist/js/angular/graphexplore/templates/searchIconInputTemplate.html +3 -3
  157. package/dist/js/angular/import/templates/filesTable.html +12 -12
  158. package/dist/js/angular/import/templates/settingsModal.html +19 -19
  159. package/dist/js/angular/import/templates/textSnippet.html +4 -4
  160. package/dist/js/angular/import/templates/urlImport.html +4 -4
  161. package/dist/js/angular/repositories/templates/fedx-repo.html +15 -15
  162. package/dist/js/angular/repositories/templates/ontop-repo.html +8 -8
  163. package/dist/js/angular/security/templates/modal/default-authorities.html +2 -2
  164. package/dist/js/angular/security/templates/user.html +13 -13
  165. package/dist/js/angular/security/templates/users.html +8 -8
  166. package/dist/js/angular/settings/modal/location-settings.html +1 -1
  167. package/dist/js/angular/templates/modal/add-location.html +3 -3
  168. package/dist/js/angular/templates/modal/edit-location.html +3 -3
  169. package/dist/js/angular/templates/modal/editRepoFile.html +1 -1
  170. package/dist/js/angular/templates/modal/upload-repository-config.html +2 -2
  171. package/dist/pages/autocomplete.html +8 -8
  172. package/dist/pages/choose-repository-type.html +1 -1
  173. package/dist/pages/cluster-management/clusterInfo.html +15 -15
  174. package/dist/pages/connectorsInfo.html +5 -5
  175. package/dist/pages/create-index.html +15 -15
  176. package/dist/pages/createConnector.html +23 -23
  177. package/dist/pages/dependencies.html +12 -12
  178. package/dist/pages/domainRangeInfo.html +6 -6
  179. package/dist/pages/edit.html +7 -7
  180. package/dist/pages/explore.html +10 -10
  181. package/dist/pages/export.html +14 -14
  182. package/dist/pages/find.html +2 -2
  183. package/dist/pages/graph-config/saveGraphConfig.html +22 -22
  184. package/dist/pages/graphs-visualizations.html +47 -47
  185. package/dist/pages/guides.html +6 -6
  186. package/dist/pages/home.html +10 -10
  187. package/dist/pages/import.html +7 -7
  188. package/dist/pages/info.html +16 -16
  189. package/dist/pages/jdbc-create.html +18 -18
  190. package/dist/pages/jdbc.html +3 -3
  191. package/dist/pages/licenseInfo.html +1 -1
  192. package/dist/pages/login.html +2 -2
  193. package/dist/pages/monitor/queries.html +5 -5
  194. package/dist/pages/monitor/resources.html +13 -13
  195. package/dist/pages/namespaces.html +14 -14
  196. package/dist/pages/plugins.html +4 -4
  197. package/dist/pages/rdfClassHierarchyInfo.html +16 -16
  198. package/dist/pages/rdfrank.html +17 -17
  199. package/dist/pages/registerLicenseInfo.html +3 -3
  200. package/dist/pages/repositories.html +20 -20
  201. package/dist/pages/repository.html +37 -37
  202. package/dist/pages/similarity-indexes.html +15 -15
  203. package/dist/pages/sparql-template-create.html +9 -9
  204. package/dist/pages/sparql-templates.html +3 -3
  205. package/dist/pages/sparql.html +8 -8
  206. package/dist/pages/webapi.html +3 -3
  207. package/dist/res/swagger/index.html +27 -27
  208. package/package.json +2 -2
  209. package/dist/10.973caeed3c05ef2cfd1c.bundle.js +0 -2
  210. package/dist/10.973caeed3c05ef2cfd1c.bundle.js.map +0 -1
  211. package/dist/102.93af0905ca1ff2be2dbf.bundle.js +0 -2
  212. package/dist/102.93af0905ca1ff2be2dbf.bundle.js.map +0 -1
  213. package/dist/104.b82229ea4c12400f6f5d.bundle.js +0 -2
  214. package/dist/104.b82229ea4c12400f6f5d.bundle.js.map +0 -1
  215. package/dist/107.37693ea0237c39fda863.bundle.js.map +0 -1
  216. package/dist/108.3c3f9c242e6a3e18fff5.bundle.js.map +0 -1
  217. package/dist/11.f4c5533cd200c8568ff6.bundle.js.map +0 -1
  218. package/dist/124.6a31dfbe4ac2f9064a29.bundle.js.map +0 -1
  219. package/dist/126.48e00b0525b3ef8efbe8.bundle.js.map +0 -1
  220. package/dist/140.8f22a20a0689c072368f.bundle.js +0 -2
  221. package/dist/140.8f22a20a0689c072368f.bundle.js.map +0 -1
  222. package/dist/141.6ffbf225a69b845e5e07.bundle.js +0 -2
  223. package/dist/141.6ffbf225a69b845e5e07.bundle.js.map +0 -1
  224. package/dist/142.355ab1a9716ce7315ad6.bundle.js +0 -2
  225. package/dist/142.355ab1a9716ce7315ad6.bundle.js.map +0 -1
  226. package/dist/143.64b1142c8e48b388717f.bundle.js +0 -2
  227. package/dist/143.64b1142c8e48b388717f.bundle.js.map +0 -1
  228. package/dist/145.9858a584e01b6c01a57c.bundle.js +0 -2
  229. package/dist/145.9858a584e01b6c01a57c.bundle.js.map +0 -1
  230. package/dist/146.15a2396be0b56a454857.bundle.js +0 -2
  231. package/dist/146.15a2396be0b56a454857.bundle.js.map +0 -1
  232. package/dist/147.638cfbfdf711a97e19f1.bundle.js +0 -2
  233. package/dist/147.638cfbfdf711a97e19f1.bundle.js.map +0 -1
  234. package/dist/154.6dadeaa5b9cdab265cb3.bundle.js +0 -2
  235. package/dist/154.6dadeaa5b9cdab265cb3.bundle.js.map +0 -1
  236. package/dist/156.4252f16fc656c91fba0c.bundle.js +0 -2
  237. package/dist/156.4252f16fc656c91fba0c.bundle.js.map +0 -1
  238. package/dist/158.13d4aafb2c7f02af028b.bundle.js +0 -2
  239. package/dist/158.13d4aafb2c7f02af028b.bundle.js.map +0 -1
  240. package/dist/16.61454b9a7360266e544a.bundle.js +0 -3
  241. package/dist/16.61454b9a7360266e544a.bundle.js.map +0 -1
  242. package/dist/160.3b604e0909b8a932d959.bundle.js +0 -2
  243. package/dist/160.3b604e0909b8a932d959.bundle.js.map +0 -1
  244. package/dist/161.c72cc3169ea1191e49e8.bundle.js +0 -2
  245. package/dist/161.c72cc3169ea1191e49e8.bundle.js.map +0 -1
  246. package/dist/164.a03f4da227b54ad97c18.bundle.js +0 -2
  247. package/dist/164.a03f4da227b54ad97c18.bundle.js.map +0 -1
  248. package/dist/166.b4fd0bd3df4985d3e74a.bundle.js +0 -2
  249. package/dist/166.b4fd0bd3df4985d3e74a.bundle.js.map +0 -1
  250. package/dist/167.0e3773d3b16936a2a72a.bundle.js +0 -2
  251. package/dist/167.0e3773d3b16936a2a72a.bundle.js.map +0 -1
  252. package/dist/169.a43d9e76a361ad2cabb5.bundle.js +0 -2
  253. package/dist/169.a43d9e76a361ad2cabb5.bundle.js.map +0 -1
  254. package/dist/17.545bc1027c226502e3b8.bundle.js +0 -2
  255. package/dist/17.545bc1027c226502e3b8.bundle.js.map +0 -1
  256. package/dist/171.584fa763e2fe9a4d34f4.bundle.js +0 -2
  257. package/dist/171.584fa763e2fe9a4d34f4.bundle.js.map +0 -1
  258. package/dist/172.67ba9379059ac602d509.bundle.js +0 -2
  259. package/dist/172.67ba9379059ac602d509.bundle.js.map +0 -1
  260. package/dist/173.fd7ee2abdf75fc0ed3a3.bundle.js +0 -2
  261. package/dist/173.fd7ee2abdf75fc0ed3a3.bundle.js.map +0 -1
  262. package/dist/175.341ea8612291026d2630.bundle.js +0 -2
  263. package/dist/175.341ea8612291026d2630.bundle.js.map +0 -1
  264. package/dist/176.7cdff30cd9372f424163.bundle.js +0 -2
  265. package/dist/176.7cdff30cd9372f424163.bundle.js.map +0 -1
  266. package/dist/177.57ac19484b6430c0f242.bundle.js +0 -2
  267. package/dist/177.57ac19484b6430c0f242.bundle.js.map +0 -1
  268. package/dist/180.f19924b6b550773f9163.bundle.js +0 -2
  269. package/dist/180.f19924b6b550773f9163.bundle.js.map +0 -1
  270. package/dist/181.db05a22a05f9c928b08c.bundle.js +0 -2
  271. package/dist/181.db05a22a05f9c928b08c.bundle.js.map +0 -1
  272. package/dist/182.1b40c7e8a8424e87da32.bundle.js +0 -2
  273. package/dist/183.1ed57fba52ab51806ec3.bundle.js +0 -2
  274. package/dist/183.1ed57fba52ab51806ec3.bundle.js.map +0 -1
  275. package/dist/21.ea150df1291050bc1c4a.bundle.js +0 -2
  276. package/dist/21.ea150df1291050bc1c4a.bundle.js.map +0 -1
  277. package/dist/23.b945d0565ded44df49c5.bundle.js.map +0 -1
  278. package/dist/24.77907cc1d707305663c9.bundle.js +0 -2
  279. package/dist/24.77907cc1d707305663c9.bundle.js.map +0 -1
  280. package/dist/25.9d7a3d8f98840b1fc5da.bundle.js.map +0 -1
  281. package/dist/26.a15a1adb6b30ab849e62.bundle.js.map +0 -1
  282. package/dist/27.83b24ef9ec0fd6964d92.bundle.js.map +0 -1
  283. package/dist/3.7f19eec4e1cff6bb8ff2.bundle.js.map +0 -1
  284. package/dist/30.a2596e679fb09411b854.bundle.js.map +0 -1
  285. package/dist/31.fbcd8b1840a84a281e47.bundle.js +0 -2
  286. package/dist/31.fbcd8b1840a84a281e47.bundle.js.map +0 -1
  287. package/dist/35.8be1042671722a19f3b4.bundle.js.map +0 -1
  288. package/dist/36.8d7becdfce12d9a0de33.bundle.js +0 -2
  289. package/dist/36.8d7becdfce12d9a0de33.bundle.js.map +0 -1
  290. package/dist/38.f4b561d7ee5b236ba481.bundle.js.map +0 -1
  291. package/dist/39.68f59c2a9aeb4c4100c9.bundle.js +0 -2
  292. package/dist/39.68f59c2a9aeb4c4100c9.bundle.js.map +0 -1
  293. package/dist/4.186c084105c931abbe1a.bundle.js.map +0 -1
  294. package/dist/42.87fe547d27ce0c30deef.bundle.js +0 -2
  295. package/dist/42.87fe547d27ce0c30deef.bundle.js.map +0 -1
  296. package/dist/43.34060633fa9548ec3437.bundle.js +0 -2
  297. package/dist/43.34060633fa9548ec3437.bundle.js.map +0 -1
  298. package/dist/5.5f48e5c6fc10b52dd415.bundle.js.map +0 -1
  299. package/dist/53.78084dd64a27f7a6d2e8.bundle.js.map +0 -1
  300. package/dist/54.fe5e554af6ba2c5778c1.bundle.js.map +0 -1
  301. package/dist/56.9c6f6ecafc1909c42dda.bundle.js.map +0 -1
  302. package/dist/61.faf4ab26276a053ccac5.bundle.js +0 -2
  303. package/dist/61.faf4ab26276a053ccac5.bundle.js.map +0 -1
  304. package/dist/62.86f5ed4f7b582a8aa17d.bundle.js.map +0 -1
  305. package/dist/7.c7d8fb1dfdb444052435.bundle.js.map +0 -1
  306. package/dist/71.4dbbc366049697f736c5.bundle.js.map +0 -1
  307. package/dist/9.7bdbee8225f687ec81bc.bundle.js +0 -2
  308. package/dist/9.7bdbee8225f687ec81bc.bundle.js.map +0 -1
  309. package/dist/97.e88574ad257bd44724c3.bundle.js +0 -2
  310. package/dist/97.e88574ad257bd44724c3.bundle.js.map +0 -1
  311. package/dist/bundle.f540ee201846422b1cb9.bundle.js +0 -92
  312. package/dist/bundle.f540ee201846422b1cb9.bundle.js.map +0 -1
@@ -1,2 +1,2 @@
1
- (window.webpackJsonp=window.webpackJsonp||[]).push([[26,38,69,114],{118:function(n,e,t){"use strict";t.r(e);t(4),t(11),t(16),t(44),t(72);angular.module("graphdb.framework.externalsync",["graphdb.framework.core.controllers","graphdb.framework.externalsync.controllers","graphdb.framework.externalsync.directives","graphdb.framework.core.directives"]).filter("singular",(function(){return function(n){return angular.isUndefined(n)?n:n.replace(/ies$/,"y").replace(/s$/,"")}}))},41:function(n,e){angular.module("graphdb.framework.rest.connectors.service",[]).factory("ConnectorsRestService",t),t.$inject=["$http"];function t(n){return{getConnectors:function(){return n.get("rest/connectors")},initConnector:function(e){return n.get("rest/connectors/options?prefix="+e)},hasConnector:function(e){return n.get("rest/connectors/existing?prefix="+e)},checkConnector:function(e){return n.post("rest/connectors/check",e,{headers:{"Content-Type":"text/plain"}})}}}},44:function(n,e,t){"use strict";t.r(e);t(15),t(41);function o(n){const e=[];return Object.keys(n).forEach((function(t){e.push(encodeURIComponent(t)+"="+encodeURIComponent(n[t]))})),e.join("&")}function r(n,e){return _.reduce(n,(function(n,t){if(""===t.key&&""===t.value);else{if(""===t.key)throw new Error(e.instant("externalsync.empty.value.key.error",{value:t.value}));if(n.hasOwnProperty(t.key))throw new Error(e.instant("externalsync.duplicate.key.error",{key:t.key}));n[t.key]=t.value}return n}),{})}function i(n,e){for(let o=0;o<e.length;o++){const r=e[o];if("StringArray"===r.__type)n[r.__name]||(n[r.__name]=[""]);else if("OptionArray"===r.__type)if(n[r.__name])for(let e=0;e<r.__childOptions.length;e++){const t=r.__childOptions[e];if("Boolean"===t.__type)for(let e=0;e<n[r.__name].length;e++){const o=n[r.__name][e];!o.hasOwnProperty([t.__name])&&angular.isDefined(t.__defaultValue)&&(o[t.__name]=t.__defaultValue)}}else{n[r.__name]=[];const e={};for(let n=0;n<r.__childOptions.length;n++){const t=r.__childOptions[n];"StringArray"===t.__type?e[t.__name]=[""]:e[t.__name]=angular.isUndefined(t.__defaultValue)?"":t.__defaultValue}n[r.__name].push(e)}else"Map"===r.__type?n[r.__name]?n[r.__name]=(t=n[r.__name],_.map(t,(function(n,e){return{key:e,value:n}}))):n[r.__name]=[]:"JsonString"===r.__type?!n[r.__name]||n[r.__name]instanceof String||"string"==typeof n[r.__name]||(n[r.__name]=angular.toJson(n[r.__name],2)):angular.isUndefined(n[r.__name])&&(n[r.__name]=angular.isUndefined(r.__defaultValue)?"":r.__defaultValue)}var t;return n}function a(n,e,t){return n.post("repositories/"+e,o({query:t}),{headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/sparql-results+json","X-GraphDB-Local-Consistency":"updating"}})}function c(n){return n.substring(0,n.length-1)+"/instance#"}function s(n,e,t,o,i){const a=function n(e,t){const o={};return _.each(t,(function(t){angular.isDefined(e[t.__name])&&("OptionArray"===t.__type?(o[t.__name]=[],_.each(e[t.__name],(function(e){o[t.__name].push(n(e,t.__childOptions))}))):o[t.__name]=angular.copy(e[t.__name]))})),o}(t,o);for(let n=0;n<o.length;n++)try{"Map"===o[n].__type?a[o[n].__name]=r(a[o[n].__name],$translate):"JsonString"===o[n].__type&&(a[o[n].__name]=angular.fromJson(a[o[n].__name]))}catch(e){return i(o[n].__label,e.message),null}!function n(e){Array.isArray(e)&&(e=_.filter(e,(function(n){return null!==n&&(!n.trim||""!==n.trim())})));return Object.keys(e).forEach((function(t){""!==e[t]&&null!=e[t]||!1===e[t]?"object"==typeof e[t]&&(e[t]=n(e[t])):delete e[t]})),e}(a);let s="";s+="PREFIX :<"+e+">\n";return s+="PREFIX inst:<"+c(e)+">\n",s+="INSERT DATA {\n",s+="\tinst:"+n+" :createConnector '''\n",s+=angular.toJson(a,2),s+="\n''' .\n}\n",s=s.replace(/\\/g,"\\\\\\"),s}function l(n,e,t,r,l,u,f,p,g,d){function m(e){n.beingBuiltConnector={percentDone:0,status:{processedEntities:0,estimatedEntities:0,indexedEntities:0,entitiesPerSecond:0},actionName:e?d.instant("externalsync.repairing"):d.instant("externalsync.creating"),waitOnRepairStartOnce:!!e,eta:"-",inline:!1,iri:null}}function y(e,t,o){return m(o),$.extend(n.beingBuiltConnector,{iri:c(e)+t,name:t,inline:!1,doneCallback:function(){n.beingBuiltConnector.modalInstance.dismiss("cancel")}}),n.beingBuiltConnector.modalInstance=r.open({templateUrl:"pages/connectorProgress.html",controller:"CreateProgressCtrl",size:"lg",backdrop:"static",scope:n}),n.beingBuiltConnector.modalInstance}function C(e,r,i){const a=y(e.value,r.name,!1);p.addStatements(t.getActiveRepository(),o({update:r.query})).then((function(){g.getConnectors().then((function(){g.hasConnector(encodeURIComponent(e.value)).then((function(t){n.existing[e.key]=t.data}))})),l.success(d.instant("created.connector",{name:r.name}))}),(function(n){l.error(getError(n)),i()})).finally((function(){a.dismiss("cancel")}))}n.loader=!1,n.controllers=[],n.existing={},n.definitions={},n.getLoaderMessage=function(){const e=(Date.now()-n.loaderStartTime)/1e3,t=n.getHumanReadableSeconds(e);let o="";return o=n.progressMessage?n.progressMessage+"... "+t:d.instant("common.running.operation",{timeHuman:t}),n.extraMessage&&e>10&&(o+="\n"+n.extraMessage),o},n.setLoader=function(e,t,o){e?(n.loader=!0,n.loaderStartTime=Date.now(),n.progressMessage=t,n.extraMessage=o):(n.loader=!1,n.progressMessage="",n.extraMessage="")},n.initConnector=function(e){return g.initConnector(encodeURIComponent(e.value)).then((function(t){return n.definitions[e.key]=t.data,g.hasConnector(encodeURIComponent(e.value)).then((function(t){n.existing[e.key]=t.data}))}))},n.getConnectors=function(){n.isLicenseValid()&&n.canWriteActiveRepo()&&(n.setLoader(!0,d.instant("externalsync.fetching.connectors"),d.instant("common.extra.message")),g.getConnectors().then((function(o){n.connectors=Object.keys(o.data).map((function(n){return{key:n,value:o.data[n]}})),f.all(_.map(n.connectors,(function(e){return n.initConnector(e)}))).finally((function(){m();const o=function(n){const e=_.map(n,(function(n){return"<"+n.value+"connectorStatus>"})).join("|");return e?"SELECT ?connector ?status { ?connector "+e+" ?status }":null}(n.connectors);o?function(n){return a(e,t.getActiveRepository(),n)}(o).then((function(e){const t=function(n){if(n.bindings)for(let e=0;e<n.bindings.length;e++)try{const t=JSON.parse(n.bindings[e].status.value);if("BUILDING"===t.status)return{connector:n.bindings[e].connector.value,status:t}}catch(n){console.error(n)}return{}}(e.data.results);if(t.connector){const e=t.connector.split(/#/);e[0]=e[0].replace(/\/instance$/,"#"),o=e[0],r=e[1],m(),$.extend(n.beingBuiltConnector,{iri:c(o)+r,name:r,inline:!0,doneCallback:function(){n.beingBuiltConnector.inline=!1}})}var o,r})).finally((function(){n.setLoader(!1)})):n.setLoader(!1)}))})).catch((function(e){n.setLoader(!1),l.error(getError(e),d.instant("externalsync.could.not.get.connectors.error"))})),n.existing={})},n.getOptions=function(e){return n.definitions[e.key]},n.isEmpty=function(n){return angular.isObject(n)&&0===Object.keys(n).length},n.toPrettyJson=function(n){return angular.toJson(n,2)},n.$watch((function(){return t.getActiveRepository()}),n.getConnectors),n.$watch((function(){return t.getActiveLocation()}),n.getConnectors),n.copyConnector=function(e,t){let o;angular.isUndefined(t)||(o=angular.copy(t),o.name=o.name+"-copy");r.open({templateUrl:"pages/createConnector.html",controller:"CreateConnectorCtrl",size:"lg",backdrop:"static",resolve:{connector:function(){return e},values:function(){return angular.isUndefined(o)?{name:"",values:{}}:o},options:function(){return n.getOptions(e)}}}).result.then((function(t){C(e,t,(function(){t.skipConversion=!0,n.newConnector(e,t)}))}))},n.newConnector=function(e,t){r.open({templateUrl:"pages/createConnector.html",controller:"CreateConnectorCtrl",size:"lg",backdrop:"static",resolve:{connector:function(){return e},values:function(){return angular.isUndefined(t)?{name:"",values:{}}:t},options:function(){return n.getOptions(e)}}}).result.then((function(t){C(e,t,(function(){t.skipConversion=!0,n.newConnector(e,t)}))}))},n.repair=function(e,r){u.openSimpleModal({title:d.instant("externalsync.confirm.repair"),message:d.instant("externalsync.repair.warning.msg"),warning:!0}).result.then((function(){const i=y(r.value,e.name,!0),a=(s=e.name,"PREFIX prefix:<"+(u=r.value)+">\nINSERT DATA {\n\t<"+c(u)+s+'> prefix:repairConnector ""\n}');var s,u;p.addStatements(t.getActiveRepository(),o({update:a})).then((function(){g.getConnectors().then((function(){g.hasConnector(encodeURIComponent(r.value)).then((function(e){n.existing[r.key]=e.data}))})),l.success(d.instant("externalsync.repair.success.msg",{name:e.name}))}),(function(n){l.error(getError(n))})).finally((function(){i.dismiss("cancel")}))}))},n.delete=function(e,i){const a=i.key.indexOf("Elastic")>=0||i.key.indexOf("Solr")>=0;r.open({templateUrl:"js/angular/externalsync/templates/deleteConnector.html",controller:"DeleteConnectorCtrl",resolve:{popoverMsg:function(){return a?d.instant("delete.connector.conditional",{type:i.key}):""}}}).result.then((function(r){n.setLoader(!0,d.instant("externalsync.delete.progress.msg",{name:e.name}),d.instant("externalsync.extra.message.warning"));const c=function(n,e,t){const o=e.substring(0,e.length-1)+"/instance#";return"PREFIX prefix:<"+e+">\nINSERT DATA {\n\t<"+o+n+'> prefix:dropConnector "'+(t?"force":"")+'"\n}'}(e.name,i.value,r);p.addStatements(t.getActiveRepository(),o({update:c})).then((function(){g.getConnectors().then((function(){g.hasConnector(encodeURIComponent(i.value)).then((function(e){n.existing[i.key]=e.data}))})),r?(l.success(d.instant("externalsync.delete.force.success.msg",{name:e.name})),a&&l.warning(d.instant("externalsync.delete.remote.warning",{key:i.key}))):l.success(d.instant("externalsync.delete.success.msg",{name:e.name}))}),(function(n){l.error(getError(n))})).finally((function(){n.setLoader(!1)}))}))},n.viewQuery=function(e,t){r.open({templateUrl:"pages/viewQuery.html",controller:"ViewQueryCtrl",resolve:{query:function(){const o=n.getOptions(e);return s(t.name,e.value,i(t.values,o),o)}}})}}function u(n,e,t){n.force=!1,n.popoverMsg=t,n.ok=function(){e.close(n.force)},n.cancel=function(){e.dismiss()}}function f(n,e,t,o,r){function i(){return s(n.name,t.value,n.values,n.options,(function(n,e){r.error(e,n)}))}n.connector=t,n.addField=function(e,t){const o=angular.copy(n.defaultValues[t][0]);n.values[t].splice(e+1,0,o)},n.addOption=function(n,e){e.splice(n+1,0,"")},n.deleteOption=function(n,e){e.splice(n,1)},n.addMapOption=function(n,e){e.splice(n+1,0,{key:"",value:""})},n.deleteMapOption=function(n,e){e.splice(n,1)},n.ok=function(){if(n.form.$valid){const t=i();t&&e.close({name:n.name,values:n.values,options:n.options,query:t})}},n.viewQuery=function(){const n=i();n&&o.open({templateUrl:"pages/viewQuery.html",controller:"ViewQueryCtrl",resolve:{query:function(){return n}}})},n.cancel=function(){e.dismiss("cancel")}}function p(n,e,t,o,r,a,c,s){angular.extend(this,e("ExtendNewConnectorCtrl",{$scope:n,$modalInstance:o,connector:r,$modal:a})),n.values=c.values,n.options=s,n.name=c.name,c.skipConversion||(n.values=i(n.values,n.options)),n.defaultValues=angular.copy(n.values)}function g(n,e,t,o,r){function i(){const i=function(n){const e=n.replace(/\/instance#.+$/,"#connectorStatus");let t="";return t+="SELECT ?status {\n",t+="\t<"+n+"> <"+e+"> ?status",t+="\n}",t}(n.beingBuiltConnector.iri);n.beingBuiltConnector.iri=null,n.progressInterval=e((function(){(function(n){return a(t,o.getActiveRepository(),n)})(i).then((function(t){const o=function(n){if(n.bindings&&n.bindings.length>0)try{return JSON.parse(n.bindings[0].status.value)}catch(n){console.error(n)}return{}}(t.data.results);"BUILDING"===o.status?(n.beingBuiltConnector.status=o,n.beingBuiltConnector.percentDone=(100*o.processedEntities/o.estimatedEntities).toFixed(0),n.beingBuiltConnector.eta=n.getHumanReadableSeconds(o.etaSeconds),n.beingBuiltConnector.actionName=o.repair?r.instant("externalsync.repairing"):r.instant("externalsync.creating"),n.beingBuiltConnector.waitOnRepairStartOnce=!1):"BUILT"!==o.status||n.beingBuiltConnector.waitOnRepairStartOnce||(e.cancel(n.progressInterval),n.beingBuiltConnector.doneCallback&&n.beingBuiltConnector.doneCallback())}))}),1e3),n.$on("$destroy",(function(){e.cancel(n.progressInterval)}))}n.beingBuiltConnector=n.beingBuiltConnector||{},!n.beingBuiltConnector.inline&&n.beingBuiltConnector.iri&&i(),n.$watch("beingBuiltConnector.iri",(function(e){n.beingBuiltConnector.inline&&e&&i()}))}angular.module("graphdb.framework.externalsync.controllers",["graphdb.framework.rest.rdf4j.repositories.service","graphdb.framework.rest.connectors.service"]).controller("ConnectorsCtrl",l).controller("ExtendNewConnectorCtrl",f).controller("CreateConnectorCtrl",p).controller("CreateProgressCtrl",g).controller("DeleteConnectorCtrl",u).filter("ceil",(function(){return function(n){return Math.ceil(n)}})),l.$inject=["$scope","$http","$repositories","$modal","toastr","ModalService","$q","RDF4JRepositoriesRestService","ConnectorsRestService","$translate"],u.$inject=["$scope","$modalInstance","popoverMsg"],f.$inject=["$scope","$modalInstance","connector","$modal","toastr"],p.$inject=["$scope","$controller","$http","$modalInstance","connector","$modal","values","options"],g.$inject=["$scope","$interval","$http","$repositories","$translate"]},72:function(n,e,t){"use strict";t.r(e);t(4);angular.module("graphdb.framework.externalsync.directives",[]).directive("createProgress",(function(){return{templateUrl:"pages/connectorProgress.html",controller:"CreateProgressCtrl",restrict:"EA"}}))}}]);
2
- //# sourceMappingURL=26.a15a1adb6b30ab849e62.bundle.js.map
1
+ (window.webpackJsonp=window.webpackJsonp||[]).push([[26,38,69,114],{118:function(n,e,t){"use strict";t.r(e);t(4),t(11),t(16),t(44),t(72);angular.module("graphdb.framework.externalsync",["graphdb.framework.core.controllers","graphdb.framework.externalsync.controllers","graphdb.framework.externalsync.directives","graphdb.framework.core.directives"]).filter("singular",(function(){return function(n){return angular.isUndefined(n)?n:n.replace(/ies$/,"y").replace(/s$/,"")}}))},41:function(n,e){angular.module("graphdb.framework.rest.connectors.service",[]).factory("ConnectorsRestService",t),t.$inject=["$http"];function t(n){return{getConnectors:function(){return n.get("rest/connectors")},initConnector:function(e){return n.get("rest/connectors/options?prefix="+e)},hasConnector:function(e){return n.get("rest/connectors/existing?prefix="+e)},checkConnector:function(e){return n.post("rest/connectors/check",e,{headers:{"Content-Type":"text/plain"}})}}}},44:function(n,e,t){"use strict";t.r(e);t(15),t(41);function o(n){const e=[];return Object.keys(n).forEach((function(t){e.push(encodeURIComponent(t)+"="+encodeURIComponent(n[t]))})),e.join("&")}function r(n,e){return _.reduce(n,(function(n,t){if(""===t.key&&""===t.value);else{if(""===t.key)throw new Error(e.instant("externalsync.empty.value.key.error",{value:t.value}));if(n.hasOwnProperty(t.key))throw new Error(e.instant("externalsync.duplicate.key.error",{key:t.key}));n[t.key]=t.value}return n}),{})}function i(n,e){for(let o=0;o<e.length;o++){const r=e[o];if("StringArray"===r.__type)n[r.__name]||(n[r.__name]=[""]);else if("OptionArray"===r.__type)if(n[r.__name])for(let e=0;e<r.__childOptions.length;e++){const t=r.__childOptions[e];if("Boolean"===t.__type)for(let e=0;e<n[r.__name].length;e++){const o=n[r.__name][e];!o.hasOwnProperty([t.__name])&&angular.isDefined(t.__defaultValue)&&(o[t.__name]=t.__defaultValue)}}else{n[r.__name]=[];const e={};for(let n=0;n<r.__childOptions.length;n++){const t=r.__childOptions[n];"StringArray"===t.__type?e[t.__name]=[""]:e[t.__name]=angular.isUndefined(t.__defaultValue)?"":t.__defaultValue}n[r.__name].push(e)}else"Map"===r.__type?n[r.__name]?n[r.__name]=(t=n[r.__name],_.map(t,(function(n,e){return{key:e,value:n}}))):n[r.__name]=[]:"JsonString"===r.__type?!n[r.__name]||n[r.__name]instanceof String||"string"==typeof n[r.__name]||(n[r.__name]=angular.toJson(n[r.__name],2)):angular.isUndefined(n[r.__name])&&(n[r.__name]=angular.isUndefined(r.__defaultValue)?"":r.__defaultValue)}var t;return n}function a(n,e,t){return n.post("repositories/"+e,o({query:t}),{headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/sparql-results+json","X-GraphDB-Local-Consistency":"updating"}})}function c(n){return n.substring(0,n.length-1)+"/instance#"}function s(n,e,t,o,i){const a=function n(e,t){const o={};return _.each(t,(function(t){angular.isDefined(e[t.__name])&&("OptionArray"===t.__type?(o[t.__name]=[],_.each(e[t.__name],(function(e){o[t.__name].push(n(e,t.__childOptions))}))):o[t.__name]=angular.copy(e[t.__name]))})),o}(t,o);for(let n=0;n<o.length;n++)try{"Map"===o[n].__type?a[o[n].__name]=r(a[o[n].__name],$translate):"JsonString"===o[n].__type&&(a[o[n].__name]=angular.fromJson(a[o[n].__name]))}catch(e){return i(o[n].__label,e.message),null}!function n(e){Array.isArray(e)&&(e=_.filter(e,(function(n){return null!==n&&(!n.trim||""!==n.trim())})));return Object.keys(e).forEach((function(t){""!==e[t]&&null!=e[t]||!1===e[t]?"object"==typeof e[t]&&(e[t]=n(e[t])):delete e[t]})),e}(a);let s="";s+="PREFIX :<"+e+">\n";return s+="PREFIX inst:<"+c(e)+">\n",s+="INSERT DATA {\n",s+="\tinst:"+n+" :createConnector '''\n",s+=angular.toJson(a,2),s+="\n''' .\n}\n",s=s.replace(/\\/g,"\\\\\\"),s}function l(n,e,t,r,l,u,f,p,g,d){function m(e){n.beingBuiltConnector={percentDone:0,status:{processedEntities:0,estimatedEntities:0,indexedEntities:0,entitiesPerSecond:0},actionName:e?d.instant("externalsync.repairing"):d.instant("externalsync.creating"),waitOnRepairStartOnce:!!e,eta:"-",inline:!1,iri:null}}function y(e,t,o){return m(o),$.extend(n.beingBuiltConnector,{iri:c(e)+t,name:t,inline:!1,doneCallback:function(){n.beingBuiltConnector.modalInstance.dismiss("cancel")}}),n.beingBuiltConnector.modalInstance=r.open({templateUrl:"pages/connectorProgress.html",controller:"CreateProgressCtrl",size:"lg",backdrop:"static",scope:n}),n.beingBuiltConnector.modalInstance}function C(e,r,i){const a=y(e.value,r.name,!1);p.addStatements(t.getActiveRepository(),o({update:r.query})).then((function(){g.getConnectors().then((function(){g.hasConnector(encodeURIComponent(e.value)).then((function(t){n.existing[e.key]=t.data}))})),l.success(d.instant("created.connector",{name:r.name}))}),(function(n){l.error(getError(n)),i()})).finally((function(){a.dismiss("cancel")}))}n.loader=!1,n.controllers=[],n.existing={},n.definitions={},n.getLoaderMessage=function(){const e=(Date.now()-n.loaderStartTime)/1e3,t=n.getHumanReadableSeconds(e);let o="";return o=n.progressMessage?n.progressMessage+"... "+t:d.instant("common.running.operation",{timeHuman:t}),n.extraMessage&&e>10&&(o+="\n"+n.extraMessage),o},n.setLoader=function(e,t,o){e?(n.loader=!0,n.loaderStartTime=Date.now(),n.progressMessage=t,n.extraMessage=o):(n.loader=!1,n.progressMessage="",n.extraMessage="")},n.initConnector=function(e){return g.initConnector(encodeURIComponent(e.value)).then((function(t){return n.definitions[e.key]=t.data,g.hasConnector(encodeURIComponent(e.value)).then((function(t){n.existing[e.key]=t.data}))}))},n.getConnectors=function(){n.isLicenseValid()&&n.canWriteActiveRepo()&&(n.setLoader(!0,d.instant("externalsync.fetching.connectors"),d.instant("common.extra.message")),g.getConnectors().then((function(o){n.connectors=Object.keys(o.data).map((function(n){return{key:n,value:o.data[n]}})),f.all(_.map(n.connectors,(function(e){return n.initConnector(e)}))).finally((function(){m();const o=function(n){const e=_.map(n,(function(n){return"<"+n.value+"connectorStatus>"})).join("|");return e?"SELECT ?connector ?status { ?connector "+e+" ?status }":null}(n.connectors);o?function(n){return a(e,t.getActiveRepository(),n)}(o).then((function(e){const t=function(n){if(n.bindings)for(let e=0;e<n.bindings.length;e++)try{const t=JSON.parse(n.bindings[e].status.value);if("BUILDING"===t.status)return{connector:n.bindings[e].connector.value,status:t}}catch(n){console.error(n)}return{}}(e.data.results);if(t.connector){const e=t.connector.split(/#/);e[0]=e[0].replace(/\/instance$/,"#"),o=e[0],r=e[1],m(),$.extend(n.beingBuiltConnector,{iri:c(o)+r,name:r,inline:!0,doneCallback:function(){n.beingBuiltConnector.inline=!1}})}var o,r})).finally((function(){n.setLoader(!1)})):n.setLoader(!1)}))})).catch((function(e){n.setLoader(!1),l.error(getError(e),d.instant("externalsync.could.not.get.connectors.error"))})),n.existing={})},n.getOptions=function(e){return n.definitions[e.key]},n.isEmpty=function(n){return angular.isObject(n)&&0===Object.keys(n).length},n.toPrettyJson=function(n){return angular.toJson(n,2)},n.$watch((function(){return t.getActiveRepository()}),n.getConnectors),n.$watch((function(){return t.getActiveLocation()}),n.getConnectors),n.copyConnector=function(e,t){let o;angular.isUndefined(t)||(o=angular.copy(t),o.name=o.name+"-copy");r.open({templateUrl:"pages/createConnector.html",controller:"CreateConnectorCtrl",size:"lg",backdrop:"static",resolve:{connector:function(){return e},values:function(){return angular.isUndefined(o)?{name:"",values:{}}:o},options:function(){return n.getOptions(e)}}}).result.then((function(t){C(e,t,(function(){t.skipConversion=!0,n.newConnector(e,t)}))}))},n.newConnector=function(e,t){r.open({templateUrl:"pages/createConnector.html",controller:"CreateConnectorCtrl",size:"lg",backdrop:"static",resolve:{connector:function(){return e},values:function(){return angular.isUndefined(t)?{name:"",values:{}}:t},options:function(){return n.getOptions(e)}}}).result.then((function(t){C(e,t,(function(){t.skipConversion=!0,n.newConnector(e,t)}))}))},n.repair=function(e,r){u.openSimpleModal({title:d.instant("externalsync.confirm.repair"),message:d.instant("externalsync.repair.warning.msg"),warning:!0}).result.then((function(){const i=y(r.value,e.name,!0),a=(s=e.name,"PREFIX prefix:<"+(u=r.value)+">\nINSERT DATA {\n\t<"+c(u)+s+'> prefix:repairConnector ""\n}');var s,u;p.addStatements(t.getActiveRepository(),o({update:a})).then((function(){g.getConnectors().then((function(){g.hasConnector(encodeURIComponent(r.value)).then((function(e){n.existing[r.key]=e.data}))})),l.success(d.instant("externalsync.repair.success.msg",{name:e.name}))}),(function(n){l.error(getError(n))})).finally((function(){i.dismiss("cancel")}))}))},n.delete=function(e,i){const a=i.key.indexOf("Elastic")>=0||i.key.indexOf("Solr")>=0;r.open({templateUrl:"js/angular/externalsync/templates/deleteConnector.html",controller:"DeleteConnectorCtrl",resolve:{popoverMsg:function(){return a?d.instant("delete.connector.conditional",{type:i.key}):""}}}).result.then((function(r){n.setLoader(!0,d.instant("externalsync.delete.progress.msg",{name:e.name}),d.instant("externalsync.extra.message.warning"));const c=function(n,e,t){const o=e.substring(0,e.length-1)+"/instance#";return"PREFIX prefix:<"+e+">\nINSERT DATA {\n\t<"+o+n+'> prefix:dropConnector "'+(t?"force":"")+'"\n}'}(e.name,i.value,r);p.addStatements(t.getActiveRepository(),o({update:c})).then((function(){g.getConnectors().then((function(){g.hasConnector(encodeURIComponent(i.value)).then((function(e){n.existing[i.key]=e.data}))})),r?(l.success(d.instant("externalsync.delete.force.success.msg",{name:e.name})),a&&l.warning(d.instant("externalsync.delete.remote.warning",{key:i.key}))):l.success(d.instant("externalsync.delete.success.msg",{name:e.name}))}),(function(n){l.error(getError(n))})).finally((function(){n.setLoader(!1)}))}))},n.viewQuery=function(e,t){r.open({templateUrl:"pages/viewQuery.html",controller:"ViewQueryCtrl",resolve:{query:function(){const o=n.getOptions(e);return s(t.name,e.value,i(t.values,o),o)}}})}}function u(n,e,t){n.force=!1,n.popoverMsg=t,n.ok=function(){e.close(n.force)},n.cancel=function(){e.dismiss()}}function f(n,e,t,o,r){function i(){return s(n.name,t.value,n.values,n.options,(function(n,e){r.error(e,n)}))}n.connector=t,n.addField=function(e,t){const o=angular.copy(n.defaultValues[t][0]);n.values[t].splice(e+1,0,o)},n.addOption=function(n,e){e.splice(n+1,0,"")},n.deleteOption=function(n,e){e.splice(n,1)},n.addMapOption=function(n,e){e.splice(n+1,0,{key:"",value:""})},n.deleteMapOption=function(n,e){e.splice(n,1)},n.ok=function(){if(n.form.$valid){const t=i();t&&e.close({name:n.name,values:n.values,options:n.options,query:t})}},n.viewQuery=function(){const n=i();n&&o.open({templateUrl:"pages/viewQuery.html",controller:"ViewQueryCtrl",resolve:{query:function(){return n}}})},n.cancel=function(){e.dismiss("cancel")}}function p(n,e,t,o,r,a,c,s){angular.extend(this,e("ExtendNewConnectorCtrl",{$scope:n,$uibModalInstance:o,connector:r,$uibModal:a})),n.values=c.values,n.options=s,n.name=c.name,c.skipConversion||(n.values=i(n.values,n.options)),n.defaultValues=angular.copy(n.values)}function g(n,e,t,o,r){function i(){const i=function(n){const e=n.replace(/\/instance#.+$/,"#connectorStatus");let t="";return t+="SELECT ?status {\n",t+="\t<"+n+"> <"+e+"> ?status",t+="\n}",t}(n.beingBuiltConnector.iri);n.beingBuiltConnector.iri=null,n.progressInterval=e((function(){(function(n){return a(t,o.getActiveRepository(),n)})(i).then((function(t){const o=function(n){if(n.bindings&&n.bindings.length>0)try{return JSON.parse(n.bindings[0].status.value)}catch(n){console.error(n)}return{}}(t.data.results);"BUILDING"===o.status?(n.beingBuiltConnector.status=o,n.beingBuiltConnector.percentDone=(100*o.processedEntities/o.estimatedEntities).toFixed(0),n.beingBuiltConnector.eta=n.getHumanReadableSeconds(o.etaSeconds),n.beingBuiltConnector.actionName=o.repair?r.instant("externalsync.repairing"):r.instant("externalsync.creating"),n.beingBuiltConnector.waitOnRepairStartOnce=!1):"BUILT"!==o.status||n.beingBuiltConnector.waitOnRepairStartOnce||(e.cancel(n.progressInterval),n.beingBuiltConnector.doneCallback&&n.beingBuiltConnector.doneCallback())}))}),1e3),n.$on("$destroy",(function(){e.cancel(n.progressInterval)}))}n.beingBuiltConnector=n.beingBuiltConnector||{},!n.beingBuiltConnector.inline&&n.beingBuiltConnector.iri&&i(),n.$watch("beingBuiltConnector.iri",(function(e){n.beingBuiltConnector.inline&&e&&i()}))}angular.module("graphdb.framework.externalsync.controllers",["graphdb.framework.rest.rdf4j.repositories.service","graphdb.framework.rest.connectors.service"]).controller("ConnectorsCtrl",l).controller("ExtendNewConnectorCtrl",f).controller("CreateConnectorCtrl",p).controller("CreateProgressCtrl",g).controller("DeleteConnectorCtrl",u).filter("ceil",(function(){return function(n){return Math.ceil(n)}})),l.$inject=["$scope","$http","$repositories","$uibModal","toastr","ModalService","$q","RDF4JRepositoriesRestService","ConnectorsRestService","$translate"],u.$inject=["$scope","$uibModalInstance","popoverMsg"],f.$inject=["$scope","$uibModalInstance","connector","$uibModal","toastr"],p.$inject=["$scope","$controller","$http","$uibModalInstance","connector","$uibModal","values","options"],g.$inject=["$scope","$interval","$http","$repositories","$translate"]},72:function(n,e,t){"use strict";t.r(e);t(4);angular.module("graphdb.framework.externalsync.directives",[]).directive("createProgress",(function(){return{templateUrl:"pages/connectorProgress.html",controller:"CreateProgressCtrl",restrict:"EA"}}))}}]);
2
+ //# sourceMappingURL=26.7b0b040185949c4eb865.bundle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["webpack:///./src/js/angular/externalsync/app.js","webpack:///./src/js/angular/rest/connectors.rest.service.js","webpack:///./src/js/angular/externalsync/controllers.js","webpack:///./src/js/angular/externalsync/directives.js"],"names":["angular","module","filter","noun","isUndefined","replace","factory","ConnectorsRestService","$inject","$http","getConnectors","get","initConnector","prefix","hasConnector","checkConnector","data","post","headers","jsonToFormData","str","Object","keys","forEach","key","push","encodeURIComponent","join","fromArrayMap","arrayMap","$translate","_","reduce","acc","value","Error","instant","hasOwnProperty","mapCreateValuesToUiValues","values","options","i","length","option","__type","__name","j","__childOptions","child","k","valueK","isDefined","__defaultValue","optionEl","map","String","toJson","_evaluateSparqlQuery","http","repository","query","buildNamePrefix","substring","createConnectorQuery","name","fields","reportError","fcopy","sortObject","obj","newObject","each","childOption","copy","fromJson","e","__label","message","removeEmptyValues","Array","isArray","item","trim","finalString","ConnectorsCtrl","$scope","$repositories","$uibModal","toastr","ModalService","$q","RDF4JRepositoriesRestService","resetProgress","repair","beingBuiltConnector","percentDone","status","processedEntities","estimatedEntities","indexedEntities","entitiesPerSecond","actionName","waitOnRepairStartOnce","eta","inline","iri","openProgressModal","$","extend","doneCallback","modalInstance","dismiss","open","templateUrl","controller","size","backdrop","scope","executeCreate","connector","errorCallback","modal","addStatements","getActiveRepository","update","then","res","existing","success","err","error","getError","finally","loader","controllers","definitions","getLoaderMessage","timeSeconds","Date","now","loaderStartTime","timeHuman","getHumanReadableSeconds","progressMessage","extraMessage","setLoader","isRunning","isLicenseValid","canWriteActiveRepo","connectors","all","connectorIris","createStatusQueryForAny","evaluateSparqlQuery","results","bindings","statusObject","JSON","parse","console","parseFirstBuildingResult","d","split","catch","getOptions","isEmpty","isObject","toPrettyJson","$watch","getActiveLocation","copyConnector","newValues","resolve","result","skipConversion","newConnector","inst","type","openSimpleModal","title","warning","delete","isExternal","indexOf","popoverMsg","force","namePrefix","deleteConnectorQuery","viewQuery","DeleteConnectorCtrl","$uibModalInstance","ok","close","cancel","ExtendNewConnectorCtrl","toQuery","label","addField","index","optionName","newField","defaultValues","splice","addOption","array","deleteOption","addMapOption","deleteMapOption","form","$valid","CreateConnectorCtrl","$controller","this","CreateProgressCtrl","$interval","initProgress","statusIri","createStatusQueryForIri","progressInterval","getFirstStatusFromResult","toFixed","etaSeconds","$on","input","Math","ceil","directive","restrict"],"mappings":"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","file":"26.7b0b040185949c4eb865.bundle.js","sourcesContent":["import 'angular/core/services';\nimport 'angular/core/directives';\nimport 'angular/core/controllers';\nimport 'angular/externalsync/controllers';\nimport 'angular/externalsync/directives';\n\nconst modules = [\n 'graphdb.framework.core.controllers',\n 'graphdb.framework.externalsync.controllers',\n 'graphdb.framework.externalsync.directives',\n 'graphdb.framework.core.directives'\n];\n\nconst externalsync = angular.module('graphdb.framework.externalsync', modules);\n\nexternalsync.filter('singular', function () {\n return function (noun) {\n if (angular.isUndefined(noun)) {\n return noun;\n } else {\n return noun.replace(/ies$/, 'y').replace(/s$/, '');\n }\n };\n});\n","angular\n .module('graphdb.framework.rest.connectors.service', [])\n .factory('ConnectorsRestService', ConnectorsRestService);\n\nConnectorsRestService.$inject = ['$http'];\n\nconst CONNECTORS_ENDPOINT = 'rest/connectors';\n\nfunction ConnectorsRestService($http) {\n\n return {\n getConnectors,\n initConnector,\n hasConnector,\n checkConnector\n };\n\n function getConnectors() {\n return $http.get(CONNECTORS_ENDPOINT);\n }\n\n function initConnector(prefix) {\n return $http.get(`${CONNECTORS_ENDPOINT}/options?prefix=${prefix}`);\n }\n\n function hasConnector(prefix) {\n return $http.get(`${CONNECTORS_ENDPOINT}/existing?prefix=${prefix}`);\n }\n\n function checkConnector(data) {\n return $http.post(`${CONNECTORS_ENDPOINT}/check`, data, {\n headers: {\n 'Content-Type': 'text/plain'\n }\n });\n }\n}\n","import 'angular/rest/rdf4j.repositories.rest.service';\nimport 'angular/rest/connectors.rest.service';\n\nconst modules = [\n 'graphdb.framework.rest.rdf4j.repositories.service',\n 'graphdb.framework.rest.connectors.service'\n];\n\nangular\n .module('graphdb.framework.externalsync.controllers', modules)\n .controller('ConnectorsCtrl', ConnectorsCtrl)\n .controller('ExtendNewConnectorCtrl', ExtendNewConnectorCtrl)\n .controller('CreateConnectorCtrl', CreateConnectorCtrl)\n .controller('CreateProgressCtrl', CreateProgressCtrl)\n .controller('DeleteConnectorCtrl', DeleteConnectorCtrl)\n .filter('ceil', ceil);\n\nfunction jsonToFormData(data) {\n const str = [];\n Object.keys(data).forEach(function (key) {\n str.push(encodeURIComponent(key) + '=' + encodeURIComponent(data[key]));\n });\n return str.join('&');\n}\n\nfunction toArrayMap(map) {\n return _.map(map, function (value, key) {\n return {key: key, value: value};\n });\n}\n\nfunction fromArrayMap(arrayMap, $translate) {\n return _.reduce(arrayMap, function (acc, value) {\n if (value.key === '' && value.value === '') {\n // empty pair, skip it\n } else if (value.key === '') {\n throw new Error($translate.instant('externalsync.empty.value.key.error', {value: value.value}));\n } else if (acc.hasOwnProperty(value.key)) {\n throw new Error($translate.instant('externalsync.duplicate.key.error', {key: value.key}));\n } else {\n acc[value.key] = value.value;\n }\n return acc;\n }, {});\n}\n\nfunction mapCreateValuesToUiValues(values, options) {\n for (let i = 0; i < options.length; i++) {\n const option = options[i];\n if (option.__type === 'StringArray') {\n if (!values[option.__name]) {\n values[option.__name] = [''];\n }\n } else if (option.__type === 'OptionArray') {\n if (!values[option.__name]) { // values has no entry for this option\n values[option.__name] = [];\n const optionEl = {};\n for (let j = 0; j < option.__childOptions.length; j++) {\n const child = option.__childOptions[j];\n if (child.__type === 'StringArray') {\n optionEl[child.__name] = [''];\n } else {\n optionEl[child.__name] = (!angular.isUndefined(child.__defaultValue) ? child.__defaultValue : '');\n }\n }\n values[option.__name].push(optionEl);\n } else { // values already has en entry for this option\n // Copies the default value for Boolean child options if no explicit value is set\n for (let j = 0; j < option.__childOptions.length; j++) {\n const child = option.__childOptions[j];\n if (child.__type === 'Boolean') {\n for (let k = 0; k < values[option.__name].length; k++) {\n const valueK = values[option.__name][k];\n if (!valueK.hasOwnProperty([child.__name]) && angular.isDefined(child.__defaultValue)) {\n valueK[child.__name] = child.__defaultValue;\n }\n }\n }\n }\n }\n } else if (option.__type === 'Map') {\n if (!values[option.__name]) {\n values[option.__name] = [];\n } else {\n values[option.__name] = toArrayMap(values[option.__name]);\n }\n } else if (option.__type === 'JsonString') {\n if (values[option.__name] && !(values[option.__name] instanceof String) && typeof values[option.__name] !== 'string') {\n values[option.__name] = angular.toJson(values[option.__name], 2);\n }\n } else {\n if (angular.isUndefined(values[option.__name])) {\n values[option.__name] = (!angular.isUndefined(option.__defaultValue) ? option.__defaultValue : '');\n }\n }\n }\n\n return values;\n}\n\nfunction _evaluateSparqlQuery(http, repository, query) {\n return http.post('repositories/' + repository, jsonToFormData({query: query}),\n {\n headers: {\n 'Content-Type': 'application/x-www-form-urlencoded',\n 'Accept': 'application/sparql-results+json',\n 'X-GraphDB-Local-Consistency': 'updating'\n }\n });\n}\n\nfunction buildNamePrefix(prefix) {\n return prefix.substring(0, prefix.length - 1) + '/instance#';\n}\n\nfunction createConnectorQuery(name, prefix, fields, options, reportError) {\n // Returns a copy of the parameter obj sorted according to the order in options\n function sortObject(obj, options) {\n const newObject = {};\n _.each(options, function (option) {\n if (angular.isDefined(obj[option.__name])) {\n if (option.__type === 'OptionArray') {\n newObject[option.__name] = [];\n _.each(obj[option.__name], function (childOption) {\n newObject[option.__name].push(sortObject(childOption, option.__childOptions));\n });\n } else {\n newObject[option.__name] = angular.copy(obj[option.__name]);\n }\n }\n });\n return newObject;\n }\n\n const fcopy = sortObject(fields, options);\n\n for (let i = 0; i < options.length; i++) {\n try {\n if (options[i].__type === 'Map') {\n fcopy[options[i].__name] = fromArrayMap(fcopy[options[i].__name], $translate);\n } else if (options[i].__type === 'JsonString') {\n fcopy[options[i].__name] = angular.fromJson(fcopy[options[i].__name]);\n }\n } catch (e) {\n reportError(options[i].__label, e.message);\n return null;\n }\n }\n\n removeEmptyValues(fcopy);\n //escapeValues(fields);\n let finalString = '';\n finalString += 'PREFIX :<' + prefix + '>\\n';\n const namePrefix = buildNamePrefix(prefix);\n finalString += 'PREFIX inst:<' + namePrefix + '>\\n';\n finalString += 'INSERT DATA {\\n';\n finalString += \"\\tinst:\" + name + \" :createConnector '''\\n\"; // eslint-disable-line quotes\n finalString += angular.toJson(fcopy, 2);\n finalString += \"\\n''' .\\n}\\n\"; // eslint-disable-line quotes\n finalString = finalString.replace(/\\\\/g, '\\\\\\\\\\\\');\n return finalString;\n}\n\nfunction createStatusQueryForIri(iri) {\n const statusIri = iri.replace(/\\/instance#.+$/, '#connectorStatus');\n let finalString = '';\n finalString += 'SELECT ?status {\\n';\n finalString += '\\t<' + iri + '> <' + statusIri + '> ?status';\n finalString += '\\n}';\n return finalString;\n}\n\nfunction createStatusQueryForAny(connectors) {\n const connectorIris = _.map(connectors,\n function (k) {\n return '<' + k.value + 'connectorStatus' + '>';\n }).join('|');\n\n if (connectorIris) {\n return 'SELECT ?connector ?status { ?connector ' + connectorIris + ' ?status }';\n }\n\n return null;\n}\n\nfunction repairConnectorQuery(name, prefix) {\n const namePrefix = buildNamePrefix(prefix);\n return 'PREFIX prefix:<' + prefix + '>\\n' +\n 'INSERT DATA {\\n' +\n '\\t<' + namePrefix + name + '> prefix:repairConnector \"\"\\n' +\n '}';\n}\n\nfunction deleteConnectorQuery(name, prefix, force) {\n const namePrefix = prefix.substring(0, prefix.length - 1) + \"/instance#\";\n return 'PREFIX prefix:<' + prefix + '>\\n' +\n 'INSERT DATA {\\n' +\n '\\t<' + namePrefix + name + '> prefix:dropConnector \"' + (force ? \"force\" : \"\") + '\"\\n' +\n '}';\n}\n\nfunction removeEmptyValues(data) {\n // remove empty values from array\n if (Array.isArray(data)) {\n data = _.filter(data, function (item) {\n return item !== null && (!item.trim || item.trim() !== '');\n });\n }\n // remove empty values from object values\n Object.keys(data).forEach(function (key) {\n if ((data[key] === '' || data[key] == null) && data[key] !== false) {\n delete data[key];\n } else if (typeof data[key] === 'object') {\n data[key] = removeEmptyValues(data[key]);\n }\n });\n return data;\n}\n\nfunction parseFirstBuildingResult(results) {\n if (results.bindings) {\n for (let i = 0; i < results.bindings.length; i++) {\n try {\n const statusObject = JSON.parse(results.bindings[i].status.value);\n if (statusObject.status === 'BUILDING') {\n return {\n connector: results.bindings[i].connector.value,\n status: statusObject\n };\n }\n } catch (e) {\n console.error(e); // eslint-disable-line no-console\n }\n }\n }\n\n return {};\n}\n\nConnectorsCtrl.$inject = ['$scope', '$http', '$repositories', '$uibModal', 'toastr', 'ModalService', '$q', 'RDF4JRepositoriesRestService', 'ConnectorsRestService', '$translate'];\n\nfunction ConnectorsCtrl($scope, $http, $repositories, $uibModal, toastr, ModalService, $q, RDF4JRepositoriesRestService, ConnectorsRestService, $translate) {\n $scope.loader = false;\n\n $scope.controllers = [];\n\n $scope.existing = {};\n\n $scope.definitions = {};\n\n $scope.getLoaderMessage = function () {\n const timeSeconds = (Date.now() - $scope.loaderStartTime) / 1000;\n const timeHuman = $scope.getHumanReadableSeconds(timeSeconds);\n let message = '';\n if ($scope.progressMessage) {\n message = $scope.progressMessage + '... ' + timeHuman;\n } else {\n message = $translate.instant('common.running.operation', {timeHuman: timeHuman});\n }\n if ($scope.extraMessage && timeSeconds > 10) {\n message += '\\n' + $scope.extraMessage;\n }\n\n return message;\n };\n\n $scope.setLoader = function (isRunning, progressMessage, extraMessage) {\n if (isRunning) {\n $scope.loader = true;\n $scope.loaderStartTime = Date.now();\n $scope.progressMessage = progressMessage;\n $scope.extraMessage = extraMessage;\n } else {\n $scope.loader = false;\n $scope.progressMessage = '';\n $scope.extraMessage = '';\n }\n };\n\n $scope.initConnector = function (connector) {\n return ConnectorsRestService.initConnector(encodeURIComponent(connector.value))\n .then(function (res) {\n $scope.definitions[connector.key] = res.data;\n\n return ConnectorsRestService.hasConnector(encodeURIComponent(connector.value))\n .then(function (res) {\n $scope.existing[connector.key] = res.data;\n\n });\n });\n };\n\n $scope.getConnectors = function () {\n if (!$scope.isLicenseValid()) {\n return;\n }\n if (!$scope.canWriteActiveRepo()) {\n return;\n }\n\n $scope.setLoader(true, $translate.instant('externalsync.fetching.connectors'), $translate.instant('common.extra.message'));\n\n ConnectorsRestService.getConnectors()\n .then(function (res) {\n $scope.connectors = Object.keys(res.data).map(function (key) {\n return {key: key, value: res.data[key]};\n });\n\n $q.all(_.map($scope.connectors, function (connector) {\n return $scope.initConnector(connector);\n })).finally(function () {\n resetProgress();\n\n const query = createStatusQueryForAny($scope.connectors);\n\n if (query) {\n evaluateSparqlQuery(query)\n .then(function (res) {\n const status = parseFirstBuildingResult(res.data.results);\n if (status.connector) {\n // has a building connector, open progress indicator\n const d = status.connector.split(/#/);\n d[0] = d[0].replace(/\\/instance$/, '#');\n showProgress(d[0], d[1]);\n }\n })\n .finally(function () {\n $scope.setLoader(false);\n });\n } else {\n $scope.setLoader(false);\n }\n });\n }).catch(function (e) {\n $scope.setLoader(false);\n toastr.error(getError(e), $translate.instant('externalsync.could.not.get.connectors.error'));\n });\n\n $scope.existing = {};\n };\n\n $scope.getOptions = function (connector) {\n return $scope.definitions[connector.key];\n };\n\n $scope.isEmpty = function (value) {\n return angular.isObject(value) && Object.keys(value).length === 0;\n };\n\n $scope.toPrettyJson = function (value) {\n return angular.toJson(value, 2);\n };\n\n $scope.$watch(function () {\n return $repositories.getActiveRepository();\n }, $scope.getConnectors);\n\n $scope.$watch(function () {\n return $repositories.getActiveLocation();\n }, $scope.getConnectors);\n\n function evaluateSparqlQuery(query) {\n return _evaluateSparqlQuery($http, $repositories.getActiveRepository(), query);\n }\n\n function resetProgress(repair) {\n $scope.beingBuiltConnector = {\n percentDone: 0,\n status: {\n processedEntities: 0,\n estimatedEntities: 0,\n indexedEntities: 0,\n entitiesPerSecond: 0\n },\n actionName: repair ? $translate.instant('externalsync.repairing') : $translate.instant('externalsync.creating'),\n waitOnRepairStartOnce: !!repair,\n eta: '-',\n inline: false,\n iri: null\n };\n }\n\n function openProgressModal(prefix, name, repair) {\n resetProgress(repair);\n\n $.extend($scope.beingBuiltConnector, {\n iri: buildNamePrefix(prefix) + name,\n name: name,\n inline: false,\n doneCallback: function () {\n $scope.beingBuiltConnector.modalInstance.dismiss('cancel');\n }\n });\n\n $scope.beingBuiltConnector.modalInstance = $uibModal.open({\n templateUrl: 'pages/connectorProgress.html',\n controller: 'CreateProgressCtrl',\n size: 'lg',\n backdrop: 'static',\n scope: $scope\n });\n\n return $scope.beingBuiltConnector.modalInstance;\n }\n\n function showProgress(prefix, name) {\n resetProgress();\n\n $.extend($scope.beingBuiltConnector, {\n iri: buildNamePrefix(prefix) + name,\n name: name,\n inline: true,\n doneCallback: function () {\n $scope.beingBuiltConnector.inline = false;\n }\n });\n }\n\n function executeCreate(connector, obj, errorCallback) {\n const modal = openProgressModal(connector.value, obj.name, false);\n RDF4JRepositoriesRestService.addStatements($repositories.getActiveRepository(), jsonToFormData({update: obj.query}))\n .then(function () {\n ConnectorsRestService.getConnectors().then(function () {\n ConnectorsRestService.hasConnector(encodeURIComponent(connector.value)).then(function (res) {\n $scope.existing[connector.key] = res.data;\n });\n });\n toastr.success($translate.instant('created.connector', {name: obj.name}));\n }, function (err) {\n toastr.error(getError(err));\n errorCallback();\n }).finally(function () {\n modal.dismiss('cancel');\n });\n }\n\n $scope.copyConnector = function (connector, values) {\n let newValues;\n if (!angular.isUndefined(values)) {\n newValues = angular.copy(values);\n newValues.name = newValues.name + '-copy';\n }\n const modal = $uibModal.open({\n templateUrl: 'pages/createConnector.html',\n controller: 'CreateConnectorCtrl',\n size: 'lg',\n backdrop: 'static',\n resolve: {\n connector: function () {\n return connector;\n },\n values: function () {\n return angular.isUndefined(newValues) ? {name: '', values: {}} : newValues;\n },\n options: function () {\n return $scope.getOptions(connector);\n }\n }\n });\n\n modal.result.then(function (obj) {\n executeCreate(connector, obj, function () {\n obj.skipConversion = true;\n $scope.newConnector(connector, obj);\n });\n });\n };\n\n $scope.newConnector = function (connector, values) {\n const modal = $uibModal.open({\n templateUrl: 'pages/createConnector.html',\n controller: 'CreateConnectorCtrl',\n size: 'lg',\n backdrop: 'static',\n resolve: {\n connector: function () {\n return connector;\n },\n values: function () {\n return angular.isUndefined(values) ? {name: '', values: {}} : values;\n },\n options: function () {\n return $scope.getOptions(connector);\n }\n }\n });\n\n modal.result.then(function (obj) {\n executeCreate(connector, obj, function () {\n obj.skipConversion = true;\n $scope.newConnector(connector, obj);\n });\n });\n };\n\n $scope.repair = function (inst, type) {\n ModalService.openSimpleModal({\n title: $translate.instant('externalsync.confirm.repair'),\n message: $translate.instant('externalsync.repair.warning.msg'),\n warning: true\n }).result\n .then(function () {\n const modal = openProgressModal(type.value, inst.name, true);\n\n const query = repairConnectorQuery(inst.name, type.value);\n\n RDF4JRepositoriesRestService.addStatements($repositories.getActiveRepository(), jsonToFormData({update: query}))\n .then(function () {\n ConnectorsRestService.getConnectors().then(function () {\n ConnectorsRestService.hasConnector(encodeURIComponent(type.value)).then(function (res) {\n $scope.existing[type.key] = res.data;\n });\n });\n toastr.success($translate.instant('externalsync.repair.success.msg', {name: inst.name}));\n }, function (err) {\n toastr.error(getError(err));\n }).finally(function () {\n modal.dismiss('cancel');\n });\n });\n };\n\n $scope.delete = function (inst, type) {\n const isExternal = type.key.indexOf(\"Elastic\") >= 0 || type.key.indexOf(\"Solr\") >= 0;\n\n $uibModal.open({\n templateUrl: 'js/angular/externalsync/templates/deleteConnector.html',\n controller: 'DeleteConnectorCtrl',\n resolve: {\n popoverMsg: function () {\n return isExternal ? $translate.instant('delete.connector.conditional', {type: type.key}) : '';\n }\n }\n }).result\n .then(function(force) {\n $scope.setLoader(true, $translate.instant('externalsync.delete.progress.msg', {name: inst.name}),\n $translate.instant('externalsync.extra.message.warning'));\n\n const query = deleteConnectorQuery(inst.name, type.value, force);\n RDF4JRepositoriesRestService.addStatements($repositories.getActiveRepository(), jsonToFormData({update: query}))\n .then(function () {\n ConnectorsRestService.getConnectors().then(function () {\n ConnectorsRestService.hasConnector(encodeURIComponent(type.value)).then(function (res) {\n $scope.existing[type.key] = res.data;\n });\n });\n if (force) {\n toastr.success($translate.instant('externalsync.delete.force.success.msg', {name: inst.name}));\n if (isExternal) {\n toastr.warning($translate.instant('externalsync.delete.remote.warning', {key: type.key}));\n }\n } else {\n toastr.success($translate.instant('externalsync.delete.success.msg', {name: inst.name}));\n }\n }, function (err) {\n toastr.error(getError(err));\n }).finally(function() {\n $scope.setLoader(false);\n });\n });\n };\n\n $scope.viewQuery = function (connector, inst) {\n $uibModal.open({\n templateUrl: 'pages/viewQuery.html',\n controller: 'ViewQueryCtrl',\n resolve: {\n query: function () {\n const options = $scope.getOptions(connector);\n return createConnectorQuery(inst.name, connector.value,\n mapCreateValuesToUiValues(inst.values, options), options);\n }\n }\n });\n };\n}\n\nDeleteConnectorCtrl.$inject = ['$scope', '$uibModalInstance', 'popoverMsg'];\nfunction DeleteConnectorCtrl($scope, $uibModalInstance, popoverMsg) {\n $scope.force = false;\n $scope.popoverMsg = popoverMsg;\n\n $scope.ok = function () {\n $uibModalInstance.close($scope.force);\n };\n\n $scope.cancel = function () {\n $uibModalInstance.dismiss();\n };\n}\n\nExtendNewConnectorCtrl.$inject = ['$scope', '$uibModalInstance', 'connector', '$uibModal', 'toastr'];\nfunction ExtendNewConnectorCtrl($scope, $uibModalInstance, connector, $uibModal, toastr) {\n\n $scope.connector = connector;\n\n $scope.addField = function (index, optionName) {\n const newField = angular.copy($scope.defaultValues[optionName][0]);\n $scope.values[optionName].splice(index + 1, 0, newField);\n };\n\n $scope.addOption = function (index, array) {\n array.splice(index + 1, 0, '');\n };\n\n $scope.deleteOption = function (index, array) {\n array.splice(index, 1);\n };\n\n $scope.addMapOption = function (index, array) {\n array.splice(index + 1, 0, {key: '', value: ''});\n };\n\n $scope.deleteMapOption = function (index, array) {\n array.splice(index, 1);\n };\n\n function toQuery() {\n return createConnectorQuery($scope.name, connector.value, $scope.values, $scope.options,\n function (label, error) {\n toastr.error(error, label);\n });\n }\n\n $scope.ok = function () {\n if ($scope.form.$valid) {\n const query = toQuery();\n\n if (query) {\n $uibModalInstance.close({name: $scope.name, values: $scope.values, options: $scope.options, query: query});\n }\n }\n };\n\n $scope.viewQuery = function () {\n const query = toQuery();\n\n if (query) {\n $uibModal.open({\n templateUrl: 'pages/viewQuery.html',\n controller: 'ViewQueryCtrl',\n resolve: {\n query: function () {\n return query;\n }\n }\n });\n }\n };\n\n $scope.cancel = function () {\n $uibModalInstance.dismiss('cancel');\n };\n}\n\nCreateConnectorCtrl.$inject = ['$scope', '$controller', '$http', '$uibModalInstance', 'connector', '$uibModal', 'values', 'options'];\n\nfunction CreateConnectorCtrl($scope, $controller, $http, $uibModalInstance, connector, $uibModal, values, options) {\n angular.extend(this, $controller('ExtendNewConnectorCtrl', {\n $scope: $scope,\n $uibModalInstance: $uibModalInstance,\n connector: connector,\n $uibModal: $uibModal\n }));\n $scope.values = values.values;\n $scope.options = options;\n $scope.name = values.name;\n if (!values.skipConversion) {\n $scope.values = mapCreateValuesToUiValues($scope.values, $scope.options);\n }\n $scope.defaultValues = angular.copy($scope.values);\n}\n\n// Note that this is a fancy controller: it's used both for a modal and for a directive.\n// This means you can't rely on custom injection through resolve in the modal and the scope\n// must be shared with the main connectors controller.\nCreateProgressCtrl.$inject = ['$scope', '$interval', '$http', '$repositories', '$translate'];\n\nfunction CreateProgressCtrl($scope, $interval, $http, $repositories, $translate) {\n function evaluateSparqlQuery(query) {\n return _evaluateSparqlQuery($http, $repositories.getActiveRepository(), query);\n }\n\n function initProgress() {\n const query = createStatusQueryForIri($scope.beingBuiltConnector.iri);\n\n // reset iri value so that watch will fire again when we do something with the same connector\n $scope.beingBuiltConnector.iri = null;\n\n $scope.progressInterval = $interval(function () {\n function getFirstStatusFromResult(results) {\n if (results.bindings) {\n if (results.bindings.length > 0) {\n try {\n return JSON.parse(results.bindings[0].status.value);\n } catch (e) {\n console.error(e); // eslint-disable-line no-console\n }\n }\n }\n\n return {};\n }\n\n evaluateSparqlQuery(query)\n .then(function (res) {\n const status = getFirstStatusFromResult(res.data.results);\n if (status.status === 'BUILDING') {\n $scope.beingBuiltConnector.status = status;\n $scope.beingBuiltConnector.percentDone = (100 * status.processedEntities / status.estimatedEntities).toFixed(0);\n $scope.beingBuiltConnector.eta = $scope.getHumanReadableSeconds(status.etaSeconds);\n $scope.beingBuiltConnector.actionName = status.repair ? $translate.instant('externalsync.repairing') : $translate.instant('externalsync.creating');\n $scope.beingBuiltConnector.waitOnRepairStartOnce = false;\n } else if (status.status === 'BUILT' && !$scope.beingBuiltConnector.waitOnRepairStartOnce) {\n // done\n $interval.cancel($scope.progressInterval);\n if ($scope.beingBuiltConnector.doneCallback) {\n $scope.beingBuiltConnector.doneCallback();\n }\n }\n });\n }, 1000);\n\n $scope.$on('$destroy', function () {\n $interval.cancel($scope.progressInterval);\n });\n }\n\n $scope.beingBuiltConnector = $scope.beingBuiltConnector || {};\n\n // for modal instance we get the iri before hand and can start progress now\n if (!$scope.beingBuiltConnector.inline && $scope.beingBuiltConnector.iri) {\n initProgress();\n }\n\n // for inline progress we need to watch for the iri value\n $scope.$watch('beingBuiltConnector.iri', function (value) {\n if ($scope.beingBuiltConnector.inline && value) {\n initProgress();\n }\n });\n}\n\nfunction ceil() {\n return function (input) {\n return Math.ceil(input);\n };\n}\n","import 'angular/core/services';\n\nangular.module('graphdb.framework.externalsync.directives', [])\n .directive('createProgress', function () {\n return {\n templateUrl: 'pages/connectorProgress.html',\n controller: 'CreateProgressCtrl',\n restrict: 'EA'\n };\n });\n"],"sourceRoot":""}
@@ -1,2 +1,2 @@
1
- (window.webpackJsonp=window.webpackJsonp||[]).push([[27,110],{253:function(e,t,n){var r,i,o;i=[],void 0===(o="function"==typeof(r=function(){return function(){var e=function(){return"n"},t=function(){return[0,0]},n=function(){return" "},r=u(),i=null,o=null,a=null,s=null;function c(e){var t;i="svg"===(t=(t=e).node()).tagName.toLowerCase()?t:t.ownerSVGElement,o=i.createSVGPoint(),document.body.appendChild(r)}c.show=function(){var r=Array.prototype.slice.call(arguments);r[r.length-1]instanceof SVGElement&&(a=r.pop());var i,o=n.apply(this,r),u=t.apply(this,r),f=e.apply(this,r),h=p(),g=d.length,m=document.documentElement.scrollTop||document.body.scrollTop,y=document.documentElement.scrollLeft||document.body.scrollLeft,v=s.apply(this,r);for(h.html(o).style({opacity:1,"pointer-events":"all"});g--;)h.classed(d[g],!1);return i=l.get(f).apply(this),v?h.style(v):h.classed(f,!0).style({top:i.top+u[0]+m+"px",left:i.left+u[1]+y+"px"}),c},c.hide=function(){return p().style({opacity:0,"pointer-events":"none"}),c},c.attr=function(e,t){if(arguments.length<2&&"string"==typeof e)return p().attr(e);var n=Array.prototype.slice.call(arguments);return d3.selection.prototype.attr.apply(p(),n),c},c.style=function(e,t){if(arguments.length<2&&"string"==typeof e)return p().style(e);var n=Array.prototype.slice.call(arguments);return d3.selection.prototype.style.apply(p(),n),c},c.direction=function(t){return arguments.length?(e=null==t?t:d3.functor(t),c):e},c.offset=function(e){return arguments.length?(t=null==e?e:d3.functor(e),c):t},c.html=function(e){return arguments.length?(n=null==e?e:d3.functor(e),c):n},c.customPosition=function(e){return arguments.length?(s=null==e?e:d3.functor(e),c):s},c.destroy=function(){return r&&(p().remove(),r=null),c};var l=d3.map({n:function(){var e=f();return{top:e.n.y-r.offsetHeight,left:e.n.x-r.offsetWidth/2}},s:function(){var e=f();return{top:e.s.y,left:e.s.x-r.offsetWidth/2}},e:function(){var e=f();return{top:e.e.y-r.offsetHeight/2,left:e.e.x}},w:function(){var e=f();return{top:e.w.y-r.offsetHeight/2,left:e.w.x-r.offsetWidth}},nw:function(){var e=f();return{top:e.nw.y-r.offsetHeight,left:e.nw.x-r.offsetWidth}},ne:function(){var e=f();return{top:e.ne.y-r.offsetHeight,left:e.ne.x}},sw:function(){var e=f();return{top:e.sw.y,left:e.sw.x-r.offsetWidth}},se:function(){var e=f();return{top:e.se.y,left:e.e.x}}}),d=l.keys();function u(){var e=d3.select(document.createElement("div"));return e.style({position:"absolute",top:0,opacity:0,"pointer-events":"none","box-sizing":"border-box"}),e.node()}function p(){return null===r&&(r=u(),document.body.appendChild(r)),d3.select(r)}function f(){for(var e=a||d3.event.target;void 0===e.getScreenCTM&&"undefined"===e.parentNode;)e=e.parentNode;var t={},n=e.getScreenCTM(),r=e.getBBox(),i=r.width,s=r.height,c=r.x,l=r.y;return o.x=c,o.y=l,t.nw=o.matrixTransform(n),o.x+=i,t.ne=o.matrixTransform(n),o.y+=s,t.se=o.matrixTransform(n),o.x-=i,t.sw=o.matrixTransform(n),o.y-=s/2,t.w=o.matrixTransform(n),o.x+=i,t.e=o.matrixTransform(n),o.x-=i/2,o.y-=s/2,t.n=o.matrixTransform(n),o.y+=s,t.s=o.matrixTransform(n),t}return c}})?r.apply(t,i):r)||(e.exports=o)},254:function(e,t,n){"use strict";var r=r||{};r.Text=function(){function e(e,t,n,r){n=n||10;var i=t/3;return"string"==typeof e?(i*=10/(e.substring(0,t/3).length+1.5),i+=1,e.match(/[\u0900-\u0DFF\u1100-\u11FF\u2E80-\u2EFF\u3000-\u9FFF]/)&&(i*=.6),i<n&&(i=n),Math.round(i)):(i<n&&(i=n),Math.round(i))}return{calcFontSizeRaw:e,calcFontSize:function(t,n,r,i){return e(t,n,r)+"px"},getTextWithElipsisIfNeeded:function(e,t){return"string"==typeof e&&e.length>t?e.substring(0,t-3)+"...":e}}}(),r.Transition={fadeIn:function(e,t){e.style("opacity",0).transition().duration(t).style("opacity",1)},fadeOut:function(e,t){e.style("opacity",1).transition().duration(t).style("opacity",0)}},r.Click={delayDblClick:function(){var e=d3.dispatch("click","dblclick");return d3.rebind((function(t){var n,r=null;t.on("mousedown",(function(){n=d3.mouse(document.body),new Date})),t.on("mouseup",(function(t){var i,o;i=n,o=d3.mouse(document.body),Math.sqrt(Math.pow(i[0]-o[0],2),Math.pow(i[1]-o[1],2))>5||(r?(window.clearTimeout(r),r=null,e.dblclick(t)):r=window.setTimeout((d3.event,function(){e.click(t),r=null}),250))}))}),e,"on")}},t.a=r},60:function(e,t,n){"use strict";n.r(t),n.d(t,"STATIC_RULESETS",(function(){return r})),n.d(t,"REPOSITORY_TYPES",(function(){return i})),n.d(t,"FILENAME_PATTERN",(function(){return o})),n.d(t,"NUMBER_PATTERN",(function(){return a}));const r=[{id:"empty",name:"No inference"},{id:"rdfs-optimized",name:"RDFS (Optimized)"},{id:"rdfs",name:"RDFS"},{id:"rdfsplus-optimized",name:"RDFS-Plus (Optimized)"},{id:"owl-horst-optimized",name:"OWL-Horst (Optimized)"},{id:"owl-horst",name:"OWL-Horst"},{id:"owl2-ql-optimized",name:"OWL2-QL (Optimized)"},{id:"owl2-ql",name:"OWL2-QL"},{id:"owl-max-optimized",name:"OWL-Max (Optimized)"},{id:"owl-max",name:"OWL-Max"},{id:"owl2-rl-optimized",name:"OWL2-RL (Optimized)"},{id:"owl2-rl",name:"OWL2-RL"}],i={graphdbRepo:"graphdb",free:"free",eeWorker:"worker",eeMaster:"master",ontop:"ontop",se:"se",fedx:"fedx"},o=new RegExp("^[a-zA-Z0-9-_]+$"),a=new RegExp("^[0-9]+$")},80:function(e,t,n){"use strict";n.r(t);n(4);var r=n(254),i=n(253),o=n.n(i),a=(n(5),n(60));function s(e,t,n,i,s,c,l,d,u,p,f,h,g,m,y,v,x,S,I,w,k,L,C){e.languageChanged=!1,e.propertiesObj={},e.propertiesQueryObj={},e.propertiesObj.items=[],e.propertiesNotFiltered=[],e.searchVisible=!1,e.nodeSelected=!1,e.queryResultsMode=!1,e.embedded=f.search().embedded,e.openedNodeInfoPanel=void 0,e.invalidLimit=!1,e.INVALID_LINKS_MSG=L.instant("sidepanel.invalid.limit.links.msg"),e.INVALID_LINKS_TOOLTIP=L.instant("sidepanel.invalid.limit.links.tooltip"),t.$on("$translateChangeSuccess",(function(){e.INVALID_LINKS_MSG=L.instant("sidepanel.invalid.limit.links.msg"),e.INVALID_LINKS_TOOLTIP=L.instant("sidepanel.invalid.limit.links.tooltip"),e.propertiesSearchPlaceholder=L.instant("visual.search.instance.placeholder")})),e.onopen=e.onclose=()=>angular.noop(),e.embedded&&(f.search().query||f.search().uri||f.search().config||f.search().saved)&&(e.noGoHome=!0);const T={};let b=0,N=0,P={},A=0;const M=d3.behavior.zoom().scaleExtent([.5,10]);let E;let G,R;function O(){return C.isActive()?e.defaultSettings:e.saveSettings}function j(e){m.openCopyToClipboardModal(e)}function z(){e.settings.languagesMap=_.map(e.settings.languages,(function(e){return{text:e}})),e.settings.preferredTypesMap=_.map(e.settings.preferredTypes,(function(e){return{text:e}})),e.settings.rejectedTypesMap=_.map(e.settings.rejectedTypes,(function(e){return{text:e}})),e.settings.preferredPredicatesMap=_.map(e.settings.preferredPredicates,(function(e){return{text:e}})),e.settings.rejectedPredicatesMap=_.map(e.settings.rejectedPredicates,(function(e){return{text:e}}))}t.key="",T.get=function(t,n,r){return g.initLazyList(t,n,r,b,e.propertiesObj.items)},t.$watch((function(){return t.key}),(function(){b=0,_.each(e.propertiesObj.items,(function(e){t.key>e&&b++})),N++})),T.revision=function(){return N},e.datasource=T,e.adapterContainer={adapter:{remain:!0}},e.propertiesQueryObj.query="",e.propertiesSearchPlaceholder=L.instant("visual.search.instance.placeholder"),e.propertiesFilterFunc=function(t){return t.key.toLowerCase().indexOf(e.propertiesQueryObj.query.toLowerCase())>=0},e.resetState=function(){e.searchVisible=!1,e.nodeSelected=!1,e.configLoaded=null,e.queryResultsMode=!1,e.lastSavedGraphName=null,e.lastSavedGraphId=null,e.shared=!1,e.numberOfPinnedNodes=0,P={},A=0},e.pushHistory=function(t,n){e.embedded&&(t.embedded=!0),f.search(t),f.state(n)},e.goToHome=function(){e.resetState(),f.url("graphs-visualizations")},e.shouldShowSettings=function(){return e.configLoaded&&e.configLoaded.id===e.defaultGraphConfig.id},e.shouldDisableSameAs=function(){const t=$("#sameAsCheck");return e.settings&&!e.settings.includeInferred&&t.prop("checked")&&(t.prop("checked",!1),e.settings.sameAsState=!1),e.settings&&!e.settings.includeInferred},e.$watch("propertiesObj.items",(function(){angular.isDefined(e.propertiesObj.items)&&e.propertiesObj.items.length>0&&c((function(){e.adapterContainer.adapter.reload()}),500)})),e.toggleMoreInfo=function(e){angular.element(e.currentTarget).parent().next().toggle(200),angular.element(e.currentTarget).children("span").toggleClass("icon-caret-down").toggleClass("icon-caret-up")},e.copyToClipboard=j,e.defaultSettings={linksLimit:20,includeInferred:!0,sameAsState:!0,languages:["en"],showLinksText:!0,preferredTypes:[],rejectedTypes:[],preferredPredicates:[],rejectedPredicates:["http://dbpedia.org/property/logo","http://dbpedia.org/property/hasPhotoCollection","http://dbpedia.org/property/website","http://dbpedia.org/property/homepage","http://dbpedia.org/ontology/thumbnail","http://xmlns.com/foaf/0.1/depiction","http://xmlns.com/foaf/0.1/homepage","http://xmlns.com/foaf/0.1/mbox","http://dbpedia.org/ontology/wikiPage*","http://dbpedia.org/property/wikiPage*","http://factforge.net/*"],preferredTypesOnly:!1,preferredPredicatesOnly:!1,includeSchema:!0},e.saveSettings=angular.copy(e.defaultSettings),p.when(h.getPrincipal()).then(t=>function(t){const n=t.appSettings;e.defaultSettings.includeInferred=n.DEFAULT_INFERENCE,e.defaultSettings.sameAsState=n.DEFAULT_INFERENCE&&n.DEFAULT_SAMEAS,e.defaultSettings.includeSchema=n.DEFAULT_VIS_GRAPH_SCHEMA;const r=x.get(S.GRAPHS_VIZ);if(r&&"object"==typeof r)try{e.saveSettings=r,void 0===e.saveSettings.includeSchema&&(e.saveSettings.includeSchema=e.defaultSettings.includeSchema,e.saveSettings.rejectedPredicates=[...e.saveSettings.rejectedPredicates,...e.defaultSettings.rejectedPredicates].unique())}catch(t){e.saveSettings=angular.copy(e.defaultSettings),x.set(S.GRAPHS_VIZ,e.saveSettings)}else e.saveSettings=angular.copy(e.defaultSettings)}(t)),e.resetSettings=function(){e.settings=angular.copy(e.defaultSettings),e.validateLinksLimit(),z()},e.changeLimit=function(t){let n=e.settings.linksLimit+t;n<1&&(n=1),n>1e3&&(n=1e3),e.settings.linksLimit=n},e.validateLinksLimit=function(){e.invalidLimit=!a.NUMBER_PATTERN.test(e.settings.linksLimit)},e.showSettings=function(){e.showInfoPanel=!0,e.showFilter=!0,e.showNodeInfo=!1,e.showPredicates=!1,e.saveSettings?e.settings=angular.copy(e.saveSettings):e.settings=angular.copy(e.defaultSettings),z()},e.reExpandNode=function(){e.rootNodeIri&&e.$broadcast("onRootNodeChange",e.rootNodeIri)};const D=function(t,n,r){const i=O(),o=void 0===n?i.sameAsState:!0===n,a=void 0===r?i.includeInferred:!0===r;e.loading=!0,l({url:"rest/explore-graph/graph",method:"POST",headers:{"Content-Type":"application/json"},data:{query:t,linksLimit:i.linksLimit,languages:e.shouldShowSettings()?i.languages:[],includeInferred:a,sameAsState:o}}).then((function(e){pe(e)}),(function(t){e.loading=!1,s.error(getError(t.data),L.instant("graphexplore.error.cannot.load.graph"))}))};function F(e){return e.replace(/[()']/g,"")}function B(e,t){let n=e.split(" ");return t?[n[0],n[1],n[2]].join(">"):[n[0],n[2]].join(">")}function W(e){return[e.source.iri,e.target.iri].join(">")}function U(e){if(e.isTriple){let t=document.getElementById(F(B(e.iri)));if(t&&void 0!==t.__data__.x)return t.__data__.x}return e.x}function q(e){if(e.isTriple){let t=document.getElementById(F(B(e.iri)));if(t&&void 0!==t.__data__.y)return t.__data__.y}return e.y}function H(e){let t=e.trim().split(" ");return`<<<${t[0]}> <${t[1]}> <${t[2]}>>>`}function V(e){return F(`${e.source.isTriple?B(e.source.iri,!0):e.source.iri}>${e.target.isTriple?B(e.target.iri,!0):e.target.iri}>marker`)}function K(){this.nodes=[],this.links=[],this.tripleNodes=new Map,this.tripleLinksCopy=new Map,this.addNode=function(e,t,n){return e.x=t,e.y=n,this.nodes.push(e),e},this.computeConnectedness=function(){const e={},t={};_.each(this.links,(function(n){const r=n.source.iri,i=n.target.iri,o=_.min([r,i])+"|"+_.max([r,i]);t[o]||(t[o]=1,e[r]=(e[r]||0)+1,e[i]=(e[i]||0)+1)})),_.each(this.links,(function(t){e[t.source.iri]>1&&e[t.target.iri]>1?t.connectedness=Math.min(5,Math.max(e[t.source.iri],e[t.target.iri])-1):t.connectedness=0}))},this.addAndMatchLinks=function(e){const t=this.nodes;Array.prototype.push.apply(this.links,function(e,t){return _.map(e,(function(e){let n,r;n=e.isTripleSource?Se(e.source):_.find(t,(function(t){return t.iri===e.source})),r=e.isTripleTarget?Se(e.target):_.find(t,(function(t){return t.iri===e.target}));let i={source:n,target:r,predicates:e.predicates};if(e.isTripleSource||e.isTripleTarget){let e=`${i.source.isTriple?B(i.source.iri):i.source.iri}>${i.target.isTriple?B(i.target.iri):i.target.iri}`;if(Z.tripleLinksCopy.has(e)){let t=Z.tripleLinksCopy.get(e);return t[0].predicates.push(...i.predicates),t.push(i),Z.tripleLinksCopy.set(e,t),null}Z.tripleLinksCopy.set(e,[i])}return i}))}(e,t));for(let e of Z.tripleLinksCopy.keys())1===Z.tripleLinksCopy.get(e).length&&Z.tripleLinksCopy.delete(e);this.links=this.links.filter(e=>null!==e),this.computeConnectedness()};const t=function(e,t){return n(e,t).length};function n(e,t){return _.filter(t,(function(t){return t.source.iri===e.iri||t.target.iri===e.iri}))}this.countLinks=t,this.linksTypes=function(e,t){const r=n(e,t),i=_.map(r,(function(t){return t.source.iri===e.iri?t.target.types:t.source.types}));return _.uniq(_.flatten(i))},this.linksPredicates=function(e,t){const r=n(e,t),i=_.map(r,(function(e){return e.predicates}));return _.uniq(_.flatten(i))},this.removeTriples=function(e){let t=[];this.tripleNodes.size>0&&e.forEach(e=>{this.tripleNodes.has(e)&&(this.tripleNodes.delete(e),this.links=_.reject(this.links,(function(n){let r=e.split(">"),i=B(n.source.iri),o=B(n.target.iri);if(i===e&&Z.tripleNodes.delete(o)){let e=o.split(">");t.push({source:e[0],target:e[1]})}let a=i===e||o===e||n.source.iri===r[0]&&n.target.iri===r[1];return a&&(Z.tripleLinksCopy.delete(`${i}>${o}`),Z.tripleLinksCopy.delete(`${o}>${i}`)),a})))}),t.forEach(e=>{this.links=_.reject(this.links,(function(t){return t.source.iri===e.source&&t.target.iri===e.target}))})},this.removeNode=function(n){let r=[];this.links=_.reject(this.links,(function(e){let t=e.source.iri===n.iri||e.target.iri===n.iri;return t&&(e.target.isTriple&&r.push(B(e.target.iri)),e.source.isTriple||e.target.isTriple||r.push([e.source.iri,e.target.iri].join(">"))),t})),this.removeTriples(r);const i=this.links;this.nodes=_.reject(this.nodes,(function(e){return 0===t(e,i)})),0===this.nodes.length&&(e.nodeSelected=!1),this.computeConnectedness()},this.removeNodeLeafLinks=function(e){let r=[],i=this.links;this.links=_.reject(this.links,(function(o){let a=o.source.iri===e.iri&&1===t(o.target,i)&&!o.target.isTriple||o.target.iri===e.iri&&1===t(o.source,i)&&!o.source.isTriple;if(!a){let r;if(o.source.iri!==e.iri||2!==t(o.target,i)||o.target.isTriple?o.target.iri!==e.iri||2!==t(o.source,i)||o.source.isTriple||(r=n(o.source,i)):r=n(o.target,i),!r)return!1;a=(r[0].source.iri===e.iri||r[0].target.iri)&&(r[1].source.iri===e.iri||r[1].target.iri)}return a&&(o.target.isTriple&&r.push(B(o.target.iri)),o.source.isTriple||o.target.isTriple||r.push([o.source.iri,o.target.iri].join(">"))),a})),this.removeTriples(r),i=this.links,this.nodes=_.reject(this.nodes,(function(n){return 0===t(n,i)&&n.iri!==e.iri})),this.computeConnectedness()},this.addTriple=function(e,t,n){e.x=t,e.y=n,e.weight=0;let r=B(e.iri);if(this.tripleNodes.has(r)){let t=this.tripleNodes.get(r);t.push(e),this.tripleNodes.set(r,t)}else e.weight=10,this.tripleNodes.set(r,[e])},this.copyState=function(){const e=_.map(this.nodes,(function(e){return{iri:e.iri,isTriple:e.isTriple,size:e.size,labels:angular.copy(e.labels),types:angular.copy(e.types),rdfRank:e.rdfRank,x:e.x,y:e.y,fixed:e.fixed}})),t=JSON.stringify(Array.from(this.tripleNodes.entries())),n=JSON.stringify(Array.from(this.tripleLinksCopy.entries()));return{nodes:e,links:_.map(this.links,(function(e){return{source:e.source.iri,isTripleSource:e.source.isTriple,target:e.target.iri,isTripleTarget:e.target.isTriple,predicates:e.predicates}})),tripleNodes:t,tripleLinksCopy:n,colorIndex:A,type2color:P,scale:M.scale(),translate:M.translate()}},this.restoreState=function(t){e.nodeSelected=!0,e.searchVisible=!1,this.nodes=angular.copy(t.nodes),this.tripleNodes=t.tripleNodes?new Map(JSON.parse(t.tripleNodes)):new Map,this.links=[],this.addAndMatchLinks(t.links),this.tripleLinksCopy=t.tripleLinksCopy?new Map(JSON.parse(t.tripleLinksCopy)):new Map,_.each(this.nodes,(function(t){t.fixed&&e.numberOfPinnedNodes++})),angular.isDefined(t.colorIndex)&&angular.isDefined(t.type2color)&&(A=t.colorIndex,P=angular.copy(t.type2color)),angular.isDefined(t.translate)&&angular.isDefined(t.scale)&&(E="translate("+t.translate[0]+", "+t.translate[1]+") scale("+t.scale+")",M.translate(t.translate),M.scale(t.scale)),se()}}e.updateSettings=function(){e.invalidLimit?s.error(e.INVALID_LINKS_TOOLTIP,e.INVALID_LINKS_MSG):(e.saveSettings=e.settings,e.saveSettings.languages=_.map(e.saveSettings.languagesMap,(function(e){return e.text})),e.saveSettings.preferredTypes=_.map(e.saveSettings.preferredTypesMap,(function(e){return e.text})),e.saveSettings.rejectedTypes=_.map(e.saveSettings.rejectedTypesMap,(function(e){return e.text})),e.saveSettings.preferredPredicates=_.map(e.saveSettings.preferredPredicatesMap,(function(e){return e.text})),e.saveSettings.rejectedPredicates=_.map(e.saveSettings.rejectedPredicatesMap,(function(e){return e.text})),e.rootNodeIri?e.reExpandNode(e.rootNodeIri):e.queryResultsMode&&f.search().query?D(f.search().query,f.search().sameAs,f.search().inference):"query"===e.configLoaded.startMode&&e.loadGraphConfig(e.configLoaded),O().showLinksText?d3.selectAll("svg .link-wrapper text").style("display","block"):d3.selectAll("svg .link-wrapper text").style("display","none"),e.showInfoPanel=!1,e.showFilter=!1,x.set(S.GRAPHS_VIZ,e.saveSettings))},e.showInfoPanel=!1;let Z=new K;e.defaultGraphConfig={id:"default",name:"Easy graph",startMode:"search"},e.getGraphConfigs=function(t){w.getGraphConfigs().success((function(n){e.graphConfigs=n,t&&t()})).error((function(e){s.error(getError(e),L.instant("graphexplore.error.graph.configs.short.msg"))}))},e.loadConfigForId=function(t,n){t===e.defaultGraphConfig.id?e.loadGraphConfig(e.defaultGraphConfig):w.getConfig(t).success((function(t){e.loadGraphConfig(t),n()})).error((function(e){s.error(getError(e),L.instant("graphexplore.error.could.not.load.config",{configId:t}))}))},e.findConfigById=function(t){return t===e.defaultGraphConfig.id?e.defaultGraphConfig:$.grep(e.graphConfigs,(function(e){return e.id===t}))[0]},e.easyGraphSearch=function(t){e.configLoaded=e.defaultGraphConfig,e.openUri(t)},e.loadGraphConfig=function(t){e.configLoaded=t,"search"===t.startMode?e.searchVisible=!0:"node"===t.startMode&&t.startIRI?c((function(){e.openUri(t.startIRI,!0)}),0):"query"===t.startMode&&t.startGraphQuery&&(e.loading=!0,w.loadGraphForConfig(t,t.startQueryIncludeInferred,O().linksLimit,t.startQuerySameAs).then((function(e){pe(e)}),(function(t){e.loading=!1,s.error(getError(t),L.instant("graphexplore.error.graph.load"))})))},e.deleteConfig=function(t){m.openSimpleModal({title:L.instant("common.confirm"),message:L.instant("graphexplore.delete.graph",{configName:t.name}),warning:!0}).result.then((function(){w.deleteGraphConfig(t).success((function(){e.getGraphConfigs(),e.refreshSavedGraphs()})).error((function(e){s.error(getError(e),L.instant("graphexplore.error.cannot.delete.config"))}))}))},e.goToGraphConfig=function(t){e.pushHistory({config:t.id},{config:t}),e.resetState(),e.loadGraphConfig(t)},v.onpopstate=function(t){e.resetState(),t.state&&(t.state.config?(e.loadGraphConfig(t.state.config),t.state.uri&&e.openUri(t.state.uri,!0)):t.state.savedGraph&&e.loadSavedGraph(t.state.savedGraph,!0))};const Q=function(){f.search().query?(e.searchVisible=!1,e.queryResultsMode=!0,D(f.search().query,f.search().sameAs,f.search().inference)):e.$on("onRootNodeChange",(function(t,n){e.loading=!0;const r=O();angular.isDefined(n)&&(e.rootNodeIri=n,l({url:"rest/explore-graph/node",method:"GET",params:{iri:n,config:e.configLoaded?e.configLoaded.id:e.defaultGraphConfig.id,languages:e.shouldShowSettings()?r.languages:[],includeInferred:r.includeInferred,sameAsState:r.sameAsState}}).then((function(t){e.nodeSelected=!0,e.searchVisible=!1,null===t.data.types&&(t.data.types="greyColor"),Z=new K;const n=Z.addNode(t.data,500,500);E="translate(0, -70) scale(1)",M.translate([0,-70]),M.scale(1),he(n,!0)})).catch((function(t){e.loading=!1,s.error(getError(t),L.instant("graphexplore.error.could.not.load.graph"))})))})),f.search().uri&&e.openUri(f.search().uri,!0),f.search().saved&&I.getSavedGraph(f.search().saved).success((function(t){e.loadSavedGraph(t)})).error((function(e){const t=getError(e);s.error(t,L.instant("graphexplore.error.could.not.open"))}))},J=function(){f.search().config?e.loadConfigForId(f.search().config,Q):f.search().query||f.search().uri?(e.loadGraphConfig(e.defaultGraphConfig),Q()):Q()};function Y(t){!n.getActiveRepository()||e.hasInitedRepository&&!t||(e.hasInitedRepository=!0,t||e.getGraphConfigs(J),e.getNamespacesPromise=k.getNamespaces(e.getActiveRepository()).success((function(t){const n=_.map(t.results.bindings,(function(e){return{uri:e.namespace.value,prefix:e.prefix.value}}));e.namespaces=_.sortBy(n,(function(e){return e.uri.length})),X()})).error((function(e){s.error(getError(e),L.instant("graphexplore.error.view.will.not.work"))})))}function X(){i.isLicenseValid()&&(e.getAutocompletePromise=u.checkAutocompleteStatus())}e.replaceIRIWithPrefix=function(t){const n=e.namespaces,r=_.findLast(n,(function(e){return 0===t.indexOf(e.uri)}));return r?r.prefix+":"+t.substring(r.uri.length):t},e.addedTag=function(t){return t.text.indexOf(":")<0?(s.warning(L.instant("graphexplore.absolute.prefixed.iri")),null):(t.text=function(e,t){if(!/^<?(http|urn).*>?/.test(e)){const n=e.split(":"),r=n[0],i=n[1];if(!angular.isUndefined(i)){const e=d.getNamespaceUriForPrefix(t,r);if(e)return e+i}}return e}(t.text,e.namespaces),e.pageslideExpanded=!0,t)},e.validateTag=function(e,t,n){if(e.text.indexOf(":")<0)return n?s.warning(L.instant("graphexplore.absolute.prefixed.iri.option"),t):s.warning(L.instant("graphexplore.absolute.prefixed.iri"),t),!1;const r=e.text.indexOf("*");if(r>=0){if(!n)return s.warning(L.instant("graphexplore.wildcards.not.allowed"),t),!1;if(r<e.text.length-1)return s.warning(L.instant("graphexplore.wildcards.last.char"),t),!1}return!0},e.getTagClass=function(e){return e.endsWith("*")?"tag-item-wildcard":null},e.getActiveRepository=function(){return n.getActiveRepository()},e.isLicenseValid=function(){return i.isLicenseValid()},e.hasInitedRepository=!1,e.$on("autocompleteStatus",(function(){X()})),e.$on("repositoryIsSet",(function(t,n){n.newRepo&&(e.hasInitedRepository=!1),Y(n.newRepo),n.newRepo&&(e.resetState(),$(".graph-visualization svg").empty(),f.search().query&&(e.goToHome(),Q()))})),Y();const ee=d3.scale.linear().domain([0,9]).range(["hsl(0, 100%, 75%)","hsl(360, 90%, 82%)"]).interpolate(d3.interpolateHslLong),te=d3.scale.linear().domain([0,9]).range(["hsl(180, 50%, 75%)","hsl(540, 40%, 82%)"]).interpolate(d3.interpolateHslLong);e.getColor=function(e){angular.isUndefined(P[e])&&(P[e]=A,A++);const t=P[e];return t>39?"#c2c2c2":t%2==0?ee(t/2):te(t/2)};const ne=d3.layout.force().gravity(.07).size([1e3,1e3]),re=d3.select(".main-container .graph-visualization").append("svg").attr("viewBox","0 0 1000 1000").attr("preserveAspectRatio","xMidYMid meet");let ie=0,oe=0;const ae=new function(){this.state=!1,this.setLoadingState=function(e){this.state=e},this.getLoadingState=function(){return this.state},this.init=function(e,t){d3.select(t).append("circle").attr("cx",(function(){return e.x})).attr("cy",(function(){return e.y})).attr("class","loader-container").attr("r",(function(){return e.size})).style("fill","fff").style("opacity","0.7"),d3.select(t).append("image").attr("xlink:href","js/angular/templates/loader/ot-loader.svg?v=2.2.2-TR2").attr("x",(function(){return e.x-e.size+5})).attr("y",(function(){return e.y-e.size})).attr("width",(function(){return 2*e.size})).attr("height",(function(){return 2*e.size})).attr("class","node-loader")}};function se(t){d3.selectAll("svg g").remove(),d3.selectAll("svg rect").remove(),d3.selectAll(".d3-tip").remove(),d3.selectAll(".menu-events").remove(),M.on("zoom",(function(){if(C.isActive())return;E="translate("+d3.event.translate+") scale("+d3.event.scale+")",n.attr("transform",E)})),re.append("rect").attr("width",1e4).attr("height",1e4).attr("x",-4500).attr("y",-4500).style("fill","none").style("pointer-events","all").call(M).on("click",(function(){d3.event.stopPropagation(),ge(),ne.stop()}));const n=re.append("g").attr("class","nodes-container").attr("transform",(function(){return angular.isDefined(E)&&!t?E:""})),i=o()().attr("class","d3-tip").customPosition((function(){const e=G.getBoundingClientRect();return{top:e.bottom+10+"px",left:e.left-30+"px"}})).html((function(t){let n="";return t.fixed&&(n+='<i class="icon-pin"></i>&nbsp;&nbsp;'),t.types.length>0?n+=_.join(_.map(t.types,(function(t){return e.replaceIRIWithPrefix(t)}))," · "):n+="<i>No types</i>",n})),a=function(e){let t="";return t+=_.join(_.map(e.predicates,(function(t,n){if(0===n)return we(t);if(n<10)return" · "+we(t);if(10===n){const t=function(e){return e.predicates.length-10}(e),n=t>1?t+" predicates":t+" predicate";return" · "+L.instant("graphexplore.tip.text",{textToShow:n})}})),""),t};let l;const d=o()().attr("class","d3-tip").customPosition((function(e){const t=l.getBoundingClientRect(),n=function(e){const t=a(e),n=document.createElement("canvas").getContext("2d");return n.font="13px Arial",e.predicates.length<10?n.measureText(t).width:n.measureText(t).width/2}(e);return{top:t.top-30+"px",left:t.left-30+"px",width:n+"px"}})).html((function(e){return a(e)}));const u=function(){c.cancel(void 0),c.cancel(ie),G=null,i.hide(),oe=c((function(){ge()}),500)};re.call(i);re.call(d);let p=re.selectAll(".link"),f=re.selectAll(".node");ne.nodes(Z.nodes).charge(-3e3),ne.links(Z.links).linkDistance((function(e){return e.source.isTriple||e.target.isTriple?0:function(e){const t=$("<span></span>"),n=e.predicates[0].split("/"),r=n[n.length-1];t.addClass("predicate-text").text(r),$("body").append(t);const i=t.width()+2*e.source.size+2*e.target.size+50;return t.remove(),.75*i}(e)+30*e.connectedness})),n.append("defs").selectAll("marker").data(ne.links()).enter().append("marker").attr("class","arrow-marker").attr("id",(function(e){return V(e)})).attr("viewBox","0 -5 10 10").attr("refX",(function(e){return e.target.isTriple?11:e.target.size+11})).attr("refY",0).attr("markerWidth",10).attr("markerHeight",10).attr("orient","auto").append("path").attr("d","M0,-5L10,0L0,5 L10,0 L0, -5"),p=n.selectAll(".link").data(Z.links).enter().append("g").attr("class","link-wrapper").attr("id",(function(e){return F(W(e))})).append("line").attr("class","link").style("stroke-width",1).style("fill","transparent").style("marker-end",(function(e){return`url(#${V(e)})`}));const h=n.selectAll(".link-wrapper").append("text").text((function(e){return Ie(e)})).attr("class",(function(e){return e.predicates.length>1||Z.tripleNodes.has(W(e))?"predicates":"predicate"})).attr("dy","-0.5em").style("text-anchor","middle").style("display",O().showLinksText?"":"none").on("mouseover",(function(e){d3.event.stopPropagation(),function(e){c.cancel(void 0);const t=l=d3.event.target;c((function(){l===t&&e.predicates.length>1&&d.show(e,l)}),300)}(e)})).on("mouseout",(function(){c.cancel(void 0),l=null,d.hide()})).on("click",(function(t){d3.event.stopPropagation(),function(t){xe();let n=W(t);if(1===t.predicates.length&&Z.tripleNodes.has(n)){R=null;let e=Z.tripleNodes.get(n)[0];if(de(e,this,d3.event.button)){let t={};t.iri=e.iri,t.pred=we(e.iri.split(" ")[1]),ye(t)}return}!function(t){if(e.showNodeInfo=!1,e.showPredicates=t.predicates.length>1,e.showFilter=!1,e.showInfoPanel=!1,R===t)return e.showNodeInfo=!1,e.showInfoPanel=!1,void(R=null);R=t,e.showPredicates&&(e.predicates=_.map(t.predicates,(function(e){let n=function(e,t){let n=W(t);return Z.tripleNodes.has(n)?Z.tripleNodes.get(n).findIndex(t=>t.iri.indexOf(e)>=0):-1}(e,t),r=n>-1;return{value:we(e),partOfTriple:r,linkId:r?W(t):"",nodeIndex:n}})),e.showInfoPanel=!0)}(t)}(t)}));let g,m=0,y=0,v=0;const x=function(){d3.event.button&&0!==d3.event.button||(u(),c.cancel(g),e.showPredicates=!1,d3.event.timeStamp-m<500?y++:y=1,m=d3.event.timeStamp,d3.event.preventDefault())},S=function(t,n,r){Z.countLinks(t,Z.links)<=O().linksLimit?he(t,!1,r||this.parentNode):s.info(L.instant("graphexplore.increase.limit"),L.instant("graphexplore.node.at.max")),e.closeInfoPanel()},I=function(e){if(d3.event.button&&0!==d3.event.button)return;c.cancel(g);const t=d3.event,n=this;C.isActive()||d3.event.timeStamp-m<500&&(1===y?g=c((function(){de(e,n,t)}),540-(d3.event.timeStamp-m)):2===y&&S(e,0,n.parentNode)),d3.event.preventDefault()};function w(e,t){let r,i,o,a,s=!0;if("down"===t)r=2*e.size,i=e.size/3,o=.8,a=.3;else if("down-fixed"===t)r=2*e.size,i=e.size,o=.8,a=.66;else if("up"===t)r=e.size/3,i=2*e.size,o=.3,a=.8;else{if("fixed"!==t)return;r=e.size,o=.66,s=!1}let c=n.selectAll(".node-wrapper").filter((function(t){return t===e})).append("text").text("").classed("icon-any pinned",!0).style("font-size",r+"px").attr("x",(function(e){return e.x})).attr("y",(function(e){return e.y})).attr("opacity",o);"fixed"!==t&&"down-fixed"!==t||(e.pin=c),s&&(c=c.transition().duration(1e3).style("font-size",(function(){return i+"px"})).attr("opacity",a),"down-fixed"!==t&&c.remove())}const k=d3.behavior.drag().origin((function(e){return e})).on("dragstart",(function(e){if(C.isActive())return;0===d3.event.sourceEvent.button&&(e.fixedBeforeDrag=e.fixed,e.isBeingDragged=!0,e.beginDragging=!0,ge(),d3.event.sourceEvent.stopPropagation(),d3.select(this).classed("dragging",!0))})).on("drag",(function(t){t.isBeingDragged&&(y=0,t.px=d3.event.x,t.py=d3.event.y,t.fixed?t.beginDragging&&w(t,"fixed"):(e.numberOfPinnedNodes++,t.fixed=!0,w(t,"down-fixed")),t.pinWasFixed=!0,t.beginDragging=null,ne.resume())})).on("dragend",(function(e){e.isBeingDragged&&(e.pinWasFixed&&(e.pinWasFixed=null,d3.select(".pinned").remove()),e.isBeingDragged=!1,d3.select(this).classed("dragging",!1))}));f=n.selectAll(".node").data(Z.nodes).enter().append("g").attr("class","node-wrapper").attr("id",(function(e){return e.iri})).append("circle").attr("class","node").attr("r",(function(e){return e.size})).style("fill",(function(t){return"greyColor"===t.types?"c2c2c2":e.getColor(t.types[0])})).call(k).on("mouseover",(function(t){if(!t.isBeingDragged){const n=d3.event;c.cancel(oe),ie=c(()=>{(function(t,n){if(e.showInfoPanel)return!1;(le.closeIcon||le.expandIcon||le.focusIcon||le.copyURIIcon)&&le.removeIcons();if(ne.alpha()<.02)return le.initIcons(t,n.parentNode),ne.stop(),ce(),!0;return!1})(t,this)&&function(e,t){c.cancel(void 0);const n=G=t.target;c((function(){G===n&&i.show(e,G)}),300)}(t,n)},400)}})).on("mouseout",u).on("mousedown",x).on("touchstart",(function(e){x(),v=0,g=c((function(){v<5&&ue(e),g=null,y=0}),1e3)})).on("touchmove",(function(){v++})).on("mouseup",I).on("touchend",I).on("contextmenu",(function(t){d3.event.shiftKey||(d3.event.preventDefault(),ge(),e.closeInfoPanel(),t.fixed?(e.numberOfPinnedNodes--,t.fixed=!1,w(t,"up"),ne.resume()):(e.numberOfPinnedNodes++,t.fixed=!0,w(t,"down")),function(e){G&&i.show(e,G)}(t))})).on("gdb-expand-node",S).on("gdb-show-node-info",me);const T=n.selectAll(".node-wrapper").append("foreignObject").style("pointer-events","none").attr("width",(function(e){return 2*e.size*1.75}));n.insert("g").attr("class","menu-events"),function(e){e.each((function(e){e.fontSize=r.a.Text.calcFontSizeRaw(e.labels[0].label,e.size,16,!0)})).attr("height",(function(e){return 3*e.fontSize})).append("xhtml:div").attr("class","node-label-body").style("font-size",(function(e){return e.fontSize+"px"})).append("xhtml:div").text((function(e){return e.labels[0].label})),c((function(){$(".node-label-body div").each((function(e,t){let n=t.textContent.substring(0,t.textContent.length-1);let r=0;for(;r<200&&(t.scrollHeight>t.clientHeight||t.scrollWidth>t.clientWidth);)n=n.substring(0,n.length-1),t.textContent=n+"…",r++}))}),50)}(T),ne.on("tick",(function(){d3.geom.quadtree(Z.nodes);Z.nodes.length;p.attr("x1",(function(e){return U(e.source)})).attr("y1",(function(e){return q(e.source)})).attr("x2",(function(e){return U(e.target)})).attr("y2",(function(e){return q(e.target)})),h.attr("x",(function(e){let t=U(e.source),n=U(e.target);return e.x=.5*(t+n)})).attr("y",(function(e){let t=q(e.source),n=q(e.target);return e.y=.5*(t+n)})).attr("transform",(function(e){return"rotate("+function(e,t){const n={x:U(e.source),y:q(e.source)},r={x:U(e.target),y:q(e.target)};if(t)return 180*Math.atan2(r.y-n.y,r.x-n.x)/Math.PI;{const e=180*Math.atan2(r.y-n.y,r.x-n.x)/Math.PI;return e<=90&&e>=-90?e:(e>0?-1:1)*(180-Math.abs(e))}}(e,e.direction)+", "+e.x+", "+e.y+")"})),f.attr("cx",(function(e){return e.x})).attr("cy",(function(e){return e.y})),n.select(".node-loader").attr("x",(function(e){return e.x-e.size+3})).attr("y",(function(e){return e.y-e.size})),n.select(".loader-container").attr("cx",(function(e){return e.x})).attr("cy",(function(e){return e.y})),T.attr("x",(function(e){return e.x-1.75*e.size})).attr("y",(function(e){return e.y-3*e.fontSize/2})),d3.select(".pinned").attr("x",(function(e){return e.x})).attr("y",(function(e){return e.y})),ce()})),angular.isDefined(ae)&&ae.setLoadingState(!1),e.loading&&(e.loading=!1),d3.selectAll(".link-wrapper").each((function(){const e=$(this).attr("id").split(">")[0],t=$(this).attr("id").split(">")[1];d3.selectAll(".link").each((function(n){let r=F(n.source.iri),i=F(n.target.iri);if(r===t&&i===e){let e=r;e+=">",e+=i;const t=document.createTextNode(" ⟶");document.getElementById(e).lastChild.appendChild(t),n.direction="double"}}))})),d3.selectAll(".d3-actions-tip").remove(),ne.start()}function ce(){t.d3alpha=ne.alpha()}se();const le=new function(){function e(e,t){return"translate("+(t.x-14+(t.size+15)*Math.cos(e*Math.PI/180-Math.PI/2))+","+(t.y-14+(t.size+15)*Math.sin(e*Math.PI/180-Math.PI/2))+")"}this.closeIcon=void 0,this.expandIcon=void 0,this.collapseIcon=void 0,this.focusIcon=void 0,this.copyURIIcon=void 0,this.actionsTip=void 0,this.removeIcons=function(){this.closeIcon.remove("g"),this.expandIcon&&this.expandIcon.remove("g"),this.collapseIcon&&this.collapseIcon.remove("g"),this.focusIcon.remove("g"),this.copyURIIcon.remove("g"),this.closeIcon=void 0,this.expandIcon=void 0,this.collapseIcon=void 0,this.focusIcon=void 0,this.copyURIIcon=void 0,this.expandedState=!1},this.expandedState=!1,this.initIcons=function(n,r){const i=o()().attr("class","d3-tip d3-actions-tip").customPosition((function(){const e=d3.event.target.getBoundingClientRect();return{top:e.top-20+"px",left:e.right+10+"px"}})).html((function(e){return e}));re.call(i);n.isExpanded?(this.collapseIcon=d3.select(".menu-events").append("g").attr("class","collapse-icon").attr("name","collapse").attr("transform",(function(){return e(20,n)})),this.collapseIcon.append("circle").attr("cx",14).attr("cy",14).attr("r",13).style("fill","#eee"),this.collapseIcon.append("path").attr("d","M22.67,12a.59.59,0,0,1-.53.65l-6.88.72H15.2a.59.59,0,0,1-.59-.65l.72-6.88A.58.58,0,0,1,16,5.33a.59.59,0,0,1,.53.65L16,11.11,21.3,5.79a.64.64,0,0,1,.91.91L16.89,12,22,11.49A.59.59,0,0,1,22.67,12ZM12.59,14.75l-6.75.85a.59.59,0,0,0-.51.66.58.58,0,0,0,.66.51l4.95-.62-5.2,5.2a.64.64,0,1,0,.91.91l5.2-5.2L11.23,22a.59.59,0,0,0,.51.66h.07a.59.59,0,0,0,.59-.52l.85-6.75a.59.59,0,0,0-.17-.49A.58.58,0,0,0,12.59,14.75Z").style("fill","var(--onto-orange)"),this.collapseIcon.on("click",(function(){var e;(e=n).isExpanded=!1,Z.removeNodeLeafLinks(e),se()})).on("mouseover",(function(){i.show(this.getAttribute("name")),c.cancel(ie),c.cancel(oe)})).on("mouseout",(function(){i.hide(),oe=c((function(){ge()}),500)}))):(this.expandIcon=d3.select(".menu-events").append("g").attr("class","expand-icon").attr("name","expand").attr("transform",(function(){return e(20,n)})),this.expandIcon.append("circle").attr("cx",14).attr("cy",14).attr("r",13).style("fill","#eee"),this.expandIcon.append("path").attr("d","M22.37,6.28l-.72,6.88a.59.59,0,0,1-.59.53H21a.59.59,0,0,1-.53-.65L21,7.9l-5.32,5.32a.64.64,0,0,1-.91-.91L20.1,7,15,7.53a.59.59,0,0,1-.12-1.18l6.88-.72a.59.59,0,0,1,.65.65ZM12.89,20.34,7.95,21l5.2-5.2a.64.64,0,0,0-.91-.91L7,20.05l.62-4.95A.59.59,0,0,0,6.48,15l-.85,6.75a.59.59,0,0,0,.59.67h.07L13,21.52a.59.59,0,1,0-.15-1.18Z").style("fill","var(--onto-orange)"),this.expandIcon.on("click",(function(){he(n,!1,r)})).on("mouseover",(function(){i.show(this.getAttribute("name")),c.cancel(oe),c.cancel(ie)})).on("mouseout",(function(){i.hide(),oe=c((function(){ge()}),500)}))),this.focusIcon=d3.select(".menu-events").append("g").attr("class","focus-icon").attr("name","focus").attr("transform",(function(){return e(20,n)})),this.focusIcon.append("circle").attr("cx",14).attr("cy",14).attr("r",13).style("fill","#eee"),this.focusIcon.append("path").attr("d","M14.2,23.81a9.8,9.8,0,1,1,6.93-2.87h0A9.74,9.74,0,0,1,14.2,23.81Zm0-18.17a8.37,8.37,0,1,0,5.92,14.29h0A8.37,8.37,0,0,0,14.2,5.64Zm1.42,6.95a2,2,0,1,0,0,2.85A2,2,0,0,0,15.62,12.59Z").style("fill","var(--onto-orange)"),this.focusIcon.on("click",(function(){t.$broadcast("onRootNodeChange",n.iri)})).on("mouseover",(function(){i.show(this.getAttribute("name")),c.cancel(oe),c.cancel(ie)})).on("mouseout",(function(){i.hide(),oe=c((function(){ge()}),500)})),this.copyURIIcon=d3.select(".menu-events").append("g").attr("class","icon-link").attr("name","link").attr("transform",(function(){return e(20,n)})),this.copyURIIcon.append("circle").attr("cx",14).attr("cy",14).attr("r",13).style("fill","#eee"),this.copyURIIcon.append("path").attr("d","M 13.457031 10.164062 C 13.648438 10.164062 13.820312 10.242188 13.941406 10.363281 L 15.492188 11.859375 C 15.984375 12.332031 16.292969 12.992188 16.292969 13.714844 C 16.292969 14.441406 15.984375 15.097656 15.492188 15.574219 L 10.394531 20.496094 C 9.902344 20.972656 9.222656 21.265625 8.472656 21.265625 C 7.71875 21.265625 7.039062 20.972656 6.546875 20.496094 L 4.996094 19 C 4.507812 18.523438 4.203125 17.867188 4.203125 17.144531 C 4.203125 16.421875 4.507812 15.765625 4.996094 15.289062 L 7.542969 12.824219 C 7.667969 12.707031 7.84375 12.628906 8.035156 12.628906 C 8.417969 12.628906 8.726562 12.929688 8.726562 13.300781 C 8.726562 13.484375 8.648438 13.652344 8.523438 13.773438 L 5.976562 16.234375 C 5.738281 16.46875 5.589844 16.792969 5.589844 17.148438 C 5.589844 17.503906 5.738281 17.824219 5.976562 18.058594 L 7.527344 19.566406 C 7.773438 19.792969 8.105469 19.929688 8.472656 19.929688 C 8.835938 19.929688 9.167969 19.792969 9.414062 19.566406 L 14.511719 14.644531 C 14.753906 14.410156 14.90625 14.089844 14.90625 13.730469 C 14.90625 13.375 14.753906 13.054688 14.511719 12.820312 L 12.964844 11.324219 C 12.839844 11.203125 12.761719 11.039062 12.761719 10.855469 C 12.761719 10.488281 13.070312 10.1875 13.449219 10.1875 Z M 17.082031 3.976562 C 17.082031 3.976562 17.085938 3.976562 17.085938 3.976562 C 17.824219 3.976562 18.492188 4.261719 18.980469 4.722656 L 20.535156 6.203125 C 21.042969 6.679688 21.355469 7.34375 21.355469 8.082031 C 21.355469 8.792969 21.058594 9.441406 20.582031 9.914062 L 18.0625 12.402344 C 17.9375 12.527344 17.761719 12.605469 17.566406 12.605469 C 17.183594 12.605469 16.875 12.304688 16.875 11.9375 C 16.875 11.753906 16.949219 11.589844 17.070312 11.46875 L 19.605469 8.984375 C 19.847656 8.75 19.996094 8.429688 19.996094 8.070312 C 19.996094 7.714844 19.847656 7.394531 19.605469 7.160156 L 18.019531 5.667969 C 17.773438 5.445312 17.4375 5.304688 17.070312 5.300781 C 16.703125 5.304688 16.367188 5.453125 16.128906 5.691406 L 11.085938 10.667969 C 10.84375 10.898438 10.695312 11.222656 10.695312 11.578125 C 10.695312 11.933594 10.84375 12.257812 11.085938 12.488281 L 12.675781 13.980469 C 12.804688 14.101562 12.882812 14.273438 12.882812 14.457031 C 12.882812 14.828125 12.574219 15.128906 12.191406 15.128906 C 12.003906 15.128906 11.832031 15.054688 11.707031 14.9375 L 10.140625 13.457031 C 9.636719 12.980469 9.324219 12.316406 9.324219 11.582031 C 9.324219 10.863281 9.621094 10.214844 10.101562 9.742188 L 15.140625 4.765625 C 15.625 4.285156 16.304688 3.980469 17.054688 3.976562 Z M 17.082031 3.976562").style("fill","var(--onto-orange)"),this.copyURIIcon.on("click",(function(){j(n.iri),ge(),i.hide()})).on("mouseover",(function(){i.show("<div style='text-align: center;'><b>Copy to ClipBoard</b><br>"+n.iri+"</div>"),c.cancel(oe),c.cancel(ie)})).on("mouseout",(function(){i.hide(),oe=c((function(){ge()}),500)})),this.closeIcon=d3.select(".menu-events").append("g").attr("class","close-icon").attr("name","remove").attr("transform",(function(){return e(20,n)})),this.closeIcon.append("circle").attr("cx",14).attr("cy",14).attr("r",13).style("fill","#eee"),this.closeIcon.append("path").attr("d","M14.94,14l5.87-5.87a.66.66,0,1,0-.94-.94L14,13.06,8.13,7.19a.66.66,0,0,0-.94.94L13.06,14,7.19,19.87a.66.66,0,1,0,.94.94L14,14.94l5.87,5.87a.66.66,0,1,0,.94-.94Z").style("fill","var(--onto-orange)"),this.closeIcon.on("click",(function(){ue(n)})).on("mouseover",(function(){i.show(this.getAttribute("name")),c.cancel(oe),c.cancel(ie)})).on("mouseout",(function(){i.hide(),oe=c((function(){ge()}),500)})),this.animateMenu(n)},this.animateMenu=function(t){let n=0;let r=20;this.expandIcon&&this.expandIcon.transition().duration(100).style("opacity",1).ease("sin").attr("transform",(function(){return e(r,t)})).delay(n+=35),this.collapseIcon&&this.collapseIcon.transition().duration(100).style("opacity",1).ease("sin").attr("transform",(function(){return e(r,t)})).delay(n+=35),this.copyURIIcon.transition().duration(100).style("opacity",1).ease("sin").attr("transform",(function(){return r+=30,e(r,t)})).delay(n+=35),this.focusIcon.transition().duration(100).style("opacity",1).ease("sin").attr("transform",(function(){return r+=30,e(r,t)})).delay(n+=35),this.closeIcon.transition().duration(100).style("opacity",1).ease("sin").attr("transform",(function(){return r+=30,e(r,t)})).delay(n+=35),this.expandedState=!0}};function de(n,r,i){return e.showInfoPanel=!1,e.showPredicates=!1,e.showNodeInfo=!1,i.shiftKey&&(i.ctrlKey||i.metaKey)?(t.$broadcast("onRootNodeChange",n.iri),!1):i.ctrlKey||i.metaKey?(ue(n),!1):void 0!==e.openedNodeInfoPanel&&e.openedNodeInfoPanel===n?(e.pageslideExpanded=!1,e.openedNodeInfoPanel=void 0,!1):(me(n),!0)}function ue(e){Z.removeNode(e),se()}function pe(t){!function(t){e.nodeSelected=!0,null===t.data.types&&(t.data.types="greyColor"),Z=new K,E="translate(0, -70) scale(1)",M.translate([0,-70]),M.scale(1)}(t),fe(t)}function fe(t,n,r){let i=t.data;i=_.filter(i,(function(e){return-1===_.findIndex(Z.links,(function(t){return e.source===t.source.iri&&e.target===t.target.iri}))}));let o=[];const a=Z.tripleLinksCopy.values();for(let e=0;e<Z.tripleLinksCopy.size;e++){a.next().value.forEach(e=>{o.push(e)})}i=_.filter(i,(function(e){return-1===_.findIndex(o,(function(t){return e.source===t.source.iri&&e.target===t.target.iri}))})),i=_.filter(i,(function(e){return e.source!==e.target}));const c=function(e,t){let n=t.map((function(t){return t[e]}));return t.filter((function(t,r){return n.indexOf(t[e])===r}))}("iri",_.union(_.flatten(_.map(t.data,(function(e){return[{iri:e.source,isTriple:e.isTripleSource},{iri:e.target,isTriple:e.isTripleTarget}]}))))),d=_.map(Z.nodes,(function(e){return{iri:e.iri,isTriple:Boolean(e.isTriple)}})),u=Z.tripleNodes.values();for(let e=0;e<Z.tripleNodes.size;e++){u.next().value.forEach(e=>{d.push({iri:e.iri,isTriple:e.isTriple})})}const f=_.reject(c,(function(e){return _.some(d,e)}));if(0===f.length)(r||0===i.length)&&s.info(L.instant("graphexplore.error.node.connections")),Z.addAndMatchLinks(i),se();else{const t=[],r=[],o=O();_.forEach(f,(function(n,i){t.push(l({url:"rest/explore-graph/node",method:"GET",params:{iri:n.isTriple?H(n.iri):n.iri,config:e.configLoaded.id,languages:e.shouldShowSettings()?o.languages:[],includeInferred:o.includeInferred,sameAsState:o.sameAsState}}).then((function(e){r[i]=e.data})))})),p.all(t).then((function(){_.forEach(r,(function(e,t){const i=2*Math.PI*t/r.length,o=(n?n.x:0)+1e3*Math.cos(i)/3,a=(n?n.y:0)+1e3*Math.sin(i)/3;e.isTriple?Z.addTriple(e,o,a):Z.addNode(e,o,a)})),Z.addAndMatchLinks(i),n&&(n.isExpanded=!0),se()}))}}function he(t,n,r){if(ae.getLoadingState())return;ae.init(t,r);const i=O(),o=t.iri;l({url:"rest/explore-graph/links",method:"GET",params:{iri:o,linksLimit:i.linksLimit,includeInferred:i.includeInferred,config:e.configLoaded.id,preferredTypes:e.shouldShowSettings()?i.preferredTypes:[],rejectedTypes:e.shouldShowSettings()?i.rejectedTypes:[],preferredPredicates:e.shouldShowSettings()?i.preferredPredicates:[],rejectedPredicates:e.shouldShowSettings()?i.rejectedPredicates:[],preferredTypesOnly:e.shouldShowSettings()?i.preferredTypesOnly:[],preferredPredicatesOnly:e.shouldShowSettings()?i.preferredPredicatesOnly:[],languages:e.shouldShowSettings()?i.languages:[],sameAsState:i.sameAsState,includeSchema:i.includeSchema}}).then((function(e){fe(e,t,n)}),(function(t){const n=getError(t.data);s.error(n,L.instant("graphexplore.error.exploring.node")),e.loading=!1,ae.setLoadingState(!1)}))}function ge(){angular.isDefined(le)&&le.expandedState&&le.removeIcons()}function me(t){ne.stop(),e.openedNodeInfoPanel=t,e.showNodeInfo=!0,e.showFilter=!1,e.showPredicates=!1,e.nodeLabels=t.labels,e.nodeTypes=t.types,e.rdfRank=t.rdfRank,e.nodeIri=t.iri,e.resourceType=t.isTriple?"triple":"uri",e.encodedIri=t.isTriple?encodeURIComponent(H(t.iri)):encodeURIComponent(t.iri),e.showInfoPanel=!0,e.rdfsLabel=t.labels[0].label,e.rdfsComment=t.comment,e.expanded=!1,e.propertiesQueryObj.query="",e.dataNodeKeysQuery="";const n=O();l.get("rest/explore-graph/properties",{params:{iri:t.isTriple?H(t.iri):t.iri,config:e.configLoaded.id,languages:e.shouldShowSettings()?n.languages:[],includeInferred:n.includeInferred,sameAsState:n.sameAsState,rejectedPredicates:e.shouldShowSettings()?n.rejectedPredicates:[]}}).then((function(t){e.data=_.mapKeys(t.data,(function(t,n){return e.replaceIRIWithPrefix(n)})),e.propertiesObj.items=[],_.forEach(e.data,(function(t,n){e.propertiesObj.items.push({key:n,value:t})})),e.nodeImage=void 0,e.propertiesNotFiltered=e.propertiesObj.items;const n=_.find(e.propertiesObj.items,(function(e){return"image"===e.key}));n&&(e.nodeImage=n.value[0].v),e.propertiesObj.items=_.reject(e.propertiesObj.items,(function(e){return"image"===e.key})),e.propertiesNotFiltered=e.propertiesObj.items}),(function(e){s.warning(getError(e.data),"Error")}))}function ye(e){ve("predicate","var(--onto-orange-dark)",e),ve("predicates","var(--onto-orange-dark)",e);let t=document.getElementsByClassName("link");t&&_.each(t,(function(t){let n=t.__data__;(n.source.iri.indexOf(e.iri)>=0||n.target.iri.indexOf(e.iri)>=0)&&(t.style.stroke="var(--onto-orange-dark)",t.style.strokeWidth=4)}));let n=document.getElementsByClassName("arrow-marker");n&&_.each(n,(function(t){let n=t.__data__;(n.source.iri.indexOf(e.iri)>=0||n.target.iri.indexOf(e.iri)>=0)&&(t.style.stroke="var(--onto-orange-dark)",t.__data__.target.isTriple||t.setAttribute("refX","23"))}))}function ve(e,t,n){let r=document.getElementsByClassName(e);r&&_.each(r,(function(e){let r=e.__data__;n?((r.source.iri.indexOf(n.iri)>=0||r.target.iri.indexOf(n.iri)>=0)&&(e.style.fill=t),B(n.iri)===W(r)&&(e.textContent=n.pred,e.style.fill=t),n.oppLinkIRI&&n.oppLinkIRI===W(r)&&(e.textContent=n.oppTriplePred,e.style.fill=t)):(e.style.fill=t,e.textContent=Ie(r))}))}function xe(){_.each(e.predicates,(function(e){let t=document.getElementById(e.linkId+e.nodeIndex);t&&(t.style.fontWeight="normal")}));let t=document.getElementsByClassName("link");t&&_.each(t,(function(e){e.style.stroke="#999",e.style.strokeWidth=1})),ve("predicate",""),ve("predicates","");let n=document.getElementsByClassName("arrow-marker");n&&_.each(n,(function(e){e.style.stroke="#999",e.__data__.target.isTriple||e.setAttribute("refX","59")}))}function Se(e){let t=B(e);if(Z.tripleNodes.has(t))return Z.tripleNodes.get(t).find(t=>t.iri===e)}function Ie(e){return e.predicates.length>1?e.predicates.length+" predicates":we(e.predicates[0])}function we(t){const n=e.replaceIRIWithPrefix(t);return n.length===t.length?t.split("/")[t.split("/").length-1]:n}e.toggleSidePanel=function(){e.pageslideExpanded=!e.pageslideExpanded},e.closeInfoPanel=function(){e.pageslideExpanded=!1,e.openedNodeInfoPanel=void 0,e.predicates=[],R=null,c((function(){e.showInfoPanel=!1}))},e.clickLink=function(t){if(Z.tripleNodes.has(t.linkId)){xe();let n=Z.tripleNodes.get(t.linkId)[t.nodeIndex];me(n),e.showPredicates=!0;let r=document.getElementById(t.linkId+t.nodeIndex);r&&(r.style.fontWeight="bold");let i={};const o=Z.tripleLinksCopy.values();for(let e=0;e<Z.tripleLinksCopy.size;e++){let e=o.next().value;e.length>1&&e.every(t=>t.source.iri===n.iri?(i.iri=e[0].source.iri,t.target.isTriple&&(i.oppLinkIRI=B(t.target.iri),i.oppTriplePred=we(t.target.iri.split(" ")[1])),i.pred=we(n.iri.split(" ")[1]),1===t.predicates.length&&(i.linkPred=t.predicates[0]),!1):t.target.iri!==n.iri||(i.iri=e[0].target.iri,t.source.isTriple&&(i.oppLinkIRI=B(t.source.iri),i.oppTriplePred=we(t.source.iri.split(" ")[1])),i.pred=we(n.iri.split(" ")[1]),1===t.predicates.length&&(i.linkPred=t.predicates[0]),!1))}i.iri||(i.iri=n.iri,i.pred=we(n.iri.split(" ")[1])),ye(i)}},e.splitPredicate=function(e){return e.split("/")[e.split("/").length-1]},e.getActiveRepository=function(){return n.getActiveRepository()},e.isLoadingLocation=function(){return n.isLoadingLocation()},e.hasActiveLocation=function(){return n.hasActiveLocation()},e.rotate=function(e){ge();const t=2*(e?1:-1)*Math.PI/180,n=Math.cos(t),r=Math.sin(t);d3.selectAll(".node-wrapper").each((function(e){e.x=n*(e.x-500)+r*(e.y-500)+500,e.y=-r*(e.x-500)+n*(e.y-500)+500,e.fixed&&(e.px=e.x,e.py=e.y)})),ne.resume()},e.openUri=function(t,n){if(!n){const n={};e.configLoaded.id!==e.defaultGraphConfig.id&&(n.config=e.configLoaded.id),n.uri=t,e.pushHistory(n,{uri:t,config:e.configLoaded})}e.$broadcast("onRootNodeChange",t)},e.saveOrUpdateGraph=function(){const t=JSON.stringify(Z.copyState()),n={id:e.lastSavedGraphId,name:e.lastSavedGraphName,data:t,shared:e.shared};n.id?e.saveGraphModal("update",n):e.saveGraphModal("new",n)},e.renameSavedGraph=function(t){e.saveGraphModal("rename",{id:t.id,name:t.name,config:t.config,shared:t.shared})};const ke=function(t){I.editSavedGraph(t).success((function(){e.lastSavedGraphName=t.name,e.shared=t.shared,e.refreshSavedGraphs(),s.success(L.instant("graphexplore.saved.graph.was.edited",{name:t.name}))})).error((function(e){const t=getError(e);s.error(t,L.instant("graphexplore.error.cannot.edit"))}))};e.saveGraphModal=function(t,n,r){y.open({templateUrl:"js/angular/graphexplore/templates/modal/save-graph.html",controller:"SaveGraphModalCtrl",resolve:{data:function(){return{mode:t,graph:n,graphExists:r,shared:n.shared}}}}).result.then((function(t){if(t.restart)e.saveGraphModal(t.mode,t.graph,!1);else switch(t.mode){case"new":!function(t){e.configLoaded&&(t.config=e.configLoaded.id),I.addNewSavedGraph(t).success((function(n,r,i){e.lastSavedGraphName=t.name,e.lastSavedGraphId=i()["x-saved-graph-id"],e.shared=t.shared,e.refreshSavedGraphs(),s.success(L.instant("graphexplore.saved.graph",{name:t.name}))})).error((function(n,r){if(422===r)e.saveGraphModal("new",t,!0);else{const e=getError(n);s.error(e,L.instant("graphexplore.error.cannot.create.graph"))}}))}(t.graph);break;case"update":case"rename":ke(t.graph)}}))},e.refreshSavedGraphs=function(){I.getSavedGraphs().success((function(t){e.savedGraphs=t})).error((function(e){const t=getError(e);s.error(t,L.instant("graphexplore.error.getting.saved.graphs"))}))},e.loadSavedGraph=function(t,n){t.owner?(e.lastSavedGraphName=t.name,e.lastSavedGraphId=t.id,e.shared=t.shared,e.configLoaded=e.findConfigById(t.config)):(e.lastSavedGraphName=null,e.lastSavedGraphId=null,e.shared=t.shared),e.configLoaded||(e.configLoaded=e.defaultGraphConfig),f.url("?saved="+t.id),Z.restoreState(JSON.parse(t.data)),n||e.pushHistory({saved:t.id},{savedGraph:t})},e.copyToClipboardSavedGraph=function(e){j([location.protocol,"//",location.host,location.pathname,"?saved=",e.id].join(""))},e.deleteSavedGraph=function(t){m.openSimpleModal({title:L.instant("common.confirm"),message:L.instant("graphexplore.confirm.delete.graph",{graphName:t.name}),warning:!0}).result.then((function(){!function(t){I.deleteSavedGraph(t).success((function(){e.refreshSavedGraphs(),s.success(L.instant("graphexplore.saved.graph.was.deleted",{name:t.name}))})).error((function(e){const t=getError(e);s.error(t,L.instant("graphexplore.error.cannot.delete"))}))}(t)}))},e.openIRI=function(t,n){return n.shiftKey?e.$broadcast("onRootNodeChange",t):window.open(t,"_blank"),!1},e.togglePinAllNodes=function(){ge();const t=e.numberOfPinnedNodes<=0;e.numberOfPinnedNodes=0,d3.selectAll(".node").each((function(n){n.fixed=t,t&&e.numberOfPinnedNodes++})),ne.resume()},$("body").on("keydown",(function(t){!C.isActive()&&"input"!==t.target.nodeName&&e.nodeSelected&&(37===t.keyCode?e.rotate(!0):39===t.keyCode&&e.rotate(!1))})),e.getLiteralFromPropValue=function(e){return e.substring(e.indexOf(":")+1)}}function c(e,t,n,r){switch(e.mode=n.mode,e.graph=angular.copy(n.graph),e.graphExists=n.graphExists,e.mode){case"new":e.title=r.instant("graphexplore.create.new.graph"),e.okButtonText=r.instant("common.create.btn");break;case"update":e.title=r.instant("graphexplore.update"),e.okButtonText=r.instant("common.save.btn");break;case"rename":e.title=r.instant("graphexplore.rename"),e.okButtonText=r.instant("common.save.btn")}e.ok=function(){e.form.$valid&&t.close({graph:e.graph,mode:e.mode})},e.saveNew=function(){e.graph.name=e.graph.name+" (new)",t.close({graph:e.graph,mode:"new",restart:!0})},e.cancel=function(){t.dismiss("cancel")}}angular.module("graphdb.framework.graphexplore.controllers.graphviz",["ui.scroll.jqlite","ui.scroll","toastr","ui.bootstrap","ngTagsInput","graphdb.framework.utils.localstorageadapter"]).controller("GraphsVisualizationsCtrl",s).controller("SaveGraphModalCtrl",c).config(["$tooltipProvider",function(e){e.options({appendToBody:!0})}]),s.$inject=["$scope","$rootScope","$repositories","$licenseService","toastr","$timeout","$http","ClassInstanceDetailsService","AutocompleteRestService","$q","$location","$jwtAuth","UiScrollService","ModalService","$modal","$window","LocalStorageAdapter","LSKeys","SavedGraphsRestService","GraphConfigRestService","RDF4JRepositoriesRestService","$translate","GuidesService"],c.$inject=["$scope","$modalInstance","data","$translate"]}}]);
2
- //# sourceMappingURL=27.83b24ef9ec0fd6964d92.bundle.js.map
1
+ (window.webpackJsonp=window.webpackJsonp||[]).push([[27,110],{253:function(e,t,n){var r,i,o;i=[],void 0===(o="function"==typeof(r=function(){return function(){var e=function(){return"n"},t=function(){return[0,0]},n=function(){return" "},r=u(),i=null,o=null,a=null,s=null;function c(e){var t;i="svg"===(t=(t=e).node()).tagName.toLowerCase()?t:t.ownerSVGElement,o=i.createSVGPoint(),document.body.appendChild(r)}c.show=function(){var r=Array.prototype.slice.call(arguments);r[r.length-1]instanceof SVGElement&&(a=r.pop());var i,o=n.apply(this,r),u=t.apply(this,r),f=e.apply(this,r),h=p(),g=d.length,m=document.documentElement.scrollTop||document.body.scrollTop,y=document.documentElement.scrollLeft||document.body.scrollLeft,v=s.apply(this,r);for(h.html(o).style({opacity:1,"pointer-events":"all"});g--;)h.classed(d[g],!1);return i=l.get(f).apply(this),v?h.style(v):h.classed(f,!0).style({top:i.top+u[0]+m+"px",left:i.left+u[1]+y+"px"}),c},c.hide=function(){return p().style({opacity:0,"pointer-events":"none"}),c},c.attr=function(e,t){if(arguments.length<2&&"string"==typeof e)return p().attr(e);var n=Array.prototype.slice.call(arguments);return d3.selection.prototype.attr.apply(p(),n),c},c.style=function(e,t){if(arguments.length<2&&"string"==typeof e)return p().style(e);var n=Array.prototype.slice.call(arguments);return d3.selection.prototype.style.apply(p(),n),c},c.direction=function(t){return arguments.length?(e=null==t?t:d3.functor(t),c):e},c.offset=function(e){return arguments.length?(t=null==e?e:d3.functor(e),c):t},c.html=function(e){return arguments.length?(n=null==e?e:d3.functor(e),c):n},c.customPosition=function(e){return arguments.length?(s=null==e?e:d3.functor(e),c):s},c.destroy=function(){return r&&(p().remove(),r=null),c};var l=d3.map({n:function(){var e=f();return{top:e.n.y-r.offsetHeight,left:e.n.x-r.offsetWidth/2}},s:function(){var e=f();return{top:e.s.y,left:e.s.x-r.offsetWidth/2}},e:function(){var e=f();return{top:e.e.y-r.offsetHeight/2,left:e.e.x}},w:function(){var e=f();return{top:e.w.y-r.offsetHeight/2,left:e.w.x-r.offsetWidth}},nw:function(){var e=f();return{top:e.nw.y-r.offsetHeight,left:e.nw.x-r.offsetWidth}},ne:function(){var e=f();return{top:e.ne.y-r.offsetHeight,left:e.ne.x}},sw:function(){var e=f();return{top:e.sw.y,left:e.sw.x-r.offsetWidth}},se:function(){var e=f();return{top:e.se.y,left:e.e.x}}}),d=l.keys();function u(){var e=d3.select(document.createElement("div"));return e.style({position:"absolute",top:0,opacity:0,"pointer-events":"none","box-sizing":"border-box"}),e.node()}function p(){return null===r&&(r=u(),document.body.appendChild(r)),d3.select(r)}function f(){for(var e=a||d3.event.target;void 0===e.getScreenCTM&&"undefined"===e.parentNode;)e=e.parentNode;var t={},n=e.getScreenCTM(),r=e.getBBox(),i=r.width,s=r.height,c=r.x,l=r.y;return o.x=c,o.y=l,t.nw=o.matrixTransform(n),o.x+=i,t.ne=o.matrixTransform(n),o.y+=s,t.se=o.matrixTransform(n),o.x-=i,t.sw=o.matrixTransform(n),o.y-=s/2,t.w=o.matrixTransform(n),o.x+=i,t.e=o.matrixTransform(n),o.x-=i/2,o.y-=s/2,t.n=o.matrixTransform(n),o.y+=s,t.s=o.matrixTransform(n),t}return c}})?r.apply(t,i):r)||(e.exports=o)},254:function(e,t,n){"use strict";var r=r||{};r.Text=function(){function e(e,t,n,r){n=n||10;var i=t/3;return"string"==typeof e?(i*=10/(e.substring(0,t/3).length+1.5),i+=1,e.match(/[\u0900-\u0DFF\u1100-\u11FF\u2E80-\u2EFF\u3000-\u9FFF]/)&&(i*=.6),i<n&&(i=n),Math.round(i)):(i<n&&(i=n),Math.round(i))}return{calcFontSizeRaw:e,calcFontSize:function(t,n,r,i){return e(t,n,r)+"px"},getTextWithElipsisIfNeeded:function(e,t){return"string"==typeof e&&e.length>t?e.substring(0,t-3)+"...":e}}}(),r.Transition={fadeIn:function(e,t){e.style("opacity",0).transition().duration(t).style("opacity",1)},fadeOut:function(e,t){e.style("opacity",1).transition().duration(t).style("opacity",0)}},r.Click={delayDblClick:function(){var e=d3.dispatch("click","dblclick");return d3.rebind((function(t){var n,r=null;t.on("mousedown",(function(){n=d3.mouse(document.body),new Date})),t.on("mouseup",(function(t){var i,o;i=n,o=d3.mouse(document.body),Math.sqrt(Math.pow(i[0]-o[0],2),Math.pow(i[1]-o[1],2))>5||(r?(window.clearTimeout(r),r=null,e.dblclick(t)):r=window.setTimeout((d3.event,function(){e.click(t),r=null}),250))}))}),e,"on")}},t.a=r},60:function(e,t,n){"use strict";n.r(t),n.d(t,"STATIC_RULESETS",(function(){return r})),n.d(t,"REPOSITORY_TYPES",(function(){return i})),n.d(t,"FILENAME_PATTERN",(function(){return o})),n.d(t,"NUMBER_PATTERN",(function(){return a}));const r=[{id:"empty",name:"No inference"},{id:"rdfs-optimized",name:"RDFS (Optimized)"},{id:"rdfs",name:"RDFS"},{id:"rdfsplus-optimized",name:"RDFS-Plus (Optimized)"},{id:"owl-horst-optimized",name:"OWL-Horst (Optimized)"},{id:"owl-horst",name:"OWL-Horst"},{id:"owl2-ql-optimized",name:"OWL2-QL (Optimized)"},{id:"owl2-ql",name:"OWL2-QL"},{id:"owl-max-optimized",name:"OWL-Max (Optimized)"},{id:"owl-max",name:"OWL-Max"},{id:"owl2-rl-optimized",name:"OWL2-RL (Optimized)"},{id:"owl2-rl",name:"OWL2-RL"}],i={graphdbRepo:"graphdb",free:"free",eeWorker:"worker",eeMaster:"master",ontop:"ontop",se:"se",fedx:"fedx"},o=new RegExp("^[a-zA-Z0-9-_]+$"),a=new RegExp("^[0-9]+$")},80:function(e,t,n){"use strict";n.r(t);n(4);var r=n(254),i=n(253),o=n.n(i),a=(n(5),n(60));function s(e,t,n,i,s,c,l,d,u,p,f,h,g,m,y,v,x,S,I,w,k,L,C){e.languageChanged=!1,e.propertiesObj={},e.propertiesQueryObj={},e.propertiesObj.items=[],e.propertiesNotFiltered=[],e.searchVisible=!1,e.nodeSelected=!1,e.queryResultsMode=!1,e.embedded=f.search().embedded,e.openedNodeInfoPanel=void 0,e.invalidLimit=!1,e.INVALID_LINKS_MSG=L.instant("sidepanel.invalid.limit.links.msg"),e.INVALID_LINKS_TOOLTIP=L.instant("sidepanel.invalid.limit.links.tooltip"),t.$on("$translateChangeSuccess",(function(){e.INVALID_LINKS_MSG=L.instant("sidepanel.invalid.limit.links.msg"),e.INVALID_LINKS_TOOLTIP=L.instant("sidepanel.invalid.limit.links.tooltip"),e.propertiesSearchPlaceholder=L.instant("visual.search.instance.placeholder")})),e.onopen=e.onclose=()=>angular.noop(),e.embedded&&(f.search().query||f.search().uri||f.search().config||f.search().saved)&&(e.noGoHome=!0);const T={};let b=0,N=0,P={},A=0;const M=d3.behavior.zoom().scaleExtent([.5,10]);let E;let G,R;function O(){return C.isActive()?e.defaultSettings:e.saveSettings}function j(e){m.openCopyToClipboardModal(e)}function z(){e.settings.languagesMap=_.map(e.settings.languages,(function(e){return{text:e}})),e.settings.preferredTypesMap=_.map(e.settings.preferredTypes,(function(e){return{text:e}})),e.settings.rejectedTypesMap=_.map(e.settings.rejectedTypes,(function(e){return{text:e}})),e.settings.preferredPredicatesMap=_.map(e.settings.preferredPredicates,(function(e){return{text:e}})),e.settings.rejectedPredicatesMap=_.map(e.settings.rejectedPredicates,(function(e){return{text:e}}))}t.key="",T.get=function(t,n,r){return g.initLazyList(t,n,r,b,e.propertiesObj.items)},t.$watch((function(){return t.key}),(function(){b=0,_.each(e.propertiesObj.items,(function(e){t.key>e&&b++})),N++})),T.revision=function(){return N},e.datasource=T,e.adapterContainer={adapter:{remain:!0}},e.propertiesQueryObj.query="",e.propertiesSearchPlaceholder=L.instant("visual.search.instance.placeholder"),e.propertiesFilterFunc=function(t){return t.key.toLowerCase().indexOf(e.propertiesQueryObj.query.toLowerCase())>=0},e.resetState=function(){e.searchVisible=!1,e.nodeSelected=!1,e.configLoaded=null,e.queryResultsMode=!1,e.lastSavedGraphName=null,e.lastSavedGraphId=null,e.shared=!1,e.numberOfPinnedNodes=0,P={},A=0},e.pushHistory=function(t,n){e.embedded&&(t.embedded=!0),f.search(t),f.state(n)},e.goToHome=function(){e.resetState(),f.url("graphs-visualizations")},e.shouldShowSettings=function(){return e.configLoaded&&e.configLoaded.id===e.defaultGraphConfig.id},e.shouldDisableSameAs=function(){const t=$("#sameAsCheck");return e.settings&&!e.settings.includeInferred&&t.prop("checked")&&(t.prop("checked",!1),e.settings.sameAsState=!1),e.settings&&!e.settings.includeInferred},e.$watch("propertiesObj.items",(function(){angular.isDefined(e.propertiesObj.items)&&e.propertiesObj.items.length>0&&c((function(){e.adapterContainer.adapter.reload()}),500)})),e.toggleMoreInfo=function(e){angular.element(e.currentTarget).parent().next().toggle(200),angular.element(e.currentTarget).children("span").toggleClass("icon-caret-down").toggleClass("icon-caret-up")},e.copyToClipboard=j,e.defaultSettings={linksLimit:20,includeInferred:!0,sameAsState:!0,languages:["en"],showLinksText:!0,preferredTypes:[],rejectedTypes:[],preferredPredicates:[],rejectedPredicates:["http://dbpedia.org/property/logo","http://dbpedia.org/property/hasPhotoCollection","http://dbpedia.org/property/website","http://dbpedia.org/property/homepage","http://dbpedia.org/ontology/thumbnail","http://xmlns.com/foaf/0.1/depiction","http://xmlns.com/foaf/0.1/homepage","http://xmlns.com/foaf/0.1/mbox","http://dbpedia.org/ontology/wikiPage*","http://dbpedia.org/property/wikiPage*","http://factforge.net/*"],preferredTypesOnly:!1,preferredPredicatesOnly:!1,includeSchema:!0},e.saveSettings=angular.copy(e.defaultSettings),p.when(h.getPrincipal()).then(t=>function(t){const n=t.appSettings;e.defaultSettings.includeInferred=n.DEFAULT_INFERENCE,e.defaultSettings.sameAsState=n.DEFAULT_INFERENCE&&n.DEFAULT_SAMEAS,e.defaultSettings.includeSchema=n.DEFAULT_VIS_GRAPH_SCHEMA;const r=x.get(S.GRAPHS_VIZ);if(r&&"object"==typeof r)try{e.saveSettings=r,void 0===e.saveSettings.includeSchema&&(e.saveSettings.includeSchema=e.defaultSettings.includeSchema,e.saveSettings.rejectedPredicates=[...e.saveSettings.rejectedPredicates,...e.defaultSettings.rejectedPredicates].unique())}catch(t){e.saveSettings=angular.copy(e.defaultSettings),x.set(S.GRAPHS_VIZ,e.saveSettings)}else e.saveSettings=angular.copy(e.defaultSettings)}(t)),e.resetSettings=function(){e.settings=angular.copy(e.defaultSettings),e.validateLinksLimit(),z()},e.changeLimit=function(t){let n=e.settings.linksLimit+t;n<1&&(n=1),n>1e3&&(n=1e3),e.settings.linksLimit=n},e.validateLinksLimit=function(){e.invalidLimit=!a.NUMBER_PATTERN.test(e.settings.linksLimit)},e.showSettings=function(){e.showInfoPanel=!0,e.showFilter=!0,e.showNodeInfo=!1,e.showPredicates=!1,e.saveSettings?e.settings=angular.copy(e.saveSettings):e.settings=angular.copy(e.defaultSettings),z()},e.reExpandNode=function(){e.rootNodeIri&&e.$broadcast("onRootNodeChange",e.rootNodeIri)};const D=function(t,n,r){const i=O(),o=void 0===n?i.sameAsState:!0===n,a=void 0===r?i.includeInferred:!0===r;e.loading=!0,l({url:"rest/explore-graph/graph",method:"POST",headers:{"Content-Type":"application/json"},data:{query:t,linksLimit:i.linksLimit,languages:e.shouldShowSettings()?i.languages:[],includeInferred:a,sameAsState:o}}).then((function(e){pe(e)}),(function(t){e.loading=!1,s.error(getError(t.data),L.instant("graphexplore.error.cannot.load.graph"))}))};function F(e){return e.replace(/[()']/g,"")}function B(e,t){let n=e.split(" ");return t?[n[0],n[1],n[2]].join(">"):[n[0],n[2]].join(">")}function W(e){return[e.source.iri,e.target.iri].join(">")}function U(e){if(e.isTriple){let t=document.getElementById(F(B(e.iri)));if(t&&void 0!==t.__data__.x)return t.__data__.x}return e.x}function q(e){if(e.isTriple){let t=document.getElementById(F(B(e.iri)));if(t&&void 0!==t.__data__.y)return t.__data__.y}return e.y}function H(e){let t=e.trim().split(" ");return`<<<${t[0]}> <${t[1]}> <${t[2]}>>>`}function V(e){return F(`${e.source.isTriple?B(e.source.iri,!0):e.source.iri}>${e.target.isTriple?B(e.target.iri,!0):e.target.iri}>marker`)}function K(){this.nodes=[],this.links=[],this.tripleNodes=new Map,this.tripleLinksCopy=new Map,this.addNode=function(e,t,n){return e.x=t,e.y=n,this.nodes.push(e),e},this.computeConnectedness=function(){const e={},t={};_.each(this.links,(function(n){const r=n.source.iri,i=n.target.iri,o=_.min([r,i])+"|"+_.max([r,i]);t[o]||(t[o]=1,e[r]=(e[r]||0)+1,e[i]=(e[i]||0)+1)})),_.each(this.links,(function(t){e[t.source.iri]>1&&e[t.target.iri]>1?t.connectedness=Math.min(5,Math.max(e[t.source.iri],e[t.target.iri])-1):t.connectedness=0}))},this.addAndMatchLinks=function(e){const t=this.nodes;Array.prototype.push.apply(this.links,function(e,t){return _.map(e,(function(e){let n,r;n=e.isTripleSource?Se(e.source):_.find(t,(function(t){return t.iri===e.source})),r=e.isTripleTarget?Se(e.target):_.find(t,(function(t){return t.iri===e.target}));let i={source:n,target:r,predicates:e.predicates};if(e.isTripleSource||e.isTripleTarget){let e=`${i.source.isTriple?B(i.source.iri):i.source.iri}>${i.target.isTriple?B(i.target.iri):i.target.iri}`;if(Z.tripleLinksCopy.has(e)){let t=Z.tripleLinksCopy.get(e);return t[0].predicates.push(...i.predicates),t.push(i),Z.tripleLinksCopy.set(e,t),null}Z.tripleLinksCopy.set(e,[i])}return i}))}(e,t));for(let e of Z.tripleLinksCopy.keys())1===Z.tripleLinksCopy.get(e).length&&Z.tripleLinksCopy.delete(e);this.links=this.links.filter(e=>null!==e),this.computeConnectedness()};const t=function(e,t){return n(e,t).length};function n(e,t){return _.filter(t,(function(t){return t.source.iri===e.iri||t.target.iri===e.iri}))}this.countLinks=t,this.linksTypes=function(e,t){const r=n(e,t),i=_.map(r,(function(t){return t.source.iri===e.iri?t.target.types:t.source.types}));return _.uniq(_.flatten(i))},this.linksPredicates=function(e,t){const r=n(e,t),i=_.map(r,(function(e){return e.predicates}));return _.uniq(_.flatten(i))},this.removeTriples=function(e){let t=[];this.tripleNodes.size>0&&e.forEach(e=>{this.tripleNodes.has(e)&&(this.tripleNodes.delete(e),this.links=_.reject(this.links,(function(n){let r=e.split(">"),i=B(n.source.iri),o=B(n.target.iri);if(i===e&&Z.tripleNodes.delete(o)){let e=o.split(">");t.push({source:e[0],target:e[1]})}let a=i===e||o===e||n.source.iri===r[0]&&n.target.iri===r[1];return a&&(Z.tripleLinksCopy.delete(`${i}>${o}`),Z.tripleLinksCopy.delete(`${o}>${i}`)),a})))}),t.forEach(e=>{this.links=_.reject(this.links,(function(t){return t.source.iri===e.source&&t.target.iri===e.target}))})},this.removeNode=function(n){let r=[];this.links=_.reject(this.links,(function(e){let t=e.source.iri===n.iri||e.target.iri===n.iri;return t&&(e.target.isTriple&&r.push(B(e.target.iri)),e.source.isTriple||e.target.isTriple||r.push([e.source.iri,e.target.iri].join(">"))),t})),this.removeTriples(r);const i=this.links;this.nodes=_.reject(this.nodes,(function(e){return 0===t(e,i)})),0===this.nodes.length&&(e.nodeSelected=!1),this.computeConnectedness()},this.removeNodeLeafLinks=function(e){let r=[],i=this.links;this.links=_.reject(this.links,(function(o){let a=o.source.iri===e.iri&&1===t(o.target,i)&&!o.target.isTriple||o.target.iri===e.iri&&1===t(o.source,i)&&!o.source.isTriple;if(!a){let r;if(o.source.iri!==e.iri||2!==t(o.target,i)||o.target.isTriple?o.target.iri!==e.iri||2!==t(o.source,i)||o.source.isTriple||(r=n(o.source,i)):r=n(o.target,i),!r)return!1;a=(r[0].source.iri===e.iri||r[0].target.iri)&&(r[1].source.iri===e.iri||r[1].target.iri)}return a&&(o.target.isTriple&&r.push(B(o.target.iri)),o.source.isTriple||o.target.isTriple||r.push([o.source.iri,o.target.iri].join(">"))),a})),this.removeTriples(r),i=this.links,this.nodes=_.reject(this.nodes,(function(n){return 0===t(n,i)&&n.iri!==e.iri})),this.computeConnectedness()},this.addTriple=function(e,t,n){e.x=t,e.y=n,e.weight=0;let r=B(e.iri);if(this.tripleNodes.has(r)){let t=this.tripleNodes.get(r);t.push(e),this.tripleNodes.set(r,t)}else e.weight=10,this.tripleNodes.set(r,[e])},this.copyState=function(){const e=_.map(this.nodes,(function(e){return{iri:e.iri,isTriple:e.isTriple,size:e.size,labels:angular.copy(e.labels),types:angular.copy(e.types),rdfRank:e.rdfRank,x:e.x,y:e.y,fixed:e.fixed}})),t=JSON.stringify(Array.from(this.tripleNodes.entries())),n=JSON.stringify(Array.from(this.tripleLinksCopy.entries()));return{nodes:e,links:_.map(this.links,(function(e){return{source:e.source.iri,isTripleSource:e.source.isTriple,target:e.target.iri,isTripleTarget:e.target.isTriple,predicates:e.predicates}})),tripleNodes:t,tripleLinksCopy:n,colorIndex:A,type2color:P,scale:M.scale(),translate:M.translate()}},this.restoreState=function(t){e.nodeSelected=!0,e.searchVisible=!1,this.nodes=angular.copy(t.nodes),this.tripleNodes=t.tripleNodes?new Map(JSON.parse(t.tripleNodes)):new Map,this.links=[],this.addAndMatchLinks(t.links),this.tripleLinksCopy=t.tripleLinksCopy?new Map(JSON.parse(t.tripleLinksCopy)):new Map,_.each(this.nodes,(function(t){t.fixed&&e.numberOfPinnedNodes++})),angular.isDefined(t.colorIndex)&&angular.isDefined(t.type2color)&&(A=t.colorIndex,P=angular.copy(t.type2color)),angular.isDefined(t.translate)&&angular.isDefined(t.scale)&&(E="translate("+t.translate[0]+", "+t.translate[1]+") scale("+t.scale+")",M.translate(t.translate),M.scale(t.scale)),se()}}e.updateSettings=function(){e.invalidLimit?s.error(e.INVALID_LINKS_TOOLTIP,e.INVALID_LINKS_MSG):(e.saveSettings=e.settings,e.saveSettings.languages=_.map(e.saveSettings.languagesMap,(function(e){return e.text})),e.saveSettings.preferredTypes=_.map(e.saveSettings.preferredTypesMap,(function(e){return e.text})),e.saveSettings.rejectedTypes=_.map(e.saveSettings.rejectedTypesMap,(function(e){return e.text})),e.saveSettings.preferredPredicates=_.map(e.saveSettings.preferredPredicatesMap,(function(e){return e.text})),e.saveSettings.rejectedPredicates=_.map(e.saveSettings.rejectedPredicatesMap,(function(e){return e.text})),e.rootNodeIri?e.reExpandNode(e.rootNodeIri):e.queryResultsMode&&f.search().query?D(f.search().query,f.search().sameAs,f.search().inference):"query"===e.configLoaded.startMode&&e.loadGraphConfig(e.configLoaded),O().showLinksText?d3.selectAll("svg .link-wrapper text").style("display","block"):d3.selectAll("svg .link-wrapper text").style("display","none"),e.showInfoPanel=!1,e.showFilter=!1,x.set(S.GRAPHS_VIZ,e.saveSettings))},e.showInfoPanel=!1;let Z=new K;e.defaultGraphConfig={id:"default",name:"Easy graph",startMode:"search"},e.getGraphConfigs=function(t){w.getGraphConfigs().success((function(n){e.graphConfigs=n,t&&t()})).error((function(e){s.error(getError(e),L.instant("graphexplore.error.graph.configs.short.msg"))}))},e.loadConfigForId=function(t,n){t===e.defaultGraphConfig.id?e.loadGraphConfig(e.defaultGraphConfig):w.getConfig(t).success((function(t){e.loadGraphConfig(t),n()})).error((function(e){s.error(getError(e),L.instant("graphexplore.error.could.not.load.config",{configId:t}))}))},e.findConfigById=function(t){return t===e.defaultGraphConfig.id?e.defaultGraphConfig:$.grep(e.graphConfigs,(function(e){return e.id===t}))[0]},e.easyGraphSearch=function(t){e.configLoaded=e.defaultGraphConfig,e.openUri(t)},e.loadGraphConfig=function(t){e.configLoaded=t,"search"===t.startMode?e.searchVisible=!0:"node"===t.startMode&&t.startIRI?c((function(){e.openUri(t.startIRI,!0)}),0):"query"===t.startMode&&t.startGraphQuery&&(e.loading=!0,w.loadGraphForConfig(t,t.startQueryIncludeInferred,O().linksLimit,t.startQuerySameAs).then((function(e){pe(e)}),(function(t){e.loading=!1,s.error(getError(t),L.instant("graphexplore.error.graph.load"))})))},e.deleteConfig=function(t){m.openSimpleModal({title:L.instant("common.confirm"),message:L.instant("graphexplore.delete.graph",{configName:t.name}),warning:!0}).result.then((function(){w.deleteGraphConfig(t).success((function(){e.getGraphConfigs(),e.refreshSavedGraphs()})).error((function(e){s.error(getError(e),L.instant("graphexplore.error.cannot.delete.config"))}))}))},e.goToGraphConfig=function(t){e.pushHistory({config:t.id},{config:t}),e.resetState(),e.loadGraphConfig(t)},v.onpopstate=function(t){e.resetState(),t.state&&(t.state.config?(e.loadGraphConfig(t.state.config),t.state.uri&&e.openUri(t.state.uri,!0)):t.state.savedGraph&&e.loadSavedGraph(t.state.savedGraph,!0))};const Q=function(){f.search().query?(e.searchVisible=!1,e.queryResultsMode=!0,D(f.search().query,f.search().sameAs,f.search().inference)):e.$on("onRootNodeChange",(function(t,n){e.loading=!0;const r=O();angular.isDefined(n)&&(e.rootNodeIri=n,l({url:"rest/explore-graph/node",method:"GET",params:{iri:n,config:e.configLoaded?e.configLoaded.id:e.defaultGraphConfig.id,languages:e.shouldShowSettings()?r.languages:[],includeInferred:r.includeInferred,sameAsState:r.sameAsState}}).then((function(t){e.nodeSelected=!0,e.searchVisible=!1,null===t.data.types&&(t.data.types="greyColor"),Z=new K;const n=Z.addNode(t.data,500,500);E="translate(0, -70) scale(1)",M.translate([0,-70]),M.scale(1),he(n,!0)})).catch((function(t){e.loading=!1,s.error(getError(t),L.instant("graphexplore.error.could.not.load.graph"))})))})),f.search().uri&&e.openUri(f.search().uri,!0),f.search().saved&&I.getSavedGraph(f.search().saved).success((function(t){e.loadSavedGraph(t)})).error((function(e){const t=getError(e);s.error(t,L.instant("graphexplore.error.could.not.open"))}))},J=function(){f.search().config?e.loadConfigForId(f.search().config,Q):f.search().query||f.search().uri?(e.loadGraphConfig(e.defaultGraphConfig),Q()):Q()};function Y(t){!n.getActiveRepository()||e.hasInitedRepository&&!t||(e.hasInitedRepository=!0,t||e.getGraphConfigs(J),e.getNamespacesPromise=k.getNamespaces(e.getActiveRepository()).success((function(t){const n=_.map(t.results.bindings,(function(e){return{uri:e.namespace.value,prefix:e.prefix.value}}));e.namespaces=_.sortBy(n,(function(e){return e.uri.length})),X()})).error((function(e){s.error(getError(e),L.instant("graphexplore.error.view.will.not.work"))})))}function X(){i.isLicenseValid()&&(e.getAutocompletePromise=u.checkAutocompleteStatus())}e.replaceIRIWithPrefix=function(t){const n=e.namespaces,r=_.findLast(n,(function(e){return 0===t.indexOf(e.uri)}));return r?r.prefix+":"+t.substring(r.uri.length):t},e.addedTag=function(t){return t.text.indexOf(":")<0?(s.warning(L.instant("graphexplore.absolute.prefixed.iri")),null):(t.text=function(e,t){if(!/^<?(http|urn).*>?/.test(e)){const n=e.split(":"),r=n[0],i=n[1];if(!angular.isUndefined(i)){const e=d.getNamespaceUriForPrefix(t,r);if(e)return e+i}}return e}(t.text,e.namespaces),e.pageslideExpanded=!0,t)},e.validateTag=function(e,t,n){if(e.text.indexOf(":")<0)return n?s.warning(L.instant("graphexplore.absolute.prefixed.iri.option"),t):s.warning(L.instant("graphexplore.absolute.prefixed.iri"),t),!1;const r=e.text.indexOf("*");if(r>=0){if(!n)return s.warning(L.instant("graphexplore.wildcards.not.allowed"),t),!1;if(r<e.text.length-1)return s.warning(L.instant("graphexplore.wildcards.last.char"),t),!1}return!0},e.getTagClass=function(e){return e.endsWith("*")?"tag-item-wildcard":null},e.getActiveRepository=function(){return n.getActiveRepository()},e.isLicenseValid=function(){return i.isLicenseValid()},e.hasInitedRepository=!1,e.$on("autocompleteStatus",(function(){X()})),e.$on("repositoryIsSet",(function(t,n){n.newRepo&&(e.hasInitedRepository=!1),Y(n.newRepo),n.newRepo&&(e.resetState(),$(".graph-visualization svg").empty(),f.search().query&&(e.goToHome(),Q()))})),Y();const ee=d3.scale.linear().domain([0,9]).range(["hsl(0, 100%, 75%)","hsl(360, 90%, 82%)"]).interpolate(d3.interpolateHslLong),te=d3.scale.linear().domain([0,9]).range(["hsl(180, 50%, 75%)","hsl(540, 40%, 82%)"]).interpolate(d3.interpolateHslLong);e.getColor=function(e){angular.isUndefined(P[e])&&(P[e]=A,A++);const t=P[e];return t>39?"#c2c2c2":t%2==0?ee(t/2):te(t/2)};const ne=d3.layout.force().gravity(.07).size([1e3,1e3]),re=d3.select(".main-container .graph-visualization").append("svg").attr("viewBox","0 0 1000 1000").attr("preserveAspectRatio","xMidYMid meet");let ie=0,oe=0;const ae=new function(){this.state=!1,this.setLoadingState=function(e){this.state=e},this.getLoadingState=function(){return this.state},this.init=function(e,t){d3.select(t).append("circle").attr("cx",(function(){return e.x})).attr("cy",(function(){return e.y})).attr("class","loader-container").attr("r",(function(){return e.size})).style("fill","fff").style("opacity","0.7"),d3.select(t).append("image").attr("xlink:href","js/angular/templates/loader/ot-loader.svg?v=2.3.0-TR1").attr("x",(function(){return e.x-e.size+5})).attr("y",(function(){return e.y-e.size})).attr("width",(function(){return 2*e.size})).attr("height",(function(){return 2*e.size})).attr("class","node-loader")}};function se(t){d3.selectAll("svg g").remove(),d3.selectAll("svg rect").remove(),d3.selectAll(".d3-tip").remove(),d3.selectAll(".menu-events").remove(),M.on("zoom",(function(){if(C.isActive())return;E="translate("+d3.event.translate+") scale("+d3.event.scale+")",n.attr("transform",E)})),re.append("rect").attr("width",1e4).attr("height",1e4).attr("x",-4500).attr("y",-4500).style("fill","none").style("pointer-events","all").call(M).on("click",(function(){d3.event.stopPropagation(),ge(),ne.stop()}));const n=re.append("g").attr("class","nodes-container").attr("transform",(function(){return angular.isDefined(E)&&!t?E:""})),i=o()().attr("class","d3-tip").customPosition((function(){const e=G.getBoundingClientRect();return{top:e.bottom+10+"px",left:e.left-30+"px"}})).html((function(t){let n="";return t.fixed&&(n+='<i class="icon-pin"></i>&nbsp;&nbsp;'),t.types.length>0?n+=_.join(_.map(t.types,(function(t){return e.replaceIRIWithPrefix(t)}))," · "):n+="<i>No types</i>",n})),a=function(e){let t="";return t+=_.join(_.map(e.predicates,(function(t,n){if(0===n)return we(t);if(n<10)return" · "+we(t);if(10===n){const t=function(e){return e.predicates.length-10}(e),n=t>1?t+" predicates":t+" predicate";return" · "+L.instant("graphexplore.tip.text",{textToShow:n})}})),""),t};let l;const d=o()().attr("class","d3-tip").customPosition((function(e){const t=l.getBoundingClientRect(),n=function(e){const t=a(e),n=document.createElement("canvas").getContext("2d");return n.font="13px Arial",e.predicates.length<10?n.measureText(t).width:n.measureText(t).width/2}(e);return{top:t.top-30+"px",left:t.left-30+"px",width:n+"px"}})).html((function(e){return a(e)}));const u=function(){c.cancel(void 0),c.cancel(ie),G=null,i.hide(),oe=c((function(){ge()}),500)};re.call(i);re.call(d);let p=re.selectAll(".link"),f=re.selectAll(".node");ne.nodes(Z.nodes).charge(-3e3),ne.links(Z.links).linkDistance((function(e){return e.source.isTriple||e.target.isTriple?0:function(e){const t=$("<span></span>"),n=e.predicates[0].split("/"),r=n[n.length-1];t.addClass("predicate-text").text(r),$("body").append(t);const i=t.width()+2*e.source.size+2*e.target.size+50;return t.remove(),.75*i}(e)+30*e.connectedness})),n.append("defs").selectAll("marker").data(ne.links()).enter().append("marker").attr("class","arrow-marker").attr("id",(function(e){return V(e)})).attr("viewBox","0 -5 10 10").attr("refX",(function(e){return e.target.isTriple?11:e.target.size+11})).attr("refY",0).attr("markerWidth",10).attr("markerHeight",10).attr("orient","auto").append("path").attr("d","M0,-5L10,0L0,5 L10,0 L0, -5"),p=n.selectAll(".link").data(Z.links).enter().append("g").attr("class","link-wrapper").attr("id",(function(e){return F(W(e))})).append("line").attr("class","link").style("stroke-width",1).style("fill","transparent").style("marker-end",(function(e){return`url(#${V(e)})`}));const h=n.selectAll(".link-wrapper").append("text").text((function(e){return Ie(e)})).attr("class",(function(e){return e.predicates.length>1||Z.tripleNodes.has(W(e))?"predicates":"predicate"})).attr("dy","-0.5em").style("text-anchor","middle").style("display",O().showLinksText?"":"none").on("mouseover",(function(e){d3.event.stopPropagation(),function(e){c.cancel(void 0);const t=l=d3.event.target;c((function(){l===t&&e.predicates.length>1&&d.show(e,l)}),300)}(e)})).on("mouseout",(function(){c.cancel(void 0),l=null,d.hide()})).on("click",(function(t){d3.event.stopPropagation(),function(t){xe();let n=W(t);if(1===t.predicates.length&&Z.tripleNodes.has(n)){R=null;let e=Z.tripleNodes.get(n)[0];if(de(e,this,d3.event.button)){let t={};t.iri=e.iri,t.pred=we(e.iri.split(" ")[1]),ye(t)}return}!function(t){if(e.showNodeInfo=!1,e.showPredicates=t.predicates.length>1,e.showFilter=!1,e.showInfoPanel=!1,R===t)return e.showNodeInfo=!1,e.showInfoPanel=!1,void(R=null);R=t,e.showPredicates&&(e.predicates=_.map(t.predicates,(function(e){let n=function(e,t){let n=W(t);return Z.tripleNodes.has(n)?Z.tripleNodes.get(n).findIndex(t=>t.iri.indexOf(e)>=0):-1}(e,t),r=n>-1;return{value:we(e),partOfTriple:r,linkId:r?W(t):"",nodeIndex:n}})),e.showInfoPanel=!0)}(t)}(t)}));let g,m=0,y=0,v=0;const x=function(){d3.event.button&&0!==d3.event.button||(u(),c.cancel(g),e.showPredicates=!1,d3.event.timeStamp-m<500?y++:y=1,m=d3.event.timeStamp,d3.event.preventDefault())},S=function(t,n,r){Z.countLinks(t,Z.links)<=O().linksLimit?he(t,!1,r||this.parentNode):s.info(L.instant("graphexplore.increase.limit"),L.instant("graphexplore.node.at.max")),e.closeInfoPanel()},I=function(e){if(d3.event.button&&0!==d3.event.button)return;c.cancel(g);const t=d3.event,n=this;C.isActive()||d3.event.timeStamp-m<500&&(1===y?g=c((function(){de(e,n,t)}),540-(d3.event.timeStamp-m)):2===y&&S(e,0,n.parentNode)),d3.event.preventDefault()};function w(e,t){let r,i,o,a,s=!0;if("down"===t)r=2*e.size,i=e.size/3,o=.8,a=.3;else if("down-fixed"===t)r=2*e.size,i=e.size,o=.8,a=.66;else if("up"===t)r=e.size/3,i=2*e.size,o=.3,a=.8;else{if("fixed"!==t)return;r=e.size,o=.66,s=!1}let c=n.selectAll(".node-wrapper").filter((function(t){return t===e})).append("text").text("").classed("icon-any pinned",!0).style("font-size",r+"px").attr("x",(function(e){return e.x})).attr("y",(function(e){return e.y})).attr("opacity",o);"fixed"!==t&&"down-fixed"!==t||(e.pin=c),s&&(c=c.transition().duration(1e3).style("font-size",(function(){return i+"px"})).attr("opacity",a),"down-fixed"!==t&&c.remove())}const k=d3.behavior.drag().origin((function(e){return e})).on("dragstart",(function(e){if(C.isActive())return;0===d3.event.sourceEvent.button&&(e.fixedBeforeDrag=e.fixed,e.isBeingDragged=!0,e.beginDragging=!0,ge(),d3.event.sourceEvent.stopPropagation(),d3.select(this).classed("dragging",!0))})).on("drag",(function(t){t.isBeingDragged&&(y=0,t.px=d3.event.x,t.py=d3.event.y,t.fixed?t.beginDragging&&w(t,"fixed"):(e.numberOfPinnedNodes++,t.fixed=!0,w(t,"down-fixed")),t.pinWasFixed=!0,t.beginDragging=null,ne.resume())})).on("dragend",(function(e){e.isBeingDragged&&(e.pinWasFixed&&(e.pinWasFixed=null,d3.select(".pinned").remove()),e.isBeingDragged=!1,d3.select(this).classed("dragging",!1))}));f=n.selectAll(".node").data(Z.nodes).enter().append("g").attr("class","node-wrapper").attr("id",(function(e){return e.iri})).append("circle").attr("class","node").attr("r",(function(e){return e.size})).style("fill",(function(t){return"greyColor"===t.types?"c2c2c2":e.getColor(t.types[0])})).call(k).on("mouseover",(function(t){if(!t.isBeingDragged){const n=d3.event;c.cancel(oe),ie=c(()=>{(function(t,n){if(e.showInfoPanel)return!1;(le.closeIcon||le.expandIcon||le.focusIcon||le.copyURIIcon)&&le.removeIcons();if(ne.alpha()<.02)return le.initIcons(t,n.parentNode),ne.stop(),ce(),!0;return!1})(t,this)&&function(e,t){c.cancel(void 0);const n=G=t.target;c((function(){G===n&&i.show(e,G)}),300)}(t,n)},400)}})).on("mouseout",u).on("mousedown",x).on("touchstart",(function(e){x(),v=0,g=c((function(){v<5&&ue(e),g=null,y=0}),1e3)})).on("touchmove",(function(){v++})).on("mouseup",I).on("touchend",I).on("contextmenu",(function(t){d3.event.shiftKey||(d3.event.preventDefault(),ge(),e.closeInfoPanel(),t.fixed?(e.numberOfPinnedNodes--,t.fixed=!1,w(t,"up"),ne.resume()):(e.numberOfPinnedNodes++,t.fixed=!0,w(t,"down")),function(e){G&&i.show(e,G)}(t))})).on("gdb-expand-node",S).on("gdb-show-node-info",me);const T=n.selectAll(".node-wrapper").append("foreignObject").style("pointer-events","none").attr("width",(function(e){return 2*e.size*1.75}));n.insert("g").attr("class","menu-events"),function(e){e.each((function(e){e.fontSize=r.a.Text.calcFontSizeRaw(e.labels[0].label,e.size,16,!0)})).attr("height",(function(e){return 3*e.fontSize})).append("xhtml:div").attr("class","node-label-body").style("font-size",(function(e){return e.fontSize+"px"})).append("xhtml:div").text((function(e){return e.labels[0].label})),c((function(){$(".node-label-body div").each((function(e,t){let n=t.textContent.substring(0,t.textContent.length-1);let r=0;for(;r<200&&(t.scrollHeight>t.clientHeight||t.scrollWidth>t.clientWidth);)n=n.substring(0,n.length-1),t.textContent=n+"…",r++}))}),50)}(T),ne.on("tick",(function(){d3.geom.quadtree(Z.nodes);Z.nodes.length;p.attr("x1",(function(e){return U(e.source)})).attr("y1",(function(e){return q(e.source)})).attr("x2",(function(e){return U(e.target)})).attr("y2",(function(e){return q(e.target)})),h.attr("x",(function(e){let t=U(e.source),n=U(e.target);return e.x=.5*(t+n)})).attr("y",(function(e){let t=q(e.source),n=q(e.target);return e.y=.5*(t+n)})).attr("transform",(function(e){return"rotate("+function(e,t){const n={x:U(e.source),y:q(e.source)},r={x:U(e.target),y:q(e.target)};if(t)return 180*Math.atan2(r.y-n.y,r.x-n.x)/Math.PI;{const e=180*Math.atan2(r.y-n.y,r.x-n.x)/Math.PI;return e<=90&&e>=-90?e:(e>0?-1:1)*(180-Math.abs(e))}}(e,e.direction)+", "+e.x+", "+e.y+")"})),f.attr("cx",(function(e){return e.x})).attr("cy",(function(e){return e.y})),n.select(".node-loader").attr("x",(function(e){return e.x-e.size+3})).attr("y",(function(e){return e.y-e.size})),n.select(".loader-container").attr("cx",(function(e){return e.x})).attr("cy",(function(e){return e.y})),T.attr("x",(function(e){return e.x-1.75*e.size})).attr("y",(function(e){return e.y-3*e.fontSize/2})),d3.select(".pinned").attr("x",(function(e){return e.x})).attr("y",(function(e){return e.y})),ce()})),angular.isDefined(ae)&&ae.setLoadingState(!1),e.loading&&(e.loading=!1),d3.selectAll(".link-wrapper").each((function(){const e=$(this).attr("id").split(">")[0],t=$(this).attr("id").split(">")[1];d3.selectAll(".link").each((function(n){let r=F(n.source.iri),i=F(n.target.iri);if(r===t&&i===e){let e=r;e+=">",e+=i;const t=document.createTextNode(" ⟶");document.getElementById(e).lastChild.appendChild(t),n.direction="double"}}))})),d3.selectAll(".d3-actions-tip").remove(),ne.start()}function ce(){t.d3alpha=ne.alpha()}se();const le=new function(){function e(e,t){return"translate("+(t.x-14+(t.size+15)*Math.cos(e*Math.PI/180-Math.PI/2))+","+(t.y-14+(t.size+15)*Math.sin(e*Math.PI/180-Math.PI/2))+")"}this.closeIcon=void 0,this.expandIcon=void 0,this.collapseIcon=void 0,this.focusIcon=void 0,this.copyURIIcon=void 0,this.actionsTip=void 0,this.removeIcons=function(){this.closeIcon.remove("g"),this.expandIcon&&this.expandIcon.remove("g"),this.collapseIcon&&this.collapseIcon.remove("g"),this.focusIcon.remove("g"),this.copyURIIcon.remove("g"),this.closeIcon=void 0,this.expandIcon=void 0,this.collapseIcon=void 0,this.focusIcon=void 0,this.copyURIIcon=void 0,this.expandedState=!1},this.expandedState=!1,this.initIcons=function(n,r){const i=o()().attr("class","d3-tip d3-actions-tip").customPosition((function(){const e=d3.event.target.getBoundingClientRect();return{top:e.top-20+"px",left:e.right+10+"px"}})).html((function(e){return e}));re.call(i);n.isExpanded?(this.collapseIcon=d3.select(".menu-events").append("g").attr("class","collapse-icon").attr("name","collapse").attr("transform",(function(){return e(20,n)})),this.collapseIcon.append("circle").attr("cx",14).attr("cy",14).attr("r",13).style("fill","#eee"),this.collapseIcon.append("path").attr("d","M22.67,12a.59.59,0,0,1-.53.65l-6.88.72H15.2a.59.59,0,0,1-.59-.65l.72-6.88A.58.58,0,0,1,16,5.33a.59.59,0,0,1,.53.65L16,11.11,21.3,5.79a.64.64,0,0,1,.91.91L16.89,12,22,11.49A.59.59,0,0,1,22.67,12ZM12.59,14.75l-6.75.85a.59.59,0,0,0-.51.66.58.58,0,0,0,.66.51l4.95-.62-5.2,5.2a.64.64,0,1,0,.91.91l5.2-5.2L11.23,22a.59.59,0,0,0,.51.66h.07a.59.59,0,0,0,.59-.52l.85-6.75a.59.59,0,0,0-.17-.49A.58.58,0,0,0,12.59,14.75Z").style("fill","var(--onto-orange)"),this.collapseIcon.on("click",(function(){var e;(e=n).isExpanded=!1,Z.removeNodeLeafLinks(e),se()})).on("mouseover",(function(){i.show(this.getAttribute("name")),c.cancel(ie),c.cancel(oe)})).on("mouseout",(function(){i.hide(),oe=c((function(){ge()}),500)}))):(this.expandIcon=d3.select(".menu-events").append("g").attr("class","expand-icon").attr("name","expand").attr("transform",(function(){return e(20,n)})),this.expandIcon.append("circle").attr("cx",14).attr("cy",14).attr("r",13).style("fill","#eee"),this.expandIcon.append("path").attr("d","M22.37,6.28l-.72,6.88a.59.59,0,0,1-.59.53H21a.59.59,0,0,1-.53-.65L21,7.9l-5.32,5.32a.64.64,0,0,1-.91-.91L20.1,7,15,7.53a.59.59,0,0,1-.12-1.18l6.88-.72a.59.59,0,0,1,.65.65ZM12.89,20.34,7.95,21l5.2-5.2a.64.64,0,0,0-.91-.91L7,20.05l.62-4.95A.59.59,0,0,0,6.48,15l-.85,6.75a.59.59,0,0,0,.59.67h.07L13,21.52a.59.59,0,1,0-.15-1.18Z").style("fill","var(--onto-orange)"),this.expandIcon.on("click",(function(){he(n,!1,r)})).on("mouseover",(function(){i.show(this.getAttribute("name")),c.cancel(oe),c.cancel(ie)})).on("mouseout",(function(){i.hide(),oe=c((function(){ge()}),500)}))),this.focusIcon=d3.select(".menu-events").append("g").attr("class","focus-icon").attr("name","focus").attr("transform",(function(){return e(20,n)})),this.focusIcon.append("circle").attr("cx",14).attr("cy",14).attr("r",13).style("fill","#eee"),this.focusIcon.append("path").attr("d","M14.2,23.81a9.8,9.8,0,1,1,6.93-2.87h0A9.74,9.74,0,0,1,14.2,23.81Zm0-18.17a8.37,8.37,0,1,0,5.92,14.29h0A8.37,8.37,0,0,0,14.2,5.64Zm1.42,6.95a2,2,0,1,0,0,2.85A2,2,0,0,0,15.62,12.59Z").style("fill","var(--onto-orange)"),this.focusIcon.on("click",(function(){t.$broadcast("onRootNodeChange",n.iri)})).on("mouseover",(function(){i.show(this.getAttribute("name")),c.cancel(oe),c.cancel(ie)})).on("mouseout",(function(){i.hide(),oe=c((function(){ge()}),500)})),this.copyURIIcon=d3.select(".menu-events").append("g").attr("class","icon-link").attr("name","link").attr("transform",(function(){return e(20,n)})),this.copyURIIcon.append("circle").attr("cx",14).attr("cy",14).attr("r",13).style("fill","#eee"),this.copyURIIcon.append("path").attr("d","M 13.457031 10.164062 C 13.648438 10.164062 13.820312 10.242188 13.941406 10.363281 L 15.492188 11.859375 C 15.984375 12.332031 16.292969 12.992188 16.292969 13.714844 C 16.292969 14.441406 15.984375 15.097656 15.492188 15.574219 L 10.394531 20.496094 C 9.902344 20.972656 9.222656 21.265625 8.472656 21.265625 C 7.71875 21.265625 7.039062 20.972656 6.546875 20.496094 L 4.996094 19 C 4.507812 18.523438 4.203125 17.867188 4.203125 17.144531 C 4.203125 16.421875 4.507812 15.765625 4.996094 15.289062 L 7.542969 12.824219 C 7.667969 12.707031 7.84375 12.628906 8.035156 12.628906 C 8.417969 12.628906 8.726562 12.929688 8.726562 13.300781 C 8.726562 13.484375 8.648438 13.652344 8.523438 13.773438 L 5.976562 16.234375 C 5.738281 16.46875 5.589844 16.792969 5.589844 17.148438 C 5.589844 17.503906 5.738281 17.824219 5.976562 18.058594 L 7.527344 19.566406 C 7.773438 19.792969 8.105469 19.929688 8.472656 19.929688 C 8.835938 19.929688 9.167969 19.792969 9.414062 19.566406 L 14.511719 14.644531 C 14.753906 14.410156 14.90625 14.089844 14.90625 13.730469 C 14.90625 13.375 14.753906 13.054688 14.511719 12.820312 L 12.964844 11.324219 C 12.839844 11.203125 12.761719 11.039062 12.761719 10.855469 C 12.761719 10.488281 13.070312 10.1875 13.449219 10.1875 Z M 17.082031 3.976562 C 17.082031 3.976562 17.085938 3.976562 17.085938 3.976562 C 17.824219 3.976562 18.492188 4.261719 18.980469 4.722656 L 20.535156 6.203125 C 21.042969 6.679688 21.355469 7.34375 21.355469 8.082031 C 21.355469 8.792969 21.058594 9.441406 20.582031 9.914062 L 18.0625 12.402344 C 17.9375 12.527344 17.761719 12.605469 17.566406 12.605469 C 17.183594 12.605469 16.875 12.304688 16.875 11.9375 C 16.875 11.753906 16.949219 11.589844 17.070312 11.46875 L 19.605469 8.984375 C 19.847656 8.75 19.996094 8.429688 19.996094 8.070312 C 19.996094 7.714844 19.847656 7.394531 19.605469 7.160156 L 18.019531 5.667969 C 17.773438 5.445312 17.4375 5.304688 17.070312 5.300781 C 16.703125 5.304688 16.367188 5.453125 16.128906 5.691406 L 11.085938 10.667969 C 10.84375 10.898438 10.695312 11.222656 10.695312 11.578125 C 10.695312 11.933594 10.84375 12.257812 11.085938 12.488281 L 12.675781 13.980469 C 12.804688 14.101562 12.882812 14.273438 12.882812 14.457031 C 12.882812 14.828125 12.574219 15.128906 12.191406 15.128906 C 12.003906 15.128906 11.832031 15.054688 11.707031 14.9375 L 10.140625 13.457031 C 9.636719 12.980469 9.324219 12.316406 9.324219 11.582031 C 9.324219 10.863281 9.621094 10.214844 10.101562 9.742188 L 15.140625 4.765625 C 15.625 4.285156 16.304688 3.980469 17.054688 3.976562 Z M 17.082031 3.976562").style("fill","var(--onto-orange)"),this.copyURIIcon.on("click",(function(){j(n.iri),ge(),i.hide()})).on("mouseover",(function(){i.show("<div style='text-align: center;'><b>Copy to ClipBoard</b><br>"+n.iri+"</div>"),c.cancel(oe),c.cancel(ie)})).on("mouseout",(function(){i.hide(),oe=c((function(){ge()}),500)})),this.closeIcon=d3.select(".menu-events").append("g").attr("class","close-icon").attr("name","remove").attr("transform",(function(){return e(20,n)})),this.closeIcon.append("circle").attr("cx",14).attr("cy",14).attr("r",13).style("fill","#eee"),this.closeIcon.append("path").attr("d","M14.94,14l5.87-5.87a.66.66,0,1,0-.94-.94L14,13.06,8.13,7.19a.66.66,0,0,0-.94.94L13.06,14,7.19,19.87a.66.66,0,1,0,.94.94L14,14.94l5.87,5.87a.66.66,0,1,0,.94-.94Z").style("fill","var(--onto-orange)"),this.closeIcon.on("click",(function(){ue(n)})).on("mouseover",(function(){i.show(this.getAttribute("name")),c.cancel(oe),c.cancel(ie)})).on("mouseout",(function(){i.hide(),oe=c((function(){ge()}),500)})),this.animateMenu(n)},this.animateMenu=function(t){let n=0;let r=20;this.expandIcon&&this.expandIcon.transition().duration(100).style("opacity",1).ease("sin").attr("transform",(function(){return e(r,t)})).delay(n+=35),this.collapseIcon&&this.collapseIcon.transition().duration(100).style("opacity",1).ease("sin").attr("transform",(function(){return e(r,t)})).delay(n+=35),this.copyURIIcon.transition().duration(100).style("opacity",1).ease("sin").attr("transform",(function(){return r+=30,e(r,t)})).delay(n+=35),this.focusIcon.transition().duration(100).style("opacity",1).ease("sin").attr("transform",(function(){return r+=30,e(r,t)})).delay(n+=35),this.closeIcon.transition().duration(100).style("opacity",1).ease("sin").attr("transform",(function(){return r+=30,e(r,t)})).delay(n+=35),this.expandedState=!0}};function de(n,r,i){return e.showInfoPanel=!1,e.showPredicates=!1,e.showNodeInfo=!1,i.shiftKey&&(i.ctrlKey||i.metaKey)?(t.$broadcast("onRootNodeChange",n.iri),!1):i.ctrlKey||i.metaKey?(ue(n),!1):void 0!==e.openedNodeInfoPanel&&e.openedNodeInfoPanel===n?(e.pageslideExpanded=!1,e.openedNodeInfoPanel=void 0,!1):(me(n),!0)}function ue(e){Z.removeNode(e),se()}function pe(t){!function(t){e.nodeSelected=!0,null===t.data.types&&(t.data.types="greyColor"),Z=new K,E="translate(0, -70) scale(1)",M.translate([0,-70]),M.scale(1)}(t),fe(t)}function fe(t,n,r){let i=t.data;i=_.filter(i,(function(e){return-1===_.findIndex(Z.links,(function(t){return e.source===t.source.iri&&e.target===t.target.iri}))}));let o=[];const a=Z.tripleLinksCopy.values();for(let e=0;e<Z.tripleLinksCopy.size;e++){a.next().value.forEach(e=>{o.push(e)})}i=_.filter(i,(function(e){return-1===_.findIndex(o,(function(t){return e.source===t.source.iri&&e.target===t.target.iri}))})),i=_.filter(i,(function(e){return e.source!==e.target}));const c=function(e,t){let n=t.map((function(t){return t[e]}));return t.filter((function(t,r){return n.indexOf(t[e])===r}))}("iri",_.union(_.flatten(_.map(t.data,(function(e){return[{iri:e.source,isTriple:e.isTripleSource},{iri:e.target,isTriple:e.isTripleTarget}]}))))),d=_.map(Z.nodes,(function(e){return{iri:e.iri,isTriple:Boolean(e.isTriple)}})),u=Z.tripleNodes.values();for(let e=0;e<Z.tripleNodes.size;e++){u.next().value.forEach(e=>{d.push({iri:e.iri,isTriple:e.isTriple})})}const f=_.reject(c,(function(e){return _.some(d,e)}));if(0===f.length)(r||0===i.length)&&s.info(L.instant("graphexplore.error.node.connections")),Z.addAndMatchLinks(i),se();else{const t=[],r=[],o=O();_.forEach(f,(function(n,i){t.push(l({url:"rest/explore-graph/node",method:"GET",params:{iri:n.isTriple?H(n.iri):n.iri,config:e.configLoaded.id,languages:e.shouldShowSettings()?o.languages:[],includeInferred:o.includeInferred,sameAsState:o.sameAsState}}).then((function(e){r[i]=e.data})))})),p.all(t).then((function(){_.forEach(r,(function(e,t){const i=2*Math.PI*t/r.length,o=(n?n.x:0)+1e3*Math.cos(i)/3,a=(n?n.y:0)+1e3*Math.sin(i)/3;e.isTriple?Z.addTriple(e,o,a):Z.addNode(e,o,a)})),Z.addAndMatchLinks(i),n&&(n.isExpanded=!0),se()}))}}function he(t,n,r){if(ae.getLoadingState())return;ae.init(t,r);const i=O(),o=t.iri;l({url:"rest/explore-graph/links",method:"GET",params:{iri:o,linksLimit:i.linksLimit,includeInferred:i.includeInferred,config:e.configLoaded.id,preferredTypes:e.shouldShowSettings()?i.preferredTypes:[],rejectedTypes:e.shouldShowSettings()?i.rejectedTypes:[],preferredPredicates:e.shouldShowSettings()?i.preferredPredicates:[],rejectedPredicates:e.shouldShowSettings()?i.rejectedPredicates:[],preferredTypesOnly:e.shouldShowSettings()?i.preferredTypesOnly:[],preferredPredicatesOnly:e.shouldShowSettings()?i.preferredPredicatesOnly:[],languages:e.shouldShowSettings()?i.languages:[],sameAsState:i.sameAsState,includeSchema:i.includeSchema}}).then((function(e){fe(e,t,n)}),(function(t){const n=getError(t.data);s.error(n,L.instant("graphexplore.error.exploring.node")),e.loading=!1,ae.setLoadingState(!1)}))}function ge(){angular.isDefined(le)&&le.expandedState&&le.removeIcons()}function me(t){ne.stop(),e.openedNodeInfoPanel=t,e.showNodeInfo=!0,e.showFilter=!1,e.showPredicates=!1,e.nodeLabels=t.labels,e.nodeTypes=t.types,e.rdfRank=t.rdfRank,e.nodeIri=t.iri,e.resourceType=t.isTriple?"triple":"uri",e.encodedIri=t.isTriple?encodeURIComponent(H(t.iri)):encodeURIComponent(t.iri),e.showInfoPanel=!0,e.rdfsLabel=t.labels[0].label,e.rdfsComment=t.comment,e.expanded=!1,e.propertiesQueryObj.query="",e.dataNodeKeysQuery="";const n=O();l.get("rest/explore-graph/properties",{params:{iri:t.isTriple?H(t.iri):t.iri,config:e.configLoaded.id,languages:e.shouldShowSettings()?n.languages:[],includeInferred:n.includeInferred,sameAsState:n.sameAsState,rejectedPredicates:e.shouldShowSettings()?n.rejectedPredicates:[]}}).then((function(t){e.data=_.mapKeys(t.data,(function(t,n){return e.replaceIRIWithPrefix(n)})),e.propertiesObj.items=[],_.forEach(e.data,(function(t,n){e.propertiesObj.items.push({key:n,value:t})})),e.nodeImage=void 0,e.propertiesNotFiltered=e.propertiesObj.items;const n=_.find(e.propertiesObj.items,(function(e){return"image"===e.key}));n&&(e.nodeImage=n.value[0].v),e.propertiesObj.items=_.reject(e.propertiesObj.items,(function(e){return"image"===e.key})),e.propertiesNotFiltered=e.propertiesObj.items}),(function(e){s.warning(getError(e.data),"Error")}))}function ye(e){ve("predicate","var(--onto-orange-dark)",e),ve("predicates","var(--onto-orange-dark)",e);let t=document.getElementsByClassName("link");t&&_.each(t,(function(t){let n=t.__data__;(n.source.iri.indexOf(e.iri)>=0||n.target.iri.indexOf(e.iri)>=0)&&(t.style.stroke="var(--onto-orange-dark)",t.style.strokeWidth=4)}));let n=document.getElementsByClassName("arrow-marker");n&&_.each(n,(function(t){let n=t.__data__;(n.source.iri.indexOf(e.iri)>=0||n.target.iri.indexOf(e.iri)>=0)&&(t.style.stroke="var(--onto-orange-dark)",t.__data__.target.isTriple||t.setAttribute("refX","23"))}))}function ve(e,t,n){let r=document.getElementsByClassName(e);r&&_.each(r,(function(e){let r=e.__data__;n?((r.source.iri.indexOf(n.iri)>=0||r.target.iri.indexOf(n.iri)>=0)&&(e.style.fill=t),B(n.iri)===W(r)&&(e.textContent=n.pred,e.style.fill=t),n.oppLinkIRI&&n.oppLinkIRI===W(r)&&(e.textContent=n.oppTriplePred,e.style.fill=t)):(e.style.fill=t,e.textContent=Ie(r))}))}function xe(){_.each(e.predicates,(function(e){let t=document.getElementById(e.linkId+e.nodeIndex);t&&(t.style.fontWeight="normal")}));let t=document.getElementsByClassName("link");t&&_.each(t,(function(e){e.style.stroke="#999",e.style.strokeWidth=1})),ve("predicate",""),ve("predicates","");let n=document.getElementsByClassName("arrow-marker");n&&_.each(n,(function(e){e.style.stroke="#999",e.__data__.target.isTriple||e.setAttribute("refX","59")}))}function Se(e){let t=B(e);if(Z.tripleNodes.has(t))return Z.tripleNodes.get(t).find(t=>t.iri===e)}function Ie(e){return e.predicates.length>1?e.predicates.length+" predicates":we(e.predicates[0])}function we(t){const n=e.replaceIRIWithPrefix(t);return n.length===t.length?t.split("/")[t.split("/").length-1]:n}e.toggleSidePanel=function(){e.pageslideExpanded=!e.pageslideExpanded},e.closeInfoPanel=function(){e.pageslideExpanded=!1,e.openedNodeInfoPanel=void 0,e.predicates=[],R=null,c((function(){e.showInfoPanel=!1}))},e.clickLink=function(t){if(Z.tripleNodes.has(t.linkId)){xe();let n=Z.tripleNodes.get(t.linkId)[t.nodeIndex];me(n),e.showPredicates=!0;let r=document.getElementById(t.linkId+t.nodeIndex);r&&(r.style.fontWeight="bold");let i={};const o=Z.tripleLinksCopy.values();for(let e=0;e<Z.tripleLinksCopy.size;e++){let e=o.next().value;e.length>1&&e.every(t=>t.source.iri===n.iri?(i.iri=e[0].source.iri,t.target.isTriple&&(i.oppLinkIRI=B(t.target.iri),i.oppTriplePred=we(t.target.iri.split(" ")[1])),i.pred=we(n.iri.split(" ")[1]),1===t.predicates.length&&(i.linkPred=t.predicates[0]),!1):t.target.iri!==n.iri||(i.iri=e[0].target.iri,t.source.isTriple&&(i.oppLinkIRI=B(t.source.iri),i.oppTriplePred=we(t.source.iri.split(" ")[1])),i.pred=we(n.iri.split(" ")[1]),1===t.predicates.length&&(i.linkPred=t.predicates[0]),!1))}i.iri||(i.iri=n.iri,i.pred=we(n.iri.split(" ")[1])),ye(i)}},e.splitPredicate=function(e){return e.split("/")[e.split("/").length-1]},e.getActiveRepository=function(){return n.getActiveRepository()},e.isLoadingLocation=function(){return n.isLoadingLocation()},e.hasActiveLocation=function(){return n.hasActiveLocation()},e.rotate=function(e){ge();const t=2*(e?1:-1)*Math.PI/180,n=Math.cos(t),r=Math.sin(t);d3.selectAll(".node-wrapper").each((function(e){e.x=n*(e.x-500)+r*(e.y-500)+500,e.y=-r*(e.x-500)+n*(e.y-500)+500,e.fixed&&(e.px=e.x,e.py=e.y)})),ne.resume()},e.openUri=function(t,n){if(!n){const n={};e.configLoaded.id!==e.defaultGraphConfig.id&&(n.config=e.configLoaded.id),n.uri=t,e.pushHistory(n,{uri:t,config:e.configLoaded})}e.$broadcast("onRootNodeChange",t)},e.saveOrUpdateGraph=function(){const t=JSON.stringify(Z.copyState()),n={id:e.lastSavedGraphId,name:e.lastSavedGraphName,data:t,shared:e.shared};n.id?e.saveGraphModal("update",n):e.saveGraphModal("new",n)},e.renameSavedGraph=function(t){e.saveGraphModal("rename",{id:t.id,name:t.name,config:t.config,shared:t.shared})};const ke=function(t){I.editSavedGraph(t).success((function(){e.lastSavedGraphName=t.name,e.shared=t.shared,e.refreshSavedGraphs(),s.success(L.instant("graphexplore.saved.graph.was.edited",{name:t.name}))})).error((function(e){const t=getError(e);s.error(t,L.instant("graphexplore.error.cannot.edit"))}))};e.saveGraphModal=function(t,n,r){y.open({templateUrl:"js/angular/graphexplore/templates/modal/save-graph.html",controller:"SaveGraphModalCtrl",resolve:{data:function(){return{mode:t,graph:n,graphExists:r,shared:n.shared}}}}).result.then((function(t){if(t.restart)e.saveGraphModal(t.mode,t.graph,!1);else switch(t.mode){case"new":!function(t){e.configLoaded&&(t.config=e.configLoaded.id),I.addNewSavedGraph(t).success((function(n,r,i){e.lastSavedGraphName=t.name,e.lastSavedGraphId=i()["x-saved-graph-id"],e.shared=t.shared,e.refreshSavedGraphs(),s.success(L.instant("graphexplore.saved.graph",{name:t.name}))})).error((function(n,r){if(422===r)e.saveGraphModal("new",t,!0);else{const e=getError(n);s.error(e,L.instant("graphexplore.error.cannot.create.graph"))}}))}(t.graph);break;case"update":case"rename":ke(t.graph)}}))},e.refreshSavedGraphs=function(){I.getSavedGraphs().success((function(t){e.savedGraphs=t})).error((function(e){const t=getError(e);s.error(t,L.instant("graphexplore.error.getting.saved.graphs"))}))},e.loadSavedGraph=function(t,n){t.owner?(e.lastSavedGraphName=t.name,e.lastSavedGraphId=t.id,e.shared=t.shared,e.configLoaded=e.findConfigById(t.config)):(e.lastSavedGraphName=null,e.lastSavedGraphId=null,e.shared=t.shared),e.configLoaded||(e.configLoaded=e.defaultGraphConfig),f.url("?saved="+t.id),Z.restoreState(JSON.parse(t.data)),n||e.pushHistory({saved:t.id},{savedGraph:t})},e.copyToClipboardSavedGraph=function(e){j([location.protocol,"//",location.host,location.pathname,"?saved=",e.id].join(""))},e.deleteSavedGraph=function(t){m.openSimpleModal({title:L.instant("common.confirm"),message:L.instant("graphexplore.confirm.delete.graph",{graphName:t.name}),warning:!0}).result.then((function(){!function(t){I.deleteSavedGraph(t).success((function(){e.refreshSavedGraphs(),s.success(L.instant("graphexplore.saved.graph.was.deleted",{name:t.name}))})).error((function(e){const t=getError(e);s.error(t,L.instant("graphexplore.error.cannot.delete"))}))}(t)}))},e.openIRI=function(t,n){return n.shiftKey?e.$broadcast("onRootNodeChange",t):window.open(t,"_blank"),!1},e.togglePinAllNodes=function(){ge();const t=e.numberOfPinnedNodes<=0;e.numberOfPinnedNodes=0,d3.selectAll(".node").each((function(n){n.fixed=t,t&&e.numberOfPinnedNodes++})),ne.resume()},$("body").on("keydown",(function(t){!C.isActive()&&"input"!==t.target.nodeName&&e.nodeSelected&&(37===t.keyCode?e.rotate(!0):39===t.keyCode&&e.rotate(!1))})),e.getLiteralFromPropValue=function(e){return e.substring(e.indexOf(":")+1)}}function c(e,t,n,r){switch(e.mode=n.mode,e.graph=angular.copy(n.graph),e.graphExists=n.graphExists,e.mode){case"new":e.title=r.instant("graphexplore.create.new.graph"),e.okButtonText=r.instant("common.create.btn");break;case"update":e.title=r.instant("graphexplore.update"),e.okButtonText=r.instant("common.save.btn");break;case"rename":e.title=r.instant("graphexplore.rename"),e.okButtonText=r.instant("common.save.btn")}e.ok=function(){e.form.$valid&&t.close({graph:e.graph,mode:e.mode})},e.saveNew=function(){e.graph.name=e.graph.name+" (new)",t.close({graph:e.graph,mode:"new",restart:!0})},e.cancel=function(){t.dismiss("cancel")}}angular.module("graphdb.framework.graphexplore.controllers.graphviz",["ui.scroll.jqlite","ui.scroll","toastr","ui.bootstrap","ngTagsInput","graphdb.framework.utils.localstorageadapter"]).controller("GraphsVisualizationsCtrl",s).controller("SaveGraphModalCtrl",c).config(["$uibTooltipProvider",function(e){e.options({appendToBody:!0})}]),s.$inject=["$scope","$rootScope","$repositories","$licenseService","toastr","$timeout","$http","ClassInstanceDetailsService","AutocompleteRestService","$q","$location","$jwtAuth","UiScrollService","ModalService","$uibModal","$window","LocalStorageAdapter","LSKeys","SavedGraphsRestService","GraphConfigRestService","RDF4JRepositoriesRestService","$translate","GuidesService"],c.$inject=["$scope","$uibModalInstance","data","$translate"]}}]);
2
+ //# sourceMappingURL=27.78b1f59da6f702484766.bundle.js.map