graphdb-workbench 10.0.0-M2-1 → 10.5.1

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 (728) hide show
  1. package/README.md +10 -2
  2. package/dist/0.f8448f998a59db17e94e.bundle.js +25 -0
  3. package/dist/1.46d9ecd4119bac145f3b.bundle.js +81 -0
  4. package/dist/10.a26ae97905866618b14e.bundle.js +7 -0
  5. package/dist/100.aef098a33fbb925e0d2d.bundle.js +1 -0
  6. package/dist/101.42eacc63e0fb5834b78a.bundle.js +1 -0
  7. package/dist/102.4f78eeab62aac245879e.bundle.js +1 -0
  8. package/dist/103.f38f3cd69ff610955aaf.bundle.js +1 -0
  9. package/dist/104.2e21f1462021dca17db1.bundle.js +1 -0
  10. package/dist/105.76381cb7984bcbc9ba9a.bundle.js +1 -0
  11. package/dist/106.23e14c6b280756d04533.bundle.js +1 -0
  12. package/dist/107.75e40619cb45972dc39f.bundle.js +1 -0
  13. package/dist/108.f09444e990531d27e0be.bundle.js +1 -0
  14. package/dist/109.ef97393181ee534042d8.bundle.js +1 -0
  15. package/dist/11.0fc995ac096734b915c6.bundle.js +1 -0
  16. package/dist/110.d59b8565d2255a282669.bundle.js +1 -0
  17. package/dist/111.fff9f089f65f01013923.bundle.js +1 -0
  18. package/dist/112.5bd3fcd7c37f1024fe26.bundle.js +1 -0
  19. package/dist/113.2fa29eca15d32deb3320.bundle.js +1 -0
  20. package/dist/114.d78615087abe68db7b2f.bundle.js +1 -0
  21. package/dist/115.558ce3da00d3be87d18a.bundle.js +1 -0
  22. package/dist/116.577aab1d9bafd0053623.bundle.js +1 -0
  23. package/dist/117.c20f037799328c931eba.bundle.js +1 -0
  24. package/dist/118.39c8b47405ab93c40847.bundle.js +1 -0
  25. package/dist/119.19ee7b3ae143f817c5b1.bundle.js +1 -0
  26. package/dist/12.7877dd6008df9acf44e1.bundle.js +1 -0
  27. package/dist/120.b944d5e63424d4307fc8.bundle.js +1 -0
  28. package/dist/121.3a8954e4c885c56a9817.bundle.js +1 -0
  29. package/dist/122.71a8cf0330504672fffc.bundle.js +1 -0
  30. package/dist/123.c6957ecb441d8a09932a.bundle.js +1 -0
  31. package/dist/124.27e85a0284e2ebeb7d6e.bundle.js +1 -0
  32. package/dist/125.9e925ae0dd1217d81d89.bundle.js +1 -0
  33. package/dist/126.a32b57d6108545746ed3.bundle.js +1 -0
  34. package/dist/127.90d1975083eef3d4a715.bundle.js +1 -0
  35. package/dist/128.544f1a82e19dd245c7de.bundle.js +1 -0
  36. package/dist/129.64ec11449e0c734500c2.bundle.js +1 -0
  37. package/dist/13.fe78f15334507bcc08ae.bundle.js +1 -0
  38. package/dist/130.f8e68ac86e17b3622d40.bundle.js +1 -0
  39. package/dist/131.4868fc3a837277c30273.bundle.js +1 -0
  40. package/dist/132.7815ab1168a254cb0d47.bundle.js +1 -0
  41. package/dist/133.f87e1685dd5ed920f9b5.bundle.js +1 -0
  42. package/dist/134.8998ff724a077ecff2ce.bundle.js +1 -0
  43. package/dist/135.c07268699f76ef7a02ff.bundle.js +1 -0
  44. package/dist/136.908f1f6fe3054f99b560.bundle.js +1 -0
  45. package/dist/137.8262ca9736e9818284cd.bundle.js +1 -0
  46. package/dist/138.8c149cad49010a65b3ca.bundle.js +1 -0
  47. package/dist/139.97ee12e7a3c05be03456.bundle.js +1 -0
  48. package/dist/14.0bb211bcdc29c6d8b3b5.bundle.js +29 -0
  49. package/dist/140.6b3c57ffec700081328b.bundle.js +1 -0
  50. package/dist/141.4981056237955a34b2e2.bundle.js +1 -0
  51. package/dist/142.4d60c1795eed3a9570f9.bundle.js +1 -0
  52. package/dist/143.b7057852f7859cf39e75.bundle.js +1 -0
  53. package/dist/144.3f85f8eacae521d52355.bundle.js +1 -0
  54. package/dist/145.9281069e9e77978b640a.bundle.js +1 -0
  55. package/dist/146.51d2987de4defe7df7c7.bundle.js +1 -0
  56. package/dist/147.54016549674d35bc2869.bundle.js +1 -0
  57. package/dist/148.ad95b30f508a0bd02970.bundle.js +1 -0
  58. package/dist/149.8dd1281617389f8c189b.bundle.js +1 -0
  59. package/dist/15.6a74adbd30b4d2930e10.bundle.js +1 -0
  60. package/dist/150.5e0ee4350f8edd0e7b9a.bundle.js +1 -0
  61. package/dist/151.6b81c99a1ec1b184b82d.bundle.js +1 -0
  62. package/dist/152.2e1aa910a68f0086825b.bundle.js +1 -0
  63. package/dist/153.7a64973115bdaec26406.bundle.js +1 -0
  64. package/dist/154.5938248b52830d0a80a2.bundle.js +1 -0
  65. package/dist/155.a4511849c1001c5f2ba6.bundle.js +1 -0
  66. package/dist/156.bbcaf52acb0cecbc6257.bundle.js +1 -0
  67. package/dist/157.51181d03518519f84b5e.bundle.js +1 -0
  68. package/dist/158.640e412f6002ee1d7341.bundle.js +1 -0
  69. package/dist/159.10457cbb053c1315d93a.bundle.js +1 -0
  70. package/dist/16.2f60fbeaccd97aefaae2.bundle.js +1 -0
  71. package/dist/160.c46bfdf09357a4c62a53.bundle.js +1 -0
  72. package/dist/{103.05b86c1b360c05133b49.bundle.js → 161.0f35ee11981f0ea0455f.bundle.js} +1 -2
  73. package/dist/{104.089568ff7c49a29de892.bundle.js → 162.fef28120701e7d200b01.bundle.js} +1 -2
  74. package/dist/{105.81b74220f7fa646e719b.bundle.js → 163.38565d40ac5f71d1c875.bundle.js} +1 -2
  75. package/dist/164.b2116f472aa847618aee.bundle.js +1 -0
  76. package/dist/168.2d4b5a75da5430c73efc.bundle.js +1 -0
  77. package/dist/169.6897f56896e3664e8b53.bundle.js +1 -0
  78. package/dist/17.2bff7856b13fd72e2db4.bundle.js +1 -0
  79. package/dist/170.d5c0d475c5b6ad84ef77.bundle.js +1 -0
  80. package/dist/171.60cdc91b2bf682a20911.bundle.js +1 -0
  81. package/dist/172.1fb9ead3e508a7cfa5f3.bundle.js +1 -0
  82. package/dist/173.95602c81a2692624a015.bundle.js +1 -0
  83. package/dist/174.aac1982e67b5ca1731c1.bundle.js +1 -0
  84. package/dist/175.5e49a28397900168f816.bundle.js +1 -0
  85. package/dist/176.2e6d1a9f4eac4fdd8422.bundle.js +1 -0
  86. package/dist/177.3b6aabf3c4db8519ea74.bundle.js +1 -0
  87. package/dist/178.e10370553beb5c6bb839.bundle.js +1 -0
  88. package/dist/179.784cbd536b8e636c1272.bundle.js +1 -0
  89. package/dist/18.d6be3e6583bf3dacd54f.bundle.js +2 -0
  90. package/dist/180.d37db50f3ce1b3a04a65.bundle.js +1 -0
  91. package/dist/181.f307cabdc4ed7a10ff64.bundle.js +1 -0
  92. package/dist/182.e8fe148e90fcd334b9b9.bundle.js +1 -0
  93. package/dist/183.a086e00d4dc3c7855611.bundle.js +1 -0
  94. package/dist/184.ff8a39692d0ff666c9e6.bundle.js +1 -0
  95. package/dist/185.8b9f0b866e848f8a1aac.bundle.js +1 -0
  96. package/dist/186.798880846274da7033da.bundle.js +1 -0
  97. package/dist/{120.3b0b67fbfa81ec95e044.bundle.js → 187.eb92a35d38294bc21703.bundle.js} +1 -2
  98. package/dist/{121.ff452d05188836228deb.bundle.js → 188.641582484af80415d29a.bundle.js} +1 -2
  99. package/dist/189.7ccbb0ef67513ae7001a.bundle.js +1 -0
  100. package/dist/19.c2a5c3e7a49a4acba486.bundle.js +2 -0
  101. package/dist/{123.289bb9a87ce416004c0a.bundle.js → 190.a3609218c5d8e873a46f.bundle.js} +1 -2
  102. package/dist/191.4c817606bf66c16d9ad1.bundle.js +1 -0
  103. package/dist/{125.51ff26fe7687752811e4.bundle.js → 192.21f366a1ea7e6905f120.bundle.js} +1 -2
  104. package/dist/193.4d40b788bd7ddcf16788.bundle.js +1 -0
  105. package/dist/{127.4d0a2164fb95df43ea22.bundle.js → 194.0170093f1daf20e82b5f.bundle.js} +1 -2
  106. package/dist/{128.c7a3530622ede2f34e72.bundle.js → 195.d7d8af61458f9416878f.bundle.js} +1 -2
  107. package/dist/{129.2d32313059ae96dba010.bundle.js → 196.6e6b7589cd1342a0b2b5.bundle.js} +1 -2
  108. package/dist/{130.7302112cf14a10bd1306.bundle.js → 197.c071fa1fe9e081a3b053.bundle.js} +1 -2
  109. package/dist/{131.eb262b5100305bdc23ee.bundle.js → 198.3c5ca9ac5a745b4b23a1.bundle.js} +1 -2
  110. package/dist/199.00ac5221a334189ea09a.bundle.js +1 -0
  111. package/dist/2.78b4e53269171c9c08a5.bundle.js +1 -0
  112. package/dist/20.8fd969e3860ddffedcc3.bundle.js +1 -0
  113. package/dist/{133.f855496341ba657eb673.bundle.js → 200.aa3f4dcf9cf98409dbf5.bundle.js} +1 -2
  114. package/dist/201.a1b147e78f43a3bc99c3.bundle.js +1 -0
  115. package/dist/202.20e71b18f57e7d234ff0.bundle.js +1 -0
  116. package/dist/{136.74f131c98a163b48e3df.bundle.js → 203.0219c2ba2d4fe4881af2.bundle.js} +1 -2
  117. package/dist/204.cc169603e18b84e7e65b.bundle.js +1 -0
  118. package/dist/{138.9111fe731587313e4574.bundle.js → 205.99fb3c89cd9b9183ddbf.bundle.js} +1 -2
  119. package/dist/206.43b04d2170165e13353c.bundle.js +1 -0
  120. package/dist/207.798c195e1d7d3f301131.bundle.js +1 -0
  121. package/dist/208.34f042066a757f4fd8c0.bundle.js +1 -0
  122. package/dist/{142.5ced0a8e7a08aea7988f.bundle.js → 209.288844c6a42ff4d5685a.bundle.js} +1 -2
  123. package/dist/21.c981976c6528073c0a2f.bundle.js +1 -0
  124. package/dist/210.1ac38e393ca959703d4b.bundle.js +1 -0
  125. package/dist/211.d2721b9785e609e2f817.bundle.js +1 -0
  126. package/dist/212.b6b19c939f21132b451c.bundle.js +1 -0
  127. package/dist/213.5a5116f764e6357e53ab.bundle.js +1 -0
  128. package/dist/{147.f6bd445276a200981cff.bundle.js → 214.a2640be51c42d820bb83.bundle.js} +1 -2
  129. package/dist/215.209396a71f130477e2b3.bundle.js +1 -0
  130. package/dist/216.16e2e982acc750b4045a.bundle.js +1 -0
  131. package/dist/217.8540eb1d1a0946e72dbf.bundle.js +1 -0
  132. package/dist/218.ef33580c82d20f39f75f.bundle.js +1 -0
  133. package/dist/219.1652bc940cdd0088dc18.bundle.js +1 -0
  134. package/dist/22.9d339503774f4f6c0a8b.bundle.js +1 -0
  135. package/dist/{153.ebc378a7a60222b69484.bundle.js → 220.f8f9c348b1fc0cc72bd6.bundle.js} +1 -2
  136. package/dist/221.b18a92f0ba880edaebbf.bundle.js +1 -0
  137. package/dist/222.a52ebecd1d5201437ebe.bundle.js +1 -0
  138. package/dist/23.87ca8226d464e3699b8e.bundle.js +3 -0
  139. package/dist/24.9076b75f45ce0579f7be.bundle.js +1 -0
  140. package/dist/25.073791b8dd02c5b31183.bundle.js +1 -0
  141. package/dist/26.6e06be7172a866ad45f9.bundle.js +2 -0
  142. package/dist/27.5152c2a1f3b1369e21b0.bundle.js +1 -0
  143. package/dist/28.90b784e728e3d5e4c6aa.bundle.js +1 -0
  144. package/dist/29.e2309b858706718f1732.bundle.js +1 -0
  145. package/dist/3.cf89087c137e759ecd19.bundle.js +27 -0
  146. package/dist/30.32fb84930c42bae43a74.bundle.js +1 -0
  147. package/dist/31.31b7b4bd073b82c09fda.bundle.js +1 -0
  148. package/dist/32.6725d94946764db833b8.bundle.js +1 -0
  149. package/dist/33.fa9f0e662060f2e97267.bundle.js +1 -0
  150. package/dist/34.af22bc6d5ed2bcb72a09.bundle.js +1 -0
  151. package/dist/35.e601e19e63c6ddaf2484.bundle.js +1 -0
  152. package/dist/36.df47a70d8efbf1cd033b.bundle.js +1 -0
  153. package/dist/37.085cdb373f74d55eee07.bundle.js +2 -0
  154. package/dist/38.fc172c7b0d24ab0f8a35.bundle.js +1 -0
  155. package/dist/39.5ca9fa51ec3c63459317.bundle.js +1 -0
  156. package/dist/4.851f9ade6202116ecfb9.bundle.js +1 -0
  157. package/dist/40.309ec5212fd53fe696bb.bundle.js +1 -0
  158. package/dist/41.3870740f1d24570cb415.bundle.js +1 -0
  159. package/dist/42.b926c2c8620df5c7ed6d.bundle.js +1 -0
  160. package/dist/43.d4551e1f6cac0a1a77e5.bundle.js +1 -0
  161. package/dist/44.46c9e2d54a9f07d78368.bundle.js +1 -0
  162. package/dist/45.a916daee1f0c6873c890.bundle.js +1 -0
  163. package/dist/46.4f57238bd032edc81d6d.bundle.js +1 -0
  164. package/dist/47.4fbfdaa63628c501a30c.bundle.js +1 -0
  165. package/dist/48.3fbd50adcb0c7dd7ec60.bundle.js +1 -0
  166. package/dist/49.0707795b3b6e40387da8.bundle.js +1 -0
  167. package/dist/5.7cfbc07050f137932ffe.bundle.js +1 -0
  168. package/dist/50.8f6cc698b42c96f2b41f.bundle.js +1 -0
  169. package/dist/51.514a339efd6cd11db0f8.bundle.js +1 -0
  170. package/dist/52.410a7d8b4cb433fb24ca.bundle.js +1 -0
  171. package/dist/53.174d18435f7bf3bf05a0.bundle.js +1 -0
  172. package/dist/54.7cb3bd3ae8055e350629.bundle.js +1 -0
  173. package/dist/55.f0762e755ba58cbaac26.bundle.js +1 -0
  174. package/dist/56.3b0312e77f8607a4d957.bundle.js +1 -0
  175. package/dist/57.dfb7a710da8ca09c725b.bundle.js +1 -0
  176. package/dist/58.ac0fa95bbbe4b2dfb0fc.bundle.js +1 -0
  177. package/dist/59.273ffcd48e856d2752ff.bundle.js +1 -0
  178. package/dist/6.c5eea752e1f541f494e8.bundle.js +1 -0
  179. package/dist/60.00a29320ea162becd718.bundle.js +1 -0
  180. package/dist/61.3794de8b6d022738bafa.bundle.js +1 -0
  181. package/dist/62.cf39ad55adb1616560ec.bundle.js +1 -0
  182. package/dist/63.8880f667c958d12b338b.bundle.js +1 -0
  183. package/dist/64.fdd90fedc8a5dc3cacaf.bundle.js +1 -0
  184. package/dist/65.cdc961a8042c385c49c6.bundle.js +1 -0
  185. package/dist/66.c3b906de2fcf69089b7b.bundle.js +1 -0
  186. package/dist/67.9c851e5930459a5f5903.bundle.js +1 -0
  187. package/dist/68.05bba948c414a1e21c8f.bundle.js +1 -0
  188. package/dist/69.c5561c83fe410ea9a908.bundle.js +1 -0
  189. package/dist/7.14f008aaac190939acd3.bundle.js +7 -0
  190. package/dist/70.f2557c225be5923bab24.bundle.js +1 -0
  191. package/dist/71.e9c3c5ccc70f443c97cf.bundle.js +1 -0
  192. package/dist/72.0780a8424293909f94a4.bundle.js +1 -0
  193. package/dist/73.57e88cee0af3f67aee77.bundle.js +1 -0
  194. package/dist/74.48e90caf0b5ecd351f1d.bundle.js +1 -0
  195. package/dist/75.c75a824264d0e67421ed.bundle.js +1 -0
  196. package/dist/76.2ad0f5373462bc70bebf.bundle.js +1 -0
  197. package/dist/77.303a075d21928354102c.bundle.js +1 -0
  198. package/dist/78.66f3e9630550f20287ff.bundle.js +1 -0
  199. package/dist/79.29d39a29721f936ae688.bundle.js +1 -0
  200. package/dist/8.b5e29f80f8a5766d70d5.bundle.js +2 -0
  201. package/dist/80.8af0388db859fcc9fbf3.bundle.js +1 -0
  202. package/dist/{47.686e599732ae6f41120c.bundle.js → 81.2ff1f5047ab4e0591585.bundle.js} +1 -2
  203. package/dist/82.27bb51dfeb4898504e96.bundle.js +1 -0
  204. package/dist/83.a59d34bc50cf323af43d.bundle.js +1 -0
  205. package/dist/84.a4ee7bb5d3ed2e6ead5e.bundle.js +1 -0
  206. package/dist/{51.895a3dacdc3a8eaee275.bundle.js → 85.1f1b07562fbf97ab3e11.bundle.js} +1 -2
  207. package/dist/86.637667a4555ae621aff0.bundle.js +1 -0
  208. package/dist/87.b76338a62297ad83960b.bundle.js +1 -0
  209. package/dist/88.532e7295b49b1071d45c.bundle.js +1 -0
  210. package/dist/89.90bb1cf65f183ecce47c.bundle.js +1 -0
  211. package/dist/9.610b595b60a0fc51466a.bundle.js +1 -0
  212. package/dist/90.683c4d5b142356f274ef.bundle.js +1 -0
  213. package/dist/{56.91947e80d8e04223ac58.bundle.js → 91.2437dfc2ea1bc89f53f3.bundle.js} +1 -2
  214. package/dist/92.a12cfd3b602e98b344de.bundle.js +1 -0
  215. package/dist/93.a5cb6192d32cb016bb60.bundle.js +1 -0
  216. package/dist/94.f6a3e7628449796419b6.bundle.js +1 -0
  217. package/dist/95.15f0e472c49c81a68c3a.bundle.js +1 -0
  218. package/dist/96.2bf3b75fb0efb6b9e7e8.bundle.js +1 -0
  219. package/dist/97.bd1988af419f7373b569.bundle.js +1 -0
  220. package/dist/98.060c6842b3a8ed94dd20.bundle.js +1 -0
  221. package/dist/{64.ac922cb38c3ff6c431fb.bundle.js → 99.6360b70da56083cd76fe.bundle.js} +1 -2
  222. package/dist/bundle.39b836d40f0926aeec16.bundle.js +91 -0
  223. package/dist/css/aclmanagement.css +114 -0
  224. package/dist/css/angular-tooltips.css +144 -0
  225. package/dist/css/autocomplete-select.css +62 -0
  226. package/dist/css/backup-and-restore.css +7 -0
  227. package/dist/css/bootstrap-graphdb-theme-dark-auto.css +36 -0
  228. package/dist/css/bootstrap-graphdb-theme.css +514 -252
  229. package/dist/css/clustermanagement.css +145 -266
  230. package/dist/css/common.css +105 -0
  231. package/dist/css/dependencies.css +4 -4
  232. package/dist/css/domain-range-graph.css +3 -3
  233. package/dist/css/explore.css +7 -1
  234. package/dist/css/export.css +13 -9
  235. package/dist/css/find.css +2 -3
  236. package/dist/css/fonts/icons.eot +0 -0
  237. package/dist/css/fonts/icons.svg +14 -5
  238. package/dist/css/fonts/icons.ttf +0 -0
  239. package/dist/css/fonts/icons.woff +0 -0
  240. package/dist/css/fonts/jetbrains-mono-v12-vietnamese_latin-ext_latin_greek_cyrillic-ext_cyrillic-600.woff +0 -0
  241. package/dist/css/fonts/jetbrains-mono-v12-vietnamese_latin-ext_latin_greek_cyrillic-ext_cyrillic-600.woff2 +0 -0
  242. package/dist/css/fonts/jetbrains-mono-v12-vietnamese_latin-ext_latin_greek_cyrillic-ext_cyrillic-600italic.woff +0 -0
  243. package/dist/css/fonts/jetbrains-mono-v12-vietnamese_latin-ext_latin_greek_cyrillic-ext_cyrillic-600italic.woff2 +0 -0
  244. package/dist/css/fonts/jetbrains-mono-v12-vietnamese_latin-ext_latin_greek_cyrillic-ext_cyrillic-italic.woff +0 -0
  245. package/dist/css/fonts/jetbrains-mono-v12-vietnamese_latin-ext_latin_greek_cyrillic-ext_cyrillic-italic.woff2 +0 -0
  246. package/dist/css/fonts/jetbrains-mono-v12-vietnamese_latin-ext_latin_greek_cyrillic-ext_cyrillic-regular.woff +0 -0
  247. package/dist/css/fonts/jetbrains-mono-v12-vietnamese_latin-ext_latin_greek_cyrillic-ext_cyrillic-regular.woff2 +0 -0
  248. package/dist/css/fonts/roboto-v30-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-300.woff +0 -0
  249. package/dist/css/fonts/roboto-v30-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-300.woff2 +0 -0
  250. package/dist/css/fonts/roboto-v30-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-300italic.woff +0 -0
  251. package/dist/css/fonts/roboto-v30-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-300italic.woff2 +0 -0
  252. package/dist/css/fonts/roboto-v30-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-500.woff +0 -0
  253. package/dist/css/fonts/roboto-v30-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-500.woff2 +0 -0
  254. package/dist/css/fonts/roboto-v30-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-500italic.woff +0 -0
  255. package/dist/css/fonts/roboto-v30-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-500italic.woff2 +0 -0
  256. package/dist/css/fonts/roboto-v30-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-italic.woff +0 -0
  257. package/dist/css/fonts/roboto-v30-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-italic.woff2 +0 -0
  258. package/dist/css/fonts/roboto-v30-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-regular.woff +0 -0
  259. package/dist/css/fonts/roboto-v30-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-regular.woff2 +0 -0
  260. package/dist/css/graphs-config.css +4 -4
  261. package/dist/css/graphs-vizualizations.css +11 -10
  262. package/dist/css/guides.css +9 -0
  263. package/dist/css/jmx.css +22 -0
  264. package/dist/css/lib/angular-xeditable/xeditable.min.css +2 -2
  265. package/dist/css/new-sparql.css +68 -2
  266. package/dist/css/operations-statuses-monitor.css +111 -0
  267. package/dist/css/plugins.css +7 -18
  268. package/dist/css/rdf-class-hierarchy-labels.css +2 -2
  269. package/dist/css/rdf-class-hierarchy.css +3 -3
  270. package/dist/css/rdf-details-side-panel.css +8 -1
  271. package/dist/css/rdf-resource-search.css +5 -2
  272. package/dist/css/repositories.css +73 -31
  273. package/dist/css/repository.create.css +14 -4
  274. package/dist/css/shepherd-custom.css +80 -0
  275. package/dist/css/workbench-custom.css +54 -14
  276. package/dist/css/yasr.custom.css +28 -6
  277. package/dist/font/{icons.f404525bf0491c43fc1c35fc43fe14d8.eot → icons.23e96f215ba03e98233de883d2c30b60.eot} +0 -0
  278. package/dist/i18n/locale-en.json +488 -129
  279. package/dist/i18n/locale-fr.json +602 -261
  280. package/dist/icon.png +0 -0
  281. package/dist/img/{graphdb-logo-sq.75ddb875d9a986a6ac944450ae134725.svg → graphdb-logo-sq.3a5fb4b3f1e0e248dc308da1bf4de9f8.svg} +4 -4
  282. package/dist/img/{graphdb-logo.cb18d544b9cf2eb6062daa81bdb1f850.svg → graphdb-logo.741abf3e3881e1566e4504c9f00b91c0.svg} +3 -4
  283. package/dist/img/{graphdb-small.635110bdf15de2ad589b6e3fdaa75887.svg → graphdb-small.5f94ee13e65870be1db31bb89e6deded.svg} +6 -6
  284. package/dist/img/graphdb-splash.1ef2940889acddc03c7defb3f9f41f8d.svg +1 -0
  285. package/dist/img/{icons.2271b2cdd5a3d1037d80bf831f4918cc.svg → icons.ab6168834b8775f511d09c8fad540b27.svg} +14 -5
  286. package/dist/index.html +87 -85
  287. package/dist/js/angular/autocomplete/templates/modal/add-label.html +9 -8
  288. package/dist/js/angular/chatgpt/templates/chat.html +113 -0
  289. package/dist/js/angular/chatgpt/templates/chatInfo.html +11 -0
  290. package/dist/js/angular/chatgpt/templates/modal/settings.html +61 -0
  291. package/dist/js/angular/clustermanagement/templates/modal/add-nodes-dialog.html +67 -0
  292. package/dist/js/angular/clustermanagement/templates/modal/cluster-create-dialog.html +173 -0
  293. package/dist/js/angular/clustermanagement/templates/modal/cluster-delete-dialog.html +9 -14
  294. package/dist/js/angular/clustermanagement/templates/modal/cluster-edit-dialog.html +118 -0
  295. package/dist/js/angular/clustermanagement/templates/modal/remove-nodes-dialog.html +39 -0
  296. package/dist/js/angular/clustermanagement/templates/modal/replace-nodes-dialog.html +86 -0
  297. package/dist/js/angular/core/directives/autocomplete/templates/autocomplete.html +18 -0
  298. package/dist/js/angular/core/directives/languageselector/templates/languageSelector.html +9 -7
  299. package/dist/js/angular/core/directives/operations-statuses-monitor/templates/operations-statuses-monitor.html +57 -0
  300. package/dist/js/angular/core/directives/queryeditor/templates/query-editor.html +44 -56
  301. package/dist/js/angular/core/directives/queryeditor/templates/query-sample.html +11 -11
  302. package/dist/js/angular/core/directives/rdfresourcesearch/templates/rdfResourceSearchTemplate.html +4 -6
  303. package/dist/js/angular/core/templates/core-errors.html +27 -18
  304. package/dist/js/angular/core/templates/inactive-plugin-warning-page.html +1 -2
  305. package/dist/js/angular/core/templates/modal/copy-to-clipboard-modal.html +9 -10
  306. package/dist/js/angular/core/templates/modal/modal-warning.html +1 -1
  307. package/dist/js/angular/core/templates/search-resource-input.html +9 -9
  308. package/dist/js/angular/externalsync/templates/deleteConnector.html +5 -5
  309. package/dist/js/angular/graphexplore/templates/modal/save-graph.html +10 -11
  310. package/dist/js/angular/graphexplore/templates/rdfsCommentLabelTemplate.html +4 -6
  311. package/dist/js/angular/graphexplore/templates/searchIconInputTemplate.html +5 -7
  312. package/dist/js/angular/import/templates/filesTable.html +15 -15
  313. package/dist/js/angular/import/templates/settingsModal.html +231 -231
  314. package/dist/js/angular/import/templates/textSnippet.html +4 -4
  315. package/dist/js/angular/import/templates/urlImport.html +7 -5
  316. package/dist/js/angular/repositories/templates/fedx-repo.html +53 -49
  317. package/dist/js/angular/repositories/templates/ontop-repo.html +191 -60
  318. package/dist/js/angular/security/templates/modal/default-authorities.html +12 -12
  319. package/dist/js/angular/security/templates/user.html +102 -41
  320. package/dist/js/angular/security/templates/users.html +24 -17
  321. package/dist/js/angular/settings/modal/location-settings.html +17 -18
  322. package/dist/js/angular/settings/modal/validate-license.html +19 -6
  323. package/dist/js/angular/templates/graphdb-small.svg +6 -6
  324. package/dist/js/angular/templates/modal/add-fedx-remote-repo.html +17 -15
  325. package/dist/js/angular/templates/modal/add-location.html +18 -22
  326. package/dist/js/angular/templates/modal/edit-location.html +11 -11
  327. package/dist/js/angular/templates/modal/editRepoFile.html +2 -2
  328. package/dist/js/angular/templates/modal/upload-repository-config.html +2 -2
  329. package/dist/js/angular/templates/repositorySize.html +7 -1
  330. package/dist/js/lib/angucomplete-alt/angucomplete-alt.css +2 -2
  331. package/dist/js/lib/rzslider/rzslider.min.css +1 -1
  332. package/dist/license-checker-static.json +128 -0
  333. package/dist/license-checker.json +872 -0
  334. package/dist/main.3ac2b4b19f56209c6467.css +1 -0
  335. package/dist/main.948c3b96766ce09e145b.bundle.js +1 -0
  336. package/dist/pages/aclmanagement.html +177 -0
  337. package/dist/pages/autocomplete.html +16 -12
  338. package/dist/pages/choose-repository-type.html +8 -8
  339. package/dist/pages/cluster-management/clusterInfo.html +160 -138
  340. package/dist/pages/connectorsInfo.html +23 -18
  341. package/dist/pages/create-index.html +18 -18
  342. package/dist/pages/createConnector.html +137 -137
  343. package/dist/pages/dependencies.html +23 -31
  344. package/dist/pages/domainRangeInfo.html +16 -19
  345. package/dist/pages/edit.html +15 -15
  346. package/dist/pages/explore.html +22 -25
  347. package/dist/pages/export.html +38 -39
  348. package/dist/pages/find.html +3 -3
  349. package/dist/pages/graph-config/saveGraphConfig.html +43 -43
  350. package/dist/pages/graphs-visualizations.html +71 -78
  351. package/dist/pages/guides.html +60 -0
  352. package/dist/pages/home.html +46 -28
  353. package/dist/pages/import.html +11 -10
  354. package/dist/pages/info.html +18 -18
  355. package/dist/pages/jdbc-create.html +48 -46
  356. package/dist/pages/jdbc.html +4 -4
  357. package/dist/pages/licenseInfo.html +66 -48
  358. package/dist/pages/login.html +5 -6
  359. package/dist/pages/monitor/backup-and-restore.html +80 -0
  360. package/dist/pages/monitor/queries.html +7 -8
  361. package/dist/pages/monitor/resources.html +213 -79
  362. package/dist/pages/namespaces.html +22 -21
  363. package/dist/pages/plugins.html +9 -10
  364. package/dist/pages/rdfClassHierarchyInfo.html +31 -35
  365. package/dist/pages/rdfrank.html +25 -27
  366. package/dist/pages/registerLicenseInfo.html +10 -12
  367. package/dist/pages/repositories.html +170 -193
  368. package/dist/pages/repository.html +124 -58
  369. package/dist/pages/similarity-indexes.html +18 -18
  370. package/dist/pages/sparql-template-create.html +30 -29
  371. package/dist/pages/sparql-templates.html +4 -4
  372. package/dist/pages/sparql.html +11 -11
  373. package/dist/pages/ux-test1.html +102 -0
  374. package/dist/pages/ux-test2.html +17 -0
  375. package/dist/pages/webapi.html +4 -4
  376. package/dist/plugin-registry.js +14 -0
  377. package/dist/plugins.js +1967 -84
  378. package/dist/res/sparql/keyboard-shortcuts.html +7 -1
  379. package/dist/res/swagger/css/onto-theme.css +8 -0
  380. package/dist/res/swagger/css/reset.css +1 -2
  381. package/dist/res/swagger/css/screen.css +6 -15
  382. package/dist/res/swagger/fonts/icons.woff +0 -0
  383. package/dist/res/swagger/fonts/jetbrains-mono-v12-vietnamese_latin-ext_latin_greek_cyrillic-ext_cyrillic-600.woff +0 -0
  384. package/dist/res/swagger/fonts/jetbrains-mono-v12-vietnamese_latin-ext_latin_greek_cyrillic-ext_cyrillic-600.woff2 +0 -0
  385. package/dist/res/swagger/fonts/jetbrains-mono-v12-vietnamese_latin-ext_latin_greek_cyrillic-ext_cyrillic-600italic.woff +0 -0
  386. package/dist/res/swagger/fonts/jetbrains-mono-v12-vietnamese_latin-ext_latin_greek_cyrillic-ext_cyrillic-600italic.woff2 +0 -0
  387. package/dist/res/swagger/fonts/jetbrains-mono-v12-vietnamese_latin-ext_latin_greek_cyrillic-ext_cyrillic-italic.woff +0 -0
  388. package/dist/res/swagger/fonts/jetbrains-mono-v12-vietnamese_latin-ext_latin_greek_cyrillic-ext_cyrillic-italic.woff2 +0 -0
  389. package/dist/res/swagger/fonts/jetbrains-mono-v12-vietnamese_latin-ext_latin_greek_cyrillic-ext_cyrillic-regular.woff +0 -0
  390. package/dist/res/swagger/fonts/jetbrains-mono-v12-vietnamese_latin-ext_latin_greek_cyrillic-ext_cyrillic-regular.woff2 +0 -0
  391. package/dist/res/swagger/fonts/roboto-v30-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-300.woff +0 -0
  392. package/dist/res/swagger/fonts/roboto-v30-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-300.woff2 +0 -0
  393. package/dist/res/swagger/fonts/roboto-v30-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-300italic.woff +0 -0
  394. package/dist/res/swagger/fonts/roboto-v30-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-300italic.woff2 +0 -0
  395. package/dist/res/swagger/fonts/roboto-v30-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-500.woff +0 -0
  396. package/dist/res/swagger/fonts/roboto-v30-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-500.woff2 +0 -0
  397. package/dist/res/swagger/fonts/roboto-v30-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-500italic.woff +0 -0
  398. package/dist/res/swagger/fonts/roboto-v30-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-500italic.woff2 +0 -0
  399. package/dist/res/swagger/fonts/roboto-v30-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-italic.woff +0 -0
  400. package/dist/res/swagger/fonts/roboto-v30-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-italic.woff2 +0 -0
  401. package/dist/res/swagger/fonts/roboto-v30-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-regular.woff +0 -0
  402. package/dist/res/swagger/fonts/roboto-v30-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-regular.woff2 +0 -0
  403. package/dist/res/swagger/fonts/rubik-italic.woff +0 -0
  404. package/dist/res/swagger/fonts/rubik-italic.woff2 +0 -0
  405. package/dist/res/swagger/fonts/rubik-light.woff +0 -0
  406. package/dist/res/swagger/fonts/rubik-light.woff2 +0 -0
  407. package/dist/res/swagger/fonts/rubik-lightitalic.woff +0 -0
  408. package/dist/res/swagger/fonts/rubik-lightitalic.woff2 +0 -0
  409. package/dist/res/swagger/fonts/rubik-medium.woff +0 -0
  410. package/dist/res/swagger/fonts/rubik-medium.woff2 +0 -0
  411. package/dist/res/swagger/fonts/rubik-mediumitalic.woff +0 -0
  412. package/dist/res/swagger/fonts/rubik-mediumitalic.woff2 +0 -0
  413. package/dist/res/swagger/fonts/rubik-regular.woff +0 -0
  414. package/dist/res/swagger/fonts/rubik-regular.woff2 +0 -0
  415. package/dist/res/swagger/index.html +27 -25
  416. package/dist/vendor.7b6ede99ef82acd3dcf5.bundle.js +27 -0
  417. package/dist/{vendor.4ba46e62f4d43dab5e82.css → vendor.d1c629ceaacea40a5f4a.css} +1 -1
  418. package/package.json +13 -9
  419. package/dist/0.32d0f91ca9c8d09fb6f1.bundle.js +0 -82
  420. package/dist/0.32d0f91ca9c8d09fb6f1.bundle.js.map +0 -1
  421. package/dist/1.6300131e72a9f28f9df3.bundle.js +0 -27
  422. package/dist/1.6300131e72a9f28f9df3.bundle.js.map +0 -1
  423. package/dist/10.bb0713b18c3e55445fa7.bundle.js +0 -2
  424. package/dist/10.bb0713b18c3e55445fa7.bundle.js.map +0 -1
  425. package/dist/100.acbece8e389effbcfa2e.bundle.js +0 -2
  426. package/dist/100.acbece8e389effbcfa2e.bundle.js.map +0 -1
  427. package/dist/101.abc28aeafc8c037b80dc.bundle.js +0 -2
  428. package/dist/101.abc28aeafc8c037b80dc.bundle.js.map +0 -1
  429. package/dist/102.236df15ec49946c8799a.bundle.js +0 -2
  430. package/dist/102.236df15ec49946c8799a.bundle.js.map +0 -1
  431. package/dist/103.05b86c1b360c05133b49.bundle.js.map +0 -1
  432. package/dist/104.089568ff7c49a29de892.bundle.js.map +0 -1
  433. package/dist/105.81b74220f7fa646e719b.bundle.js.map +0 -1
  434. package/dist/106.5de7943f8a3adda97372.bundle.js +0 -2
  435. package/dist/106.5de7943f8a3adda97372.bundle.js.map +0 -1
  436. package/dist/11.288d37db1902f00f7c8e.bundle.js +0 -2
  437. package/dist/11.288d37db1902f00f7c8e.bundle.js.map +0 -1
  438. package/dist/110.5a553b21d45a64e7e321.bundle.js +0 -2
  439. package/dist/110.5a553b21d45a64e7e321.bundle.js.map +0 -1
  440. package/dist/111.04e34833a2c4fc227899.bundle.js +0 -2
  441. package/dist/111.04e34833a2c4fc227899.bundle.js.map +0 -1
  442. package/dist/112.b2bdfd64c50509d05503.bundle.js +0 -2
  443. package/dist/112.b2bdfd64c50509d05503.bundle.js.map +0 -1
  444. package/dist/113.b386b036c2a3d9077f64.bundle.js +0 -2
  445. package/dist/113.b386b036c2a3d9077f64.bundle.js.map +0 -1
  446. package/dist/114.0768e042a8e6ec856942.bundle.js +0 -2
  447. package/dist/114.0768e042a8e6ec856942.bundle.js.map +0 -1
  448. package/dist/115.374b221f284e8755ef31.bundle.js +0 -2
  449. package/dist/115.374b221f284e8755ef31.bundle.js.map +0 -1
  450. package/dist/116.ca9d40889c222f47c45f.bundle.js +0 -2
  451. package/dist/116.ca9d40889c222f47c45f.bundle.js.map +0 -1
  452. package/dist/117.92f7630bfb95444a87e8.bundle.js +0 -2
  453. package/dist/117.92f7630bfb95444a87e8.bundle.js.map +0 -1
  454. package/dist/118.7e28dcfd80b93a705d71.bundle.js +0 -2
  455. package/dist/118.7e28dcfd80b93a705d71.bundle.js.map +0 -1
  456. package/dist/119.e3a038ffb960ed3661fe.bundle.js +0 -2
  457. package/dist/119.e3a038ffb960ed3661fe.bundle.js.map +0 -1
  458. package/dist/12.9004ab127289745129a4.bundle.js +0 -4
  459. package/dist/12.9004ab127289745129a4.bundle.js.map +0 -1
  460. package/dist/120.3b0b67fbfa81ec95e044.bundle.js.map +0 -1
  461. package/dist/121.ff452d05188836228deb.bundle.js.map +0 -1
  462. package/dist/122.1b8056c745358fa2f6cb.bundle.js +0 -2
  463. package/dist/122.1b8056c745358fa2f6cb.bundle.js.map +0 -1
  464. package/dist/123.289bb9a87ce416004c0a.bundle.js.map +0 -1
  465. package/dist/124.75965fcb93d0fe988609.bundle.js +0 -2
  466. package/dist/124.75965fcb93d0fe988609.bundle.js.map +0 -1
  467. package/dist/125.51ff26fe7687752811e4.bundle.js.map +0 -1
  468. package/dist/126.b89a0728154793be4eb9.bundle.js +0 -2
  469. package/dist/126.b89a0728154793be4eb9.bundle.js.map +0 -1
  470. package/dist/127.4d0a2164fb95df43ea22.bundle.js.map +0 -1
  471. package/dist/128.c7a3530622ede2f34e72.bundle.js.map +0 -1
  472. package/dist/129.2d32313059ae96dba010.bundle.js.map +0 -1
  473. package/dist/13.897f9af290de9fbd43bb.bundle.js +0 -16
  474. package/dist/13.897f9af290de9fbd43bb.bundle.js.map +0 -1
  475. package/dist/130.7302112cf14a10bd1306.bundle.js.map +0 -1
  476. package/dist/131.eb262b5100305bdc23ee.bundle.js.map +0 -1
  477. package/dist/132.264b9ebf860e308417ad.bundle.js +0 -2
  478. package/dist/132.264b9ebf860e308417ad.bundle.js.map +0 -1
  479. package/dist/133.f855496341ba657eb673.bundle.js.map +0 -1
  480. package/dist/134.91de2ab11c49967200ad.bundle.js +0 -2
  481. package/dist/134.91de2ab11c49967200ad.bundle.js.map +0 -1
  482. package/dist/135.82e48e81e60b2ab89e04.bundle.js +0 -2
  483. package/dist/135.82e48e81e60b2ab89e04.bundle.js.map +0 -1
  484. package/dist/136.74f131c98a163b48e3df.bundle.js.map +0 -1
  485. package/dist/137.89253235e0e48f86534b.bundle.js +0 -2
  486. package/dist/137.89253235e0e48f86534b.bundle.js.map +0 -1
  487. package/dist/138.9111fe731587313e4574.bundle.js.map +0 -1
  488. package/dist/139.642cab70149cdfc8c034.bundle.js +0 -2
  489. package/dist/139.642cab70149cdfc8c034.bundle.js.map +0 -1
  490. package/dist/14.3c22be70e13b5347940a.bundle.js +0 -3
  491. package/dist/14.3c22be70e13b5347940a.bundle.js.map +0 -1
  492. package/dist/140.8fcbd3b16a54b9ca5d80.bundle.js +0 -2
  493. package/dist/140.8fcbd3b16a54b9ca5d80.bundle.js.map +0 -1
  494. package/dist/141.09939d5f25d69d9e1bdd.bundle.js +0 -2
  495. package/dist/141.09939d5f25d69d9e1bdd.bundle.js.map +0 -1
  496. package/dist/142.5ced0a8e7a08aea7988f.bundle.js.map +0 -1
  497. package/dist/143.1bd6e2941d5c9fdc9e77.bundle.js +0 -2
  498. package/dist/143.1bd6e2941d5c9fdc9e77.bundle.js.map +0 -1
  499. package/dist/144.34dd1b710f93da283e39.bundle.js +0 -2
  500. package/dist/144.34dd1b710f93da283e39.bundle.js.map +0 -1
  501. package/dist/145.832e90a54396296da91b.bundle.js +0 -2
  502. package/dist/145.832e90a54396296da91b.bundle.js.map +0 -1
  503. package/dist/146.a4ab1f2f5177d9e27861.bundle.js +0 -2
  504. package/dist/146.a4ab1f2f5177d9e27861.bundle.js.map +0 -1
  505. package/dist/147.f6bd445276a200981cff.bundle.js.map +0 -1
  506. package/dist/148.1c23268b87514b7220b3.bundle.js +0 -2
  507. package/dist/148.1c23268b87514b7220b3.bundle.js.map +0 -1
  508. package/dist/149.82fc16905f1377c6610a.bundle.js +0 -2
  509. package/dist/149.82fc16905f1377c6610a.bundle.js.map +0 -1
  510. package/dist/15.ba4fe6f57951d2f73adc.bundle.js +0 -2
  511. package/dist/15.ba4fe6f57951d2f73adc.bundle.js.map +0 -1
  512. package/dist/150.6d8e3bb0cbc5774322d9.bundle.js +0 -2
  513. package/dist/150.6d8e3bb0cbc5774322d9.bundle.js.map +0 -1
  514. package/dist/151.c752cbb4d5f9299df813.bundle.js +0 -2
  515. package/dist/151.c752cbb4d5f9299df813.bundle.js.map +0 -1
  516. package/dist/152.78d7840c4b8f93748bfe.bundle.js +0 -2
  517. package/dist/152.78d7840c4b8f93748bfe.bundle.js.map +0 -1
  518. package/dist/153.ebc378a7a60222b69484.bundle.js.map +0 -1
  519. package/dist/154.4452ad65074e44967389.bundle.js +0 -2
  520. package/dist/154.4452ad65074e44967389.bundle.js.map +0 -1
  521. package/dist/155.12819130f26753e109ad.bundle.js +0 -2
  522. package/dist/155.12819130f26753e109ad.bundle.js.map +0 -1
  523. package/dist/16.a236b38d63123b1a3c61.bundle.js +0 -4
  524. package/dist/16.a236b38d63123b1a3c61.bundle.js.map +0 -1
  525. package/dist/17.d8d59fa7fbb3b422fdf8.bundle.js +0 -2
  526. package/dist/17.d8d59fa7fbb3b422fdf8.bundle.js.map +0 -1
  527. package/dist/18.bc2da9ff57be136ef082.bundle.js +0 -2
  528. package/dist/18.bc2da9ff57be136ef082.bundle.js.map +0 -1
  529. package/dist/19.19811699b6e54f19f71e.bundle.js +0 -3
  530. package/dist/19.19811699b6e54f19f71e.bundle.js.map +0 -1
  531. package/dist/2.fb2f97f5c543a24296f6.bundle.js +0 -2
  532. package/dist/2.fb2f97f5c543a24296f6.bundle.js.map +0 -1
  533. package/dist/20.df3652981fc73c6a8b8c.bundle.js +0 -2
  534. package/dist/20.df3652981fc73c6a8b8c.bundle.js.map +0 -1
  535. package/dist/21.b7fbdf3c3b22b578928c.bundle.js +0 -2
  536. package/dist/21.b7fbdf3c3b22b578928c.bundle.js.map +0 -1
  537. package/dist/22.2da0e8ec2ac2048ecd60.bundle.js +0 -3
  538. package/dist/22.2da0e8ec2ac2048ecd60.bundle.js.map +0 -1
  539. package/dist/23.4140c4c20347efc963a4.bundle.js +0 -2
  540. package/dist/23.4140c4c20347efc963a4.bundle.js.map +0 -1
  541. package/dist/24.219ce55f8f6a5bd02dad.bundle.js +0 -2
  542. package/dist/24.219ce55f8f6a5bd02dad.bundle.js.map +0 -1
  543. package/dist/25.e79de2370b1ee4072e19.bundle.js +0 -2
  544. package/dist/25.e79de2370b1ee4072e19.bundle.js.map +0 -1
  545. package/dist/26.c1619706b8cbb1ab23cb.bundle.js +0 -2
  546. package/dist/26.c1619706b8cbb1ab23cb.bundle.js.map +0 -1
  547. package/dist/27.350dba622e243e1ab5fb.bundle.js +0 -2
  548. package/dist/27.350dba622e243e1ab5fb.bundle.js.map +0 -1
  549. package/dist/28.e687c87a5f1dc8a30fd0.bundle.js +0 -2
  550. package/dist/28.e687c87a5f1dc8a30fd0.bundle.js.map +0 -1
  551. package/dist/29.34a4af65623cd4af6899.bundle.js +0 -2
  552. package/dist/29.34a4af65623cd4af6899.bundle.js.map +0 -1
  553. package/dist/3.dfa66b44200c3fca24a2.bundle.js +0 -2
  554. package/dist/3.dfa66b44200c3fca24a2.bundle.js.map +0 -1
  555. package/dist/30.f4738c7c2d74f00f2e5f.bundle.js +0 -2
  556. package/dist/30.f4738c7c2d74f00f2e5f.bundle.js.map +0 -1
  557. package/dist/31.ab8f2e70841221e1d427.bundle.js +0 -2
  558. package/dist/31.ab8f2e70841221e1d427.bundle.js.map +0 -1
  559. package/dist/32.3210a7952ffcb57daa1a.bundle.js +0 -2
  560. package/dist/32.3210a7952ffcb57daa1a.bundle.js.map +0 -1
  561. package/dist/33.fcf9c56901b5590bd603.bundle.js +0 -2
  562. package/dist/33.fcf9c56901b5590bd603.bundle.js.map +0 -1
  563. package/dist/34.2c344c05bfc4048c3d53.bundle.js +0 -2
  564. package/dist/34.2c344c05bfc4048c3d53.bundle.js.map +0 -1
  565. package/dist/35.423c4a91e80adf5d97c8.bundle.js +0 -2
  566. package/dist/35.423c4a91e80adf5d97c8.bundle.js.map +0 -1
  567. package/dist/36.247686b6d65de11ec10d.bundle.js +0 -2
  568. package/dist/36.247686b6d65de11ec10d.bundle.js.map +0 -1
  569. package/dist/37.5f6089a939b59309cc82.bundle.js +0 -2
  570. package/dist/37.5f6089a939b59309cc82.bundle.js.map +0 -1
  571. package/dist/38.9e79a9ec2f9d5af38692.bundle.js +0 -2
  572. package/dist/38.9e79a9ec2f9d5af38692.bundle.js.map +0 -1
  573. package/dist/39.b64ae969a5f5fea4504c.bundle.js +0 -2
  574. package/dist/39.b64ae969a5f5fea4504c.bundle.js.map +0 -1
  575. package/dist/4.188966396c80909f58cd.bundle.js +0 -2
  576. package/dist/4.188966396c80909f58cd.bundle.js.map +0 -1
  577. package/dist/40.1303e99feecbba2614a7.bundle.js +0 -2
  578. package/dist/40.1303e99feecbba2614a7.bundle.js.map +0 -1
  579. package/dist/41.687956ca2240355a838f.bundle.js +0 -2
  580. package/dist/41.687956ca2240355a838f.bundle.js.map +0 -1
  581. package/dist/42.78e0302e87b9d244a1d7.bundle.js +0 -2
  582. package/dist/42.78e0302e87b9d244a1d7.bundle.js.map +0 -1
  583. package/dist/43.ee0de548c525f8e422ba.bundle.js +0 -2
  584. package/dist/43.ee0de548c525f8e422ba.bundle.js.map +0 -1
  585. package/dist/44.38b4979d4b201ae1fffb.bundle.js +0 -2
  586. package/dist/44.38b4979d4b201ae1fffb.bundle.js.map +0 -1
  587. package/dist/45.8a0ab002ad0f614964e5.bundle.js +0 -2
  588. package/dist/45.8a0ab002ad0f614964e5.bundle.js.map +0 -1
  589. package/dist/46.720c0f65b93f4fe01a7c.bundle.js +0 -2
  590. package/dist/46.720c0f65b93f4fe01a7c.bundle.js.map +0 -1
  591. package/dist/47.686e599732ae6f41120c.bundle.js.map +0 -1
  592. package/dist/48.bdb51ad865126b918831.bundle.js +0 -2
  593. package/dist/48.bdb51ad865126b918831.bundle.js.map +0 -1
  594. package/dist/49.74a24e08097ef1f6fcd2.bundle.js +0 -2
  595. package/dist/49.74a24e08097ef1f6fcd2.bundle.js.map +0 -1
  596. package/dist/5.9bbd38317d375cd02da2.bundle.js +0 -8
  597. package/dist/5.9bbd38317d375cd02da2.bundle.js.map +0 -1
  598. package/dist/50.313e315d4c339ad1bcdd.bundle.js +0 -2
  599. package/dist/50.313e315d4c339ad1bcdd.bundle.js.map +0 -1
  600. package/dist/51.895a3dacdc3a8eaee275.bundle.js.map +0 -1
  601. package/dist/52.1f6bc47f1c9abcc79e8d.bundle.js +0 -2
  602. package/dist/52.1f6bc47f1c9abcc79e8d.bundle.js.map +0 -1
  603. package/dist/53.f6c19075252833268cca.bundle.js +0 -2
  604. package/dist/53.f6c19075252833268cca.bundle.js.map +0 -1
  605. package/dist/54.599ca3ae32ee1fb5f937.bundle.js +0 -2
  606. package/dist/54.599ca3ae32ee1fb5f937.bundle.js.map +0 -1
  607. package/dist/55.c20a51cb1d894f9113b4.bundle.js +0 -2
  608. package/dist/55.c20a51cb1d894f9113b4.bundle.js.map +0 -1
  609. package/dist/56.91947e80d8e04223ac58.bundle.js.map +0 -1
  610. package/dist/57.ab4ee313c9d6c7e29384.bundle.js +0 -2
  611. package/dist/57.ab4ee313c9d6c7e29384.bundle.js.map +0 -1
  612. package/dist/58.99c83a8dac31c1b681df.bundle.js +0 -2
  613. package/dist/58.99c83a8dac31c1b681df.bundle.js.map +0 -1
  614. package/dist/59.99da52e1d8946ac0f601.bundle.js +0 -2
  615. package/dist/59.99da52e1d8946ac0f601.bundle.js.map +0 -1
  616. package/dist/6.6c67a1bcf82bb335b0c4.bundle.js +0 -2
  617. package/dist/6.6c67a1bcf82bb335b0c4.bundle.js.map +0 -1
  618. package/dist/60.92b9758945e497e52bac.bundle.js +0 -2
  619. package/dist/60.92b9758945e497e52bac.bundle.js.map +0 -1
  620. package/dist/61.42887fbc87f941cf7c81.bundle.js +0 -2
  621. package/dist/61.42887fbc87f941cf7c81.bundle.js.map +0 -1
  622. package/dist/62.c21410d6e123395d3920.bundle.js +0 -2
  623. package/dist/62.c21410d6e123395d3920.bundle.js.map +0 -1
  624. package/dist/63.1ab0c580ba57aee5479c.bundle.js +0 -2
  625. package/dist/63.1ab0c580ba57aee5479c.bundle.js.map +0 -1
  626. package/dist/64.ac922cb38c3ff6c431fb.bundle.js.map +0 -1
  627. package/dist/65.9fcde753699dc94bea1d.bundle.js +0 -2
  628. package/dist/65.9fcde753699dc94bea1d.bundle.js.map +0 -1
  629. package/dist/66.8213a0430e7543b6d7f7.bundle.js +0 -2
  630. package/dist/66.8213a0430e7543b6d7f7.bundle.js.map +0 -1
  631. package/dist/67.320a484bc979f5076d8c.bundle.js +0 -2
  632. package/dist/67.320a484bc979f5076d8c.bundle.js.map +0 -1
  633. package/dist/68.a69e9e22327878f44dbd.bundle.js +0 -2
  634. package/dist/68.a69e9e22327878f44dbd.bundle.js.map +0 -1
  635. package/dist/69.be786580c66ac4ee18cb.bundle.js +0 -2
  636. package/dist/69.be786580c66ac4ee18cb.bundle.js.map +0 -1
  637. package/dist/7.0fd9bc389f42820382e4.bundle.js +0 -3
  638. package/dist/7.0fd9bc389f42820382e4.bundle.js.map +0 -1
  639. package/dist/70.93cfa1f02948e8276451.bundle.js +0 -2
  640. package/dist/70.93cfa1f02948e8276451.bundle.js.map +0 -1
  641. package/dist/71.6b8c8bce52a95f2da242.bundle.js +0 -2
  642. package/dist/71.6b8c8bce52a95f2da242.bundle.js.map +0 -1
  643. package/dist/72.6cbb41a38d917191c660.bundle.js +0 -2
  644. package/dist/72.6cbb41a38d917191c660.bundle.js.map +0 -1
  645. package/dist/73.801e05b4acc74a3e268c.bundle.js +0 -2
  646. package/dist/73.801e05b4acc74a3e268c.bundle.js.map +0 -1
  647. package/dist/74.1c6322e5f93d5376fd76.bundle.js +0 -2
  648. package/dist/74.1c6322e5f93d5376fd76.bundle.js.map +0 -1
  649. package/dist/75.c95c9015a30a98acb353.bundle.js +0 -2
  650. package/dist/75.c95c9015a30a98acb353.bundle.js.map +0 -1
  651. package/dist/76.29111b9618d43a0dd149.bundle.js +0 -2
  652. package/dist/76.29111b9618d43a0dd149.bundle.js.map +0 -1
  653. package/dist/77.6ced6f6e26dfe1c4e00f.bundle.js +0 -2
  654. package/dist/77.6ced6f6e26dfe1c4e00f.bundle.js.map +0 -1
  655. package/dist/78.7c7d2a0d9e7c2d2483e6.bundle.js +0 -2
  656. package/dist/78.7c7d2a0d9e7c2d2483e6.bundle.js.map +0 -1
  657. package/dist/79.696045e048461f420813.bundle.js +0 -2
  658. package/dist/79.696045e048461f420813.bundle.js.map +0 -1
  659. package/dist/8.22695f5c20dcddc1c7f9.bundle.js +0 -2
  660. package/dist/8.22695f5c20dcddc1c7f9.bundle.js.map +0 -1
  661. package/dist/80.b5e832779f88ebe839e2.bundle.js +0 -2
  662. package/dist/80.b5e832779f88ebe839e2.bundle.js.map +0 -1
  663. package/dist/81.5a0776b89463df60bd1a.bundle.js +0 -2
  664. package/dist/81.5a0776b89463df60bd1a.bundle.js.map +0 -1
  665. package/dist/82.0a98b482c7c37a9812fc.bundle.js +0 -2
  666. package/dist/82.0a98b482c7c37a9812fc.bundle.js.map +0 -1
  667. package/dist/83.8beeb651df72c23d53ac.bundle.js +0 -2
  668. package/dist/83.8beeb651df72c23d53ac.bundle.js.map +0 -1
  669. package/dist/84.6f35fe422db61d53ae3e.bundle.js +0 -2
  670. package/dist/84.6f35fe422db61d53ae3e.bundle.js.map +0 -1
  671. package/dist/85.2d1142fcbdf4c9868e94.bundle.js +0 -2
  672. package/dist/85.2d1142fcbdf4c9868e94.bundle.js.map +0 -1
  673. package/dist/86.ce91cb69963c2b84e551.bundle.js +0 -2
  674. package/dist/86.ce91cb69963c2b84e551.bundle.js.map +0 -1
  675. package/dist/87.d4aa485128cd374a11c7.bundle.js +0 -2
  676. package/dist/87.d4aa485128cd374a11c7.bundle.js.map +0 -1
  677. package/dist/88.b4cd8e99a6af1abea692.bundle.js +0 -2
  678. package/dist/88.b4cd8e99a6af1abea692.bundle.js.map +0 -1
  679. package/dist/89.8ce40cc9d5fe2596fdf9.bundle.js +0 -2
  680. package/dist/89.8ce40cc9d5fe2596fdf9.bundle.js.map +0 -1
  681. package/dist/9.d94f24c12177433d455a.bundle.js +0 -2
  682. package/dist/9.d94f24c12177433d455a.bundle.js.map +0 -1
  683. package/dist/90.94988124ca51fa46932e.bundle.js +0 -2
  684. package/dist/90.94988124ca51fa46932e.bundle.js.map +0 -1
  685. package/dist/91.bfbbacbaea095478d82e.bundle.js +0 -2
  686. package/dist/91.bfbbacbaea095478d82e.bundle.js.map +0 -1
  687. package/dist/92.791121a262e5f42a2ba2.bundle.js +0 -2
  688. package/dist/92.791121a262e5f42a2ba2.bundle.js.map +0 -1
  689. package/dist/93.7da268902b8515abecf6.bundle.js +0 -2
  690. package/dist/93.7da268902b8515abecf6.bundle.js.map +0 -1
  691. package/dist/94.88f1bd8fa645739c4f30.bundle.js +0 -2
  692. package/dist/94.88f1bd8fa645739c4f30.bundle.js.map +0 -1
  693. package/dist/95.bbd1b757de3af20f2ac1.bundle.js +0 -2
  694. package/dist/95.bbd1b757de3af20f2ac1.bundle.js.map +0 -1
  695. package/dist/96.38e7df277c99946f9a20.bundle.js +0 -2
  696. package/dist/96.38e7df277c99946f9a20.bundle.js.map +0 -1
  697. package/dist/97.1818744137f2fb66596a.bundle.js +0 -2
  698. package/dist/97.1818744137f2fb66596a.bundle.js.map +0 -1
  699. package/dist/98.1a14af46a31cf35db0e5.bundle.js +0 -2
  700. package/dist/98.1a14af46a31cf35db0e5.bundle.js.map +0 -1
  701. package/dist/99.bd486f7d738e281a0752.bundle.js +0 -2
  702. package/dist/99.bd486f7d738e281a0752.bundle.js.map +0 -1
  703. package/dist/bundle.5eeff901b77240e58d27.bundle.js +0 -89
  704. package/dist/bundle.5eeff901b77240e58d27.bundle.js.map +0 -1
  705. package/dist/css/fonts/rubik-italic.woff +0 -0
  706. package/dist/css/fonts/rubik-italic.woff2 +0 -0
  707. package/dist/css/fonts/rubik-light.woff +0 -0
  708. package/dist/css/fonts/rubik-light.woff2 +0 -0
  709. package/dist/css/fonts/rubik-lightitalic.woff +0 -0
  710. package/dist/css/fonts/rubik-lightitalic.woff2 +0 -0
  711. package/dist/css/fonts/rubik-medium.woff +0 -0
  712. package/dist/css/fonts/rubik-medium.woff2 +0 -0
  713. package/dist/css/fonts/rubik-mediumitalic.woff +0 -0
  714. package/dist/css/fonts/rubik-mediumitalic.woff2 +0 -0
  715. package/dist/css/fonts/rubik-regular.woff +0 -0
  716. package/dist/css/fonts/rubik-regular.woff2 +0 -0
  717. package/dist/css/lib/bootstrap-switch/bootstrap-switch.min.css +0 -10
  718. package/dist/img/graphdb-splash.2eb3f7f02aa7e25a2545459e096f3738.svg +0 -141
  719. package/dist/js/angular/clustermanagement/templates/modal/clone-modal.html +0 -27
  720. package/dist/js/lib/nvd3/nv.d3.css +0 -755
  721. package/dist/main.e5d47f1d0bcd23074c38.css +0 -1
  722. package/dist/main.f10730ef6eebe969b494.bundle.js +0 -2
  723. package/dist/main.f10730ef6eebe969b494.bundle.js.map +0 -1
  724. package/dist/pages/cluster-management/cluster-configuration.html +0 -183
  725. package/dist/res/swagger/css/style.css +0 -250
  726. package/dist/res/swagger/css/typography.css +0 -60
  727. package/dist/vendor.327ffd7c7997ca288654.bundle.js +0 -50
  728. package/dist/vendor.327ffd7c7997ca288654.bundle.js.map +0 -1
@@ -1,2 +0,0 @@
1
- (window.webpackJsonp=window.webpackJsonp||[]).push([[27,87],{216:function(e,t,n){"use strict";var r=r||{};r.Export={getCSSRules:function(e){var t=$('link[href="'+e+'"]')[0].sheet.rules,n="";return _.each(t,(function(e){n+=e.cssText})),n},generateBase64ImageSource:function(){var e=d3.selectAll("svg").attr({version:"1.1",xmlns:"http://www.w3.org/2000/svg"}).node().parentNode.innerHTML;return"data:image/svg+xml;charset=utf-8;base64,"+btoa(unescape(encodeURIComponent(e)))}},t.a=r},41:function(e,t){angular.module("graphdb.framework.rest.graphexplore.data.service",[]).factory("GraphDataRestService",o),o.$inject=["$http"];const n="rest/class-hierarchy",r="rest/domain-range",a="rest/dependencies/",s="rest/explore-graph/";function o(e){return{getClassHierarchyData:function(t){return e.get(n,{params:{graphURI:t}})},reloadClassHierarchy:function(t){return e.get(n,{params:{doReload:!0,graphURI:t}})},getClassInstances:function(t){return e.get(`${n}/class-instances`,{params:{targetUri:t}})},getDomainRangeData:function(t,n){return e.get(r,{params:{targetUri:t,collapsed:n}})},checkDomainRangeData:function(t){return e.head(r,{params:{targetUri:t}})},getRelationshipsData:function(t,n,r){return e.get(`${a}matrix`,{params:{mode:n,classes:_.map(t,(function(e){return e.name})),graphURI:r}})},getRelationshipsClasses:function(t,n){return e.get(`${a}classes`,{params:{mode:t,graphURI:n}})},getRelationshipsStatus:function(t){return e.get(`${a}status`,{params:{graphURI:t}})},calculateRelationships:function(t){return e.get(`${a}update`,{params:{graphURI:t}})},getPredicates:function(t,n,r){return e.get(`${a}predicates`,{params:{from:t,to:n,mode:"all",graphURI:r}})},getInstanceNode:function(t){return e.get(`${s}node`,{params:{iri:t}})},getInstanceNodeLinks:function(t){return e.get(`${s}links`,{params:{iri:t}})},getRdfsLabelAndComment:function(t,n,r){const a=r||{};return e({url:"rest/explore/details",method:"GET",params:_.extend(a,{uri:t,languages:n}),headers:{Accept:"application/json"}})}}}},68:function(e,t,n){"use strict";n.r(t);var r=n(216);n(41);function a(e,t){return{restrict:"A",template:'<div id="dependencies-chord"></div>',scope:{dependenciesData:"="},link:function(n){n.$watch("dependenciesData",(function(){if(n.dependenciesData){const a=n.dependenciesData;!function(a,s){if(function(){let e=!0;for(const t of a){if(t.some(e=>0!==e)){e=!1;break}}return e}())return;const o=d3.scale.category20(),i=d3.select("body").append("div").attr("class","tooltip").style("opacity",0);d3.select("body").on("click",(function(){i.style("opacity",0)}));const c=Math.min(800,800)/2.8,d=c-24,l=d3.svg.arc().innerRadius(d).outerRadius(c),p=d3.layout.chord().padding(.04).sortSubgroups(d3.descending).sortChords(d3.ascending),u=d3.svg.chord().radius(d),g=d3.select("#dependencies-chord").append("svg").attr("viewBox","0 0 800 800").attr("preserveAspectRatio","xMidYMid meet").style("font","10px sans-serif").append("g").attr("id","circle").attr("transform","translate(400,400)");g.append("circle").attr("r",c).style("fill","none"),p.matrix(a);const f=g.selectAll(".group").data(p.groups).enter().append("g").attr("class","group").on("mouseover",(function(e,t){h.classed("fade",(function(e){return e.source.index!==t&&e.target.index!==t}))}));f.append("title").text((function(e,t){return s[t]})),f.append("path").attr("id",(function(e,t){return"group"+t})).attr("d",l).style("fill",(function(e,t){return o(t)})),f.append("text").each((function(e){e.angle=(e.startAngle+e.endAngle)/2})).attr("dy",".35em").attr("transform",(function(e){return"rotate("+(180*e.angle/Math.PI-90)+")translate("+(d+26)+")"+(e.angle>Math.PI?"rotate(180)":"")})).style("text-anchor",(function(e){return e.angle>Math.PI?"end":null})).text((function(e){return s[e.index]}));const h=g.selectAll(".chord").data(p.chords).enter().append("path").attr("class","chord").style("fill",(function(e){return o(e.target.index)})).style("fill-opacity",".67").style("stroke","#000").style("stroke-width",".25px").style("cursor","pointer").attr("d",u);h.on("mouseover",(function(){d3.select(this).style({"fill-opacity":"1"})})),h.on("mouseout",(function(){d3.select(this).style({"fill-opacity":".67"})})),h.on("click",(function(e){const r=s[e.source.index],a=s[e.target.index],o=d3.event.pageX,c=d3.event.pageY;t.getPredicates(r,a,n.selectedGraph&&n.selectedGraph.contextID.uri).success((function(e){let t="<div class='dependencies-tooltip'>"+("<div class='row'>"+r+" <i class='fa fa-exchange'></i> "+a+"</div>")+_.map(e.slice(0,10),(function(e){const t=" <i class='fa fa-long-arrow-"+("out"===e.direction?"right":"left")+"'></i>";return"<div class='row'>"+e.predicate+" : "+e.weight+t+" </div>"})).join("");e.length>10?t=t+"<div class='pull-right'>And "+(e.length-10).toString()+" more...</div></div>":t+="</div>",i.html(t).style("left",o+"px").style("top",c+"px")})),i.transition().duration(200).style("opacity",1)})),d3.select("#circle").on("mouseleave",(function(){g.selectAll(".chord").classed("fade",!1)})),d3.select("#download-svg").on("mouseover",(function(){const t=r.a.Export.generateBase64ImageSource();d3.select(this).attr({href:t,download:"dependencies-"+e.getActiveRepository()+".svg"})}))}(a.matrix,a.nodes,a.direction)}}))}}}angular.module("graphdb.framework.graphexplore.directives.dependencies",["graphdb.framework.graphexplore.controllers.dependencies","graphdb.framework.rest.graphexplore.data.service"]).directive("dependenciesChord",a),a.$inject=["$repositories","GraphDataRestService"]}}]);
2
- //# sourceMappingURL=27.350dba622e243e1ab5fb.bundle.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["webpack:///./src/js/lib/common/svg-export.js","webpack:///./src/js/angular/rest/graph-data.rest.service.js","webpack:///./src/js/angular/graphexplore/directives/dependencies-chord.directive.js"],"names":["SVG","Export","getCSSRules","cssSourceFilePath","cssRules","$","sheet","rules","cssStr","_","each","value","cssText","generateBase64ImageSource","exportSvg","d3","selectAll","attr","version","xmlns","node","parentNode","innerHTML","btoa","unescape","encodeURIComponent","angular","module","factory","GraphDataRestService","$inject","CLASS_HIERARCHY_ENDPOINT","DOMAIN_RANGE_ENDPOINT","DEPENDENCIES_ENDPOINT","EXPORE_GRAPH_ENDPOINT","$http","getClassHierarchyData","graphURI","get","params","reloadClassHierarchy","doReload","getClassInstances","targetUri","getDomainRangeData","collapsed","checkDomainRangeData","head","getRelationshipsData","selectedClasses","direction","map","c","name","getRelationshipsClasses","getRelationshipsStatus","calculateRelationships","getPredicates","sourceClass","destinationClass","getInstanceNode","iri","getInstanceNodeLinks","getRdfsLabelAndComment","languages","extraParams","requestParams","url","method","extend","uri","headers","dependenciesChordDirective","$repositories","restrict","template","scope","dependenciesData","link","$watch","data","matrix","nodes","zeroMatrix","arr","some","item","isZeroMatrix","fill","scale","category20","tooltip","select","append","style","on","outerRadius","Math","min","innerRadius","arc","svg","layout","chord","padding","sortSubgroups","descending","sortChords","ascending","path","radius","group","groups","enter","d","i","classed","p","source","index","target","text","angle","startAngle","endAngle","PI","chords","this","px","event","pageX","py","pageY","selectedGraph","contextID","success","predicatesData","tooltipContent","slice","icon","predicate","weight","join","length","toString","html","transition","duration","imgSrc","href","download","getActiveRepository","drawChord","directive"],"mappings":"8FAAA,IAAIA,EAAMA,GAAO,GAEjBA,EAAIC,OAuBO,CACHC,YAvBJ,SAAqBC,GACjB,IAAIC,EAAWC,EAAE,cAAgBF,EAAoB,MAAM,GAAGG,MAAMC,MAChEC,EAAS,GAIb,OAHAC,EAAEC,KAAKN,GAAU,SAAUO,GACvBH,GAAUG,EAAMC,WAEbJ,GAkBPK,0BAfJ,WAEI,IAAIC,EAAYC,GAAGC,UAAU,OACxBC,KAAK,CACFC,QAAS,MACTC,MAAO,+BAEVC,OAAOC,WAAWC,UAGvB,MAAO,2CAA6CC,KAAKC,SAASC,mBAAmBX,OAS9E,O,iBC/BfY,QACKC,OAAO,mDAAoD,IAC3DC,QAAQ,uBAAwBC,GAErCA,EAAqBC,QAAU,CAAC,SAEhC,MAAMC,EAA2B,uBAC3BC,EAAwB,oBACxBC,EAAwB,qBACxBC,EAAwB,sBAE9B,SAASL,EAAqBM,GAC1B,MAAO,CAEHC,sBAuBJ,SAA+BC,GAC3B,OAAOF,EAAMG,IAAIP,EAA0B,CACvCQ,OAAQ,CACJF,SAAUA,MAzBlBG,qBA8BJ,SAA8BH,GAC1B,OAAOF,EAAMG,IAAIP,EAA0B,CACvCQ,OAAQ,CACJE,UAAU,EACVJ,SAAUA,MAjClBK,kBAsCJ,SAA2BC,GACvB,OAAOR,EAAMG,IAAI,GAAGP,oBAA4C,CAC5DQ,OAAQ,CACJI,gBAtCRC,mBAmDJ,SAA4BD,EAAWE,GACnC,OAAOV,EAAMG,IAAIN,EAAuB,CACpCO,OAAQ,CACJI,YACAE,gBAtDRC,qBA0CJ,SAA8BH,GAC1B,OAAOR,EAAMY,KAAKf,EAAuB,CACrCO,OAAQ,CACJI,gBA1CRK,qBAwDJ,SAA8BC,EAAiBC,EAAWb,GACtD,OAAOF,EAAMG,IAAI,GAAGL,UAA+B,CAC/CM,OAAQ,CACJ,KAAQW,EACR,QAAWzC,EAAE0C,IAAIF,GAAiB,SAAUG,GACxC,OAAOA,EAAEC,QAEb,SAAYhB,MA9DpBiB,wBAmEJ,SAAiCJ,EAAWb,GACxC,OAAOF,EAAMG,IAAI,GAAGL,WAAgC,CAChDM,OAAQ,CACJ,KAAQW,EACR,SAAYb,MAtEpBkB,uBA2EJ,SAAgClB,GAC5B,OAAOF,EAAMG,IAAI,GAAGL,UAA+B,CAC/CM,OAAQ,CACJF,SAAUA,MA7ElBmB,uBAkFJ,SAAgCnB,GAC5B,OAAOF,EAAMG,IAAI,GAAGL,UAA+B,CAC/CM,OAAQ,CACJF,SAAUA,MApFlBoB,cAyFJ,SAAuBC,EAAaC,EAAkBtB,GAClD,OAAOF,EAAMG,IAAI,GAAGL,cAAmC,CACnDM,OAAQ,CACJ,KAAQmB,EACR,GAAMC,EACN,KAAQ,MACRtB,SAAUA,MA5FlBuB,gBAiGJ,SAAyBC,GACrB,OAAO1B,EAAMG,IAAI,GAAGJ,QAA6B,CAC7CK,OAAQ,CACJsB,UAnGRC,qBAwGJ,SAA8BD,GAC1B,OAAO1B,EAAMG,IAAI,GAAGJ,SAA8B,CAC9CK,OAAQ,CACJsB,UAxGRE,uBA6GJ,SAAgCpB,EAAWqB,EAAWC,GAClD,MAAMC,EAAgBD,GAAe,GACrC,OAAO9B,EAAM,CACTgC,IAAK,uBACLC,OAAQ,MACR7B,OAAQ9B,EAAE4D,OAAOH,EAAe,CAACI,IAAK3B,EAAWqB,cACjDO,QAAS,CACL,OAAU,0B,gCCtJ1B,0BAYA,SAASC,EAA2BC,EAAe5C,GAC/C,MAAO,CACH6C,SAAU,IACVC,SAAU,sCACVC,MAAO,CACHC,iBAAkB,KAEtBC,KAGJ,SAAkBF,GA8LdA,EAAMG,OAAO,oBAAoB,WAC7B,GAAIH,EAAMC,iBAAkB,CACxB,MAAMG,EAAOJ,EAAMC,kBA7LT,SAAUI,EAAQC,GAGhC,GAmJA,WACI,IAAIC,GAAa,EAEjB,IAAK,MAAMC,KAAOH,EAAQ,CAEtB,GADqBG,EAAIC,KAAKC,GAAiB,IAATA,GACpB,CACdH,GAAa,EACb,OAIR,OAAOA,EA9JPI,GACA,OAGJ,MAAMC,EAAOzE,GAAG0E,MAAMC,aAEhBC,EAAU5E,GAAG6E,OAAO,QAAQC,OAAO,OACpC5E,KAAK,QAAS,WACd6E,MAAM,UAAW,GACtB/E,GAAG6E,OAAO,QAAQG,GAAG,SAAS,WAC1BJ,EAAQG,MAAM,UAAW,MAG7B,MAEME,EAAcC,KAAKC,IAFX,IACC,KAC+B,IACxCC,EAAcH,EAAc,GAE5BI,EAAMrF,GAAGsF,IAAID,MACdD,YAAYA,GACZH,YAAYA,GAEXM,EAASvF,GAAGuF,OAAOC,QACpBC,QAAQ,KACRC,cAAc1F,GAAG2F,YACjBC,WAAW5F,GAAG6F,WAEbC,EAAO9F,GAAGsF,IAAIE,QACfO,OAAOX,GAENE,EAAMtF,GAAG6E,OAAO,uBAAuBC,OAAO,OAC/C5E,KAAK,UAAW,eAChBA,KAAK,sBAAuB,iBAC5B6E,MAAM,OAAQ,mBACdD,OAAO,KACP5E,KAAK,KAAM,UACXA,KAAK,YAAa,sBAEvBoF,EAAIR,OAAO,UACN5E,KAAK,IAAK+E,GACVF,MAAM,OAAQ,QAGnBQ,EAAOrB,OAAOA,GAGd,MAAM8B,EAAQV,EAAIrF,UAAU,UACvBgE,KAAKsB,EAAOU,QACZC,QAAQpB,OAAO,KACf5E,KAAK,QAAS,SACd8E,GAAG,aAsFR,SAAmBmB,EAAGC,GAClBZ,EAAMa,QAAQ,QAAQ,SAAUC,GAC5B,OAAOA,EAAEC,OAAOC,QAAUJ,GACnBE,EAAEG,OAAOD,QAAUJ,QAtFlCJ,EAAMlB,OAAO,SAAS4B,MAAK,SAAUP,EAAGC,GACpC,OAAOjC,EAAMiC,MAIjBJ,EAAMlB,OAAO,QACR5E,KAAK,MAAM,SAAUiG,EAAGC,GACrB,MAAO,QAAUA,KAEpBlG,KAAK,IAAKmF,GACVN,MAAM,QAAQ,SAAUoB,EAAGC,GACxB,OAAO3B,EAAK2B,MAGpBJ,EAAMlB,OAAO,QACRnF,MAAK,SAAUwG,GACZA,EAAEQ,OAASR,EAAES,WAAaT,EAAEU,UAAY,KAE3C3G,KAAK,KAAM,SACXA,KAAK,aAAa,SAAUiG,GACzB,MAAO,WAAuB,IAAVA,EAAEQ,MAAczB,KAAK4B,GAAK,IAAM,eAC9B1B,EAAc,IAAM,KACnCe,EAAEQ,MAAQzB,KAAK4B,GAAK,cAAgB,OAE9C/B,MAAM,eAAe,SAAUoB,GAC5B,OAAOA,EAAEQ,MAAQzB,KAAK4B,GAAK,MAAQ,QAEtCJ,MAAK,SAAUP,GACZ,OAAOhC,EAAMgC,EAAEK,UAIvB,MAAMhB,EAAQF,EAAIrF,UAAU,UACvBgE,KAAKsB,EAAOwB,QACZb,QAAQpB,OAAO,QACf5E,KAAK,QAAS,SACd6E,MAAM,QAAQ,SAAUoB,GACrB,OAAO1B,EAAK0B,EAAEM,OAAOD,UAExBzB,MAAM,eAAgB,OACtBA,MAAM,SAAU,QAChBA,MAAM,eAAgB,SACtBA,MAAM,SAAU,WAChB7E,KAAK,IAAK4F,GAEfN,EAAMR,GAAG,aAAa,WAClBhF,GAAG6E,OAAOmC,MAAMjC,MAAM,CAAC,eAAgB,SAG3CS,EAAMR,GAAG,YAAY,WACjBhF,GAAG6E,OAAOmC,MAAMjC,MAAM,CAAC,eAAgB,WAG3CS,EAAMR,GAAG,SAAS,SAAUmB,GACxB,MAAMxD,EAAcwB,EAAMgC,EAAEI,OAAOC,OAC7B5D,EAAmBuB,EAAMgC,EAAEM,OAAOD,OAClCS,EAAKjH,GAAGkH,MAAMC,MACdC,EAAKpH,GAAGkH,MAAMG,MAEpBvG,EAAqB4B,cAAcC,EAAaC,EAAkBiB,EAAMyD,eAAiBzD,EAAMyD,cAAcC,UAAUhE,KAClHiE,SAAQ,SAAUC,GAQf,IAAIC,EAAiB,sCANN,oBAAsB/E,EADf,mCAC6CC,EAAmB,UAC/DlD,EAAE0C,IAAIqF,EAAeE,MAAM,EAAG,KAAK,SAAUrB,GAChE,MAAMsB,EAAO,gCAAkD,QAAhBtB,EAAEnE,UAAsB,QAAU,QAAU,SAC3F,MAAO,oBAAsBmE,EAAEuB,UAAY,MAAQvB,EAAEwB,OAASF,EAAO,aACtEG,KAAK,IAGJN,EAAeO,OAAS,GACxBN,EAAiBA,EAAiB,gCAAkCD,EAAeO,OAAS,IAAIC,WAAa,uBAE7GP,GAAkC,SAEtC9C,EAAQsD,KAAKR,GACR3C,MAAM,OAAQ,EAAO,MAAMA,MAAM,MAAO,EAAO,SAG5DH,EAAQuD,aACHC,SAAS,KACTrD,MAAM,UAAW,MA4B1B/E,GAAG6E,OAAO,WAAWG,GAAG,cAAc,WAClCM,EAAIrF,UAAU,UAAUoG,QAAQ,QAAQ,MAkB5CrG,GAAG6E,OAAO,iBACLG,GAAG,aAZR,WAEI,MAAMqD,EAAS,IAAInJ,OAAOY,4BAG1BE,GAAG6E,OAAOmC,MAAM9G,KAAK,CACjBoI,KAAMD,EACNE,SAAU,gBAAkB7E,EAAc8E,sBAAwB,YAWtEC,CAAUxE,EAAKC,OAAQD,EAAKE,MAAOF,EAAK9B,iBApNxDxB,QACKC,OAAO,yDAA0D,CAC9D,0DACA,qDAEH8H,UAAU,oBAAqBjF,GAEpCA,EAA2B1C,QAAU,CAAC,gBAAiB","file":"27.350dba622e243e1ab5fb.bundle.js","sourcesContent":["var SVG = SVG || {};\n\nSVG.Export = function () {\n function getCSSRules(cssSourceFilePath) {\n var cssRules = $('link[href=\"' + cssSourceFilePath + '\"]')[0].sheet.rules;\n var cssStr = \"\";\n _.each(cssRules, function (value) {\n cssStr += value.cssText;\n });\n return cssStr;\n }\n\n function generateBase64ImageSource() {\n // add needed xml namespace\n var exportSvg = d3.selectAll(\"svg\")\n .attr({\n version: \"1.1\",\n xmlns: \"http://www.w3.org/2000/svg\"\n })\n .node().parentNode.innerHTML;\n\n // convert selected html to base64\n return \"data:image/svg+xml;charset=utf-8;base64,\" + btoa(unescape(encodeURIComponent(exportSvg)));\n }\n\n return {\n getCSSRules: getCSSRules,\n generateBase64ImageSource: generateBase64ImageSource\n };\n}();\n\nexport default SVG;\n","angular\n .module('graphdb.framework.rest.graphexplore.data.service', [])\n .factory('GraphDataRestService', GraphDataRestService);\n\nGraphDataRestService.$inject = ['$http'];\n\nconst CLASS_HIERARCHY_ENDPOINT = 'rest/class-hierarchy';\nconst DOMAIN_RANGE_ENDPOINT = 'rest/domain-range';\nconst DEPENDENCIES_ENDPOINT = 'rest/dependencies/';\nconst EXPORE_GRAPH_ENDPOINT = 'rest/explore-graph/';\n\nfunction GraphDataRestService($http) {\n return {\n // class hierarchy\n getClassHierarchyData,\n reloadClassHierarchy,\n getClassInstances,\n\n // domain-range graph\n getDomainRangeData,\n checkDomainRangeData,\n\n // class relationships\n getRelationshipsData,\n getRelationshipsClasses,\n getRelationshipsStatus,\n calculateRelationships,\n getPredicates,\n\n // instances graph\n getInstanceNode,\n getInstanceNodeLinks,\n\n // common\n getRdfsLabelAndComment\n };\n\n function getClassHierarchyData(graphURI) {\n return $http.get(CLASS_HIERARCHY_ENDPOINT, {\n params: {\n graphURI: graphURI\n }\n });\n }\n\n function reloadClassHierarchy(graphURI) {\n return $http.get(CLASS_HIERARCHY_ENDPOINT, {\n params: {\n doReload: true,\n graphURI: graphURI\n }\n });\n }\n\n function getClassInstances(targetUri) {\n return $http.get(`${CLASS_HIERARCHY_ENDPOINT}/class-instances`, {\n params: {\n targetUri\n }\n });\n }\n\n function checkDomainRangeData(targetUri) {\n return $http.head(DOMAIN_RANGE_ENDPOINT, {\n params: {\n targetUri\n }\n });\n }\n\n function getDomainRangeData(targetUri, collapsed) {\n return $http.get(DOMAIN_RANGE_ENDPOINT, {\n params: {\n targetUri,\n collapsed\n }\n });\n }\n\n function getRelationshipsData(selectedClasses, direction, graphURI) {\n return $http.get(`${DEPENDENCIES_ENDPOINT}matrix`, {\n params: {\n 'mode': direction,\n 'classes': _.map(selectedClasses, function (c) {\n return c.name;\n }),\n 'graphURI': graphURI\n }\n });\n }\n\n function getRelationshipsClasses(direction, graphURI) {\n return $http.get(`${DEPENDENCIES_ENDPOINT}classes`, {\n params: {\n 'mode': direction,\n 'graphURI': graphURI\n }\n });\n }\n\n function getRelationshipsStatus(graphURI) {\n return $http.get(`${DEPENDENCIES_ENDPOINT}status`, {\n params: {\n graphURI: graphURI\n }\n });\n }\n\n function calculateRelationships(graphURI) {\n return $http.get(`${DEPENDENCIES_ENDPOINT}update`, {\n params: {\n graphURI: graphURI\n }\n });\n }\n\n function getPredicates(sourceClass, destinationClass, graphURI) {\n return $http.get(`${DEPENDENCIES_ENDPOINT}predicates`, {\n params: {\n 'from': sourceClass,\n 'to': destinationClass,\n 'mode': 'all',\n graphURI: graphURI\n }\n });\n }\n\n function getInstanceNode(iri) {\n return $http.get(`${EXPORE_GRAPH_ENDPOINT}node`, {\n params: {\n iri\n }\n });\n }\n\n function getInstanceNodeLinks(iri) {\n return $http.get(`${EXPORE_GRAPH_ENDPOINT}links`, {\n params: {\n iri\n }\n });\n }\n\n function getRdfsLabelAndComment(targetUri, languages, extraParams) {\n const requestParams = extraParams || {};\n return $http({\n url: 'rest/explore/details',\n method: 'GET',\n params: _.extend(requestParams, {uri: targetUri, languages}),\n headers: {\n 'Accept': 'application/json'\n }\n });\n }\n}\n","import SVG from 'lib/common/svg-export';\nimport 'angular/rest/graph-data.rest.service';\n\nangular\n .module('graphdb.framework.graphexplore.directives.dependencies', [\n 'graphdb.framework.graphexplore.controllers.dependencies',\n 'graphdb.framework.rest.graphexplore.data.service'\n ])\n .directive('dependenciesChord', dependenciesChordDirective);\n\ndependenciesChordDirective.$inject = ['$repositories', 'GraphDataRestService'];\n\nfunction dependenciesChordDirective($repositories, GraphDataRestService) {\n return {\n restrict: 'A',\n template: '<div id=\"dependencies-chord\"></div>',\n scope: {\n dependenciesData: '='\n },\n link: linkFunc\n };\n\n function linkFunc(scope) {\n // Used http://bost.ocks.org/mike/uberdata/\n\n const drawChord = function (matrix, nodes) {\n\n // Don't try to draw chord for zero matrix\n if (isZeroMatrix()) {\n return;\n }\n\n const fill = d3.scale.category20();\n\n const tooltip = d3.select(\"body\").append(\"div\")\n .attr(\"class\", \"tooltip\")\n .style(\"opacity\", 0);\n d3.select(\"body\").on(\"click\", function () {\n tooltip.style(\"opacity\", 0);\n });\n\n const width = 800;\n const height = 800;\n const outerRadius = Math.min(width, height) / 2.8;\n const innerRadius = outerRadius - 24;\n\n const arc = d3.svg.arc()\n .innerRadius(innerRadius)\n .outerRadius(outerRadius);\n\n const layout = d3.layout.chord()\n .padding(.04)\n .sortSubgroups(d3.descending)\n .sortChords(d3.ascending);\n\n const path = d3.svg.chord()\n .radius(innerRadius);\n\n const svg = d3.select(\"#dependencies-chord\").append(\"svg\")\n .attr(\"viewBox\", \"0 0 \" + width + \" \" + height)\n .attr(\"preserveAspectRatio\", \"xMidYMid meet\")\n .style(\"font\", \"10px sans-serif\")\n .append(\"g\")\n .attr(\"id\", \"circle\")\n .attr(\"transform\", \"translate(\" + width / 2 + \",\" + height / 2 + \")\");\n\n svg.append(\"circle\")\n .attr(\"r\", outerRadius)\n .style(\"fill\", \"none\");\n\n // Compute the chord layout.\n layout.matrix(matrix);\n\n // Add a group per neighborhood.\n const group = svg.selectAll(\".group\")\n .data(layout.groups)\n .enter().append(\"g\")\n .attr(\"class\", \"group\")\n .on(\"mouseover\", mouseover);\n\n // Add a mouseover title.\n group.append(\"title\").text(function (d, i) {\n return nodes[i];\n });\n\n // Add the group arc.\n group.append(\"path\")\n .attr(\"id\", function (d, i) {\n return \"group\" + i;\n })\n .attr(\"d\", arc)\n .style(\"fill\", function (d, i) {\n return fill(i);\n });\n\n group.append(\"text\")\n .each(function (d) {\n d.angle = (d.startAngle + d.endAngle) / 2;\n })\n .attr(\"dy\", \".35em\")\n .attr(\"transform\", function (d) {\n return \"rotate(\" + (d.angle * 180 / Math.PI - 90) + \")\"\n + \"translate(\" + (innerRadius + 26) + \")\"\n + (d.angle > Math.PI ? \"rotate(180)\" : \"\");\n })\n .style(\"text-anchor\", function (d) {\n return d.angle > Math.PI ? \"end\" : null;\n })\n .text(function (d) {\n return nodes[d.index];\n });\n\n // Add the chords.\n const chord = svg.selectAll(\".chord\")\n .data(layout.chords)\n .enter().append(\"path\")\n .attr(\"class\", \"chord\")\n .style(\"fill\", function (d) {\n return fill(d.target.index);\n })\n .style(\"fill-opacity\", \".67\")\n .style(\"stroke\", \"#000\")\n .style(\"stroke-width\", \".25px\")\n .style(\"cursor\", \"pointer\")\n .attr(\"d\", path);\n\n chord.on(\"mouseover\", function () {\n d3.select(this).style({\"fill-opacity\": \"1\"});\n });\n\n chord.on(\"mouseout\", function () {\n d3.select(this).style({\"fill-opacity\": \".67\"});\n });\n\n chord.on(\"click\", function (d) {\n const sourceClass = nodes[d.source.index];\n const destinationClass = nodes[d.target.index];\n const px = d3.event.pageX;\n const py = d3.event.pageY;\n\n GraphDataRestService.getPredicates(sourceClass, destinationClass, scope.selectedGraph && scope.selectedGraph.contextID.uri)\n .success(function (predicatesData) {\n const directionIcon = \" <i class='fa fa-exchange'></i> \";\n const header = \"<div class='row'>\" + sourceClass + directionIcon + destinationClass + \"</div>\";\n const predicatesList = _.map(predicatesData.slice(0, 10), function (p) {\n const icon = \" <i class='fa fa-long-arrow-\" + (p.direction === \"out\" ? \"right\" : \"left\") + \"'></i>\";\n return \"<div class='row'>\" + p.predicate + \" : \" + p.weight + icon + \" </div>\";\n }).join(\"\");\n\n let tooltipContent = \"<div class='dependencies-tooltip'>\" + header + predicatesList;\n if (predicatesData.length > 10) {\n tooltipContent = tooltipContent + \"<div class='pull-right'>And \" + (predicatesData.length - 10).toString() + \" more...</div></div>\";\n } else {\n tooltipContent = tooltipContent + \"</div>\";\n }\n tooltip.html(tooltipContent)\n .style(\"left\", (px) + \"px\").style(\"top\", (py) + \"px\");\n });\n\n tooltip.transition()\n .duration(200)\n .style(\"opacity\", 1);\n });\n\n function mouseover(d, i) {\n chord.classed(\"fade\", function (p) {\n return p.source.index !== i\n && p.target.index !== i;\n });\n }\n\n /**\n * Checks if all values of the returned matrix are zero\n * @returns false if non zero value is found, true otherwise\n */\n function isZeroMatrix() {\n let zeroMatrix = true;\n\n for (const arr of matrix) {\n const nonZeroFound = arr.some(item => item !== 0);\n if (nonZeroFound) {\n zeroMatrix = false;\n break;\n }\n }\n\n return zeroMatrix;\n }\n\n d3.select(\"#circle\").on(\"mouseleave\", function () {\n svg.selectAll(\".chord\").classed(\"fade\", false);\n });\n\n /*\n * Prepares SVG document image export by adding xml namespaces and\n * additional style information\n */\n function prepareForSVGImageExport() {\n // convert selected html to base64\n const imgSrc = SVG.Export.generateBase64ImageSource();\n\n // set the binary image and a name for the downloadable file on the export button\n d3.select(this).attr({\n href: imgSrc,\n download: \"dependencies-\" + $repositories.getActiveRepository() + \".svg\"\n });\n }\n\n d3.select(\"#download-svg\")\n .on(\"mouseover\", prepareForSVGImageExport);\n };\n\n scope.$watch('dependenciesData', function () {\n if (scope.dependenciesData) {\n const data = scope.dependenciesData;\n drawChord(data.matrix, data.nodes, data.direction);\n }\n });\n }\n\n}\n"],"sourceRoot":""}
@@ -1,2 +0,0 @@
1
- (window.webpackJsonp=window.webpackJsonp||[]).push([[28],{215:function(t,e,r){"use strict";var a=a||{};a.Text=function(){function t(t,e,r,a){r=r||10;var n=e/3;return"string"==typeof t?(n*=10/(t.substring(0,e/3).length+1.5),n+=1,t.match(/[\u0900-\u0DFF\u1100-\u11FF\u2E80-\u2EFF\u3000-\u9FFF]/)&&(n*=.6),n<r&&(n=r),Math.round(n)):(n<r&&(n=r),Math.round(n))}return{calcFontSizeRaw:t,calcFontSize:function(e,r,a,n){return t(e,r,a)+"px"},getTextWithElipsisIfNeeded:function(t,e){return"string"==typeof t&&t.length>e?t.substring(0,e-3)+"...":t}}}(),a.Transition={fadeIn:function(t,e){t.style("opacity",0).transition().duration(e).style("opacity",1)},fadeOut:function(t,e){t.style("opacity",1).transition().duration(e).style("opacity",0)}},a.Click={delayDblClick:function(){var t=d3.dispatch("click","dblclick");return d3.rebind((function(e){var r,a=null;e.on("mousedown",(function(){r=d3.mouse(document.body),new Date})),e.on("mouseup",(function(e){var n,o;n=r,o=d3.mouse(document.body),Math.sqrt(Math.pow(n[0]-o[0],2),Math.pow(n[1]-o[1],2))>5||(a?(window.clearTimeout(a),a=null,t.dblclick(e)):a=window.setTimeout((d3.event,function(){t.click(e),a=null}),250))}))}),t,"on")}},e.a=a},216:function(t,e,r){"use strict";var a=a||{};a.Export={getCSSRules:function(t){var e=$('link[href="'+t+'"]')[0].sheet.rules,r="";return _.each(e,(function(t){r+=t.cssText})),r},generateBase64ImageSource:function(){var t=d3.selectAll("svg").attr({version:"1.1",xmlns:"http://www.w3.org/2000/svg"}).node().parentNode.innerHTML;return"data:image/svg+xml;charset=utf-8;base64,"+btoa(unescape(encodeURIComponent(t)))}},e.a=a},65:function(t,e,r){"use strict";r.r(e);var a=r(216),n=r(215);r(4);function o(t,e,r,o,s,i,c,l,d,u,p,f,g){return{restrict:"AE",template:'<div id="domain-range"></div>',scope:{showPredicatesInfoPanel:"=",selectedPredicate:"=",collapseEdges:"="},link:function(u){const p=l((function(){!function(u){d3.selection.prototype.moveToFront=function(){return this.each((function(){d3.select(this.parentNode.appendChild(this))}))},d3.selection.prototype.moveToBack=function(){return this.each((function(){const t=this.parentNode.firstChild;t&&this.parentNode.insertBefore(this,t)}))};var p=1200,h=p/18,y=p/110,x=y/2,m=p/90,v=p/1e3,k=p/600,b=d3.layout.force().size([p,600]).charge(-900),w=b.drag().on("dragstart",(function(t){d3.select(this).classed("selected",t.selected=!0)})),E=d3.select("#domain-range").append("svg").attr("viewBox","0 0 "+p+" 600").attr("preserveAspectRatio","xMidYMid meet").on("dblclick.zoom",null),N=E.append("defs");N.append("marker").attr({id:"arrow",viewBox:"0 -5 10 10",refX:10,refY:0,markerUnits:"strokeWidth",markerWidth:5,markerHeight:5,orient:"auto",fill:f}).append("path").attr({d:"M0,-5L10,0L0,5",class:"arrowHead"}),N.append("marker").attr({id:"collapsed-arrow",viewBox:"0 -5 10 10",refX:9,refY:0,markerUnits:"strokeWidth",markerWidth:4,markerHeight:4,orient:"auto",fill:f}).append("path").attr({d:"M0,-5L10,0L0,5",class:"arrowHead"}),N.append("marker").attr({id:"arrow-loop",viewBox:"0 -5 10 10",refX:7,refY:0,markerUnits:"strokeWidth",markerWidth:5,markerHeight:5,orient:"auto",fill:f}).append("path").attr({d:"M0,-5L10,0L0,5",class:"arrowHead"}),d3.select("#download-svg").on("mouseover",(function(){var t=a.a.Export.getCSSRules("css/domain-range-graph.css?v=10.0.0-M2-1");$("defs").append('<style type="text/css"><![CDATA['+t+"]]></style>");var e=a.a.Export.generateBase64ImageSource();d3.select(this).attr({href:e,download:"domain-range-graph-"+r.getActiveRepository()+".svg"})}));var C=p/7,R=1.2*C,A=d3.select(".legend-container").append("svg").attr("viewBox","0 0 "+C+" "+R).attr("preserveAspectRatio","xMidYMid meet");A.append("rect").attr({width:C,height:R}).style("fill","rgba(235, 235, 235, 0.9)");var T=p/75,L=p/40,_=T+h/2.5,M=L,U=_+p/90,P=m/1.1,j=L,O=(A.append("circle").attr({class:"legend-class-node",cx:(T+_)/2,cy:j,r:h/4.5}),M+p/370);A.append("text").attr({x:U,y:O}).style("font-size",P+"px").text("main class node");var I=j+p/30;A.append("circle").attr({class:"legend-object-node",cx:(T+_)/2,cy:I,r:y/1.25});var F=O+p/30;A.append("text").attr({x:U,y:F}).style("font-size",P+"px").text("class node");var S=I+p/45;A.append("circle").attr({class:"legend-datatype-node",cx:(T+_)/2,cy:S,r:x});var D=F+p/45;A.append("text").attr({x:U,y:D}).style("font-size",P+"px").text("datatype node");var B=S+p/45;d3.select(".legend-class-node");A.append("line").attr({class:"property-arrow",x1:T,y1:B,x2:_,y2:B}).style("stroke-width",v).attr("marker-end","url("+s.absUrl()+"#arrow)"),A.append("text").attr({x:U,y:B+p/370}).style("font-size",P+"px").text("explicit property");var z=B+p/45;A.append("line").attr({class:"implicit-property-arrow",x1:T,y1:z,x2:_,y2:z}).style("stroke-width",v).attr("marker-end","url("+s.absUrl()+"#arrow)"),A.append("text").attr({x:U,y:z+p/370}).style("font-size",P+"px").text("implicit property");var G=z+p/45;A.append("line").attr({class:"collapsed-property-arrow",x1:T,y1:G,x2:_,y2:G}).style("stroke-width",k).attr("marker-end","url("+s.absUrl()+"#collapsed-arrow)"),A.append("text").attr({x:U,y:G+p/370}).style("font-size",P+"px").text("collapsed property");var W=E,H=s.search().uri,X=s.search().name,Y=s.search().collapsed;o.getDomainRangeData(H,Y).success((function(t,e,r){u.domainRangeGraphData=t})).error((function(t){d.error("Request for "+X+" failed!")})),$(window).on("popstate",(function(){i.set(c.DOMAIN_RANGE_WENT_BACK,!0)})),e.onpopstate=function(e){e.state&&t.$broadcast("changeCollapsedEdgesState",e.state.collapsed)},u.$watch("collapseEdges",(function(){angular.isUndefined(u.collapseEdges)||(i.set(c.DOMAIN_RANGE_COLLAPSE_EDGES,u.collapseEdges),"true"!==i.get(c.DOMAIN_RANGE_WENT_BACK)&&function(e){t.$broadcast("switchEdgeMode",{uri:H,name:X,collapsed:e})}(u.collapseEdges),i.remove(c.DOMAIN_RANGE_WENT_BACK))})),u.$watch("domainRangeGraphData",(function(){if(u.domainRangeGraphData){var r=angular.copy(u.domainRangeGraphData);b.nodes(r.nodes).links(r.links);var a=W.selectAll(".link").data(r.links).enter().append("g");function o(t){t.style("stroke",f),t.style("stroke-width",k),t.attr("marker-end","url("+s.absUrl()+"#collapsed-arrow)")}var i,c,d=0;a.each((function(t){if(t.objectPropNodeClassUri!==H)i=a.append("line").attr({class:"link","marker-end":"url("+s.absUrl()+"#arrow)"}).style("stroke-width",v).each((function(t){switch(t.propertyType){case"objectLeft":t.targetRadius=h;break;case"objectRight":t.targetRadius=y;break;case"datatype":t.targetRadius=x;break;default:t.targetRadius=0}var e=d3.select(this);t.targetNodeEdgeCount>1?o(e):t.implicit&&e.style("stroke-dasharray","3, 3")}));else{if(angular.isUndefined(c)){var e=h/2;c=d3.select(this).append("path").attr({d:"M 0 0 A "+e+" "+e+" 0 1 1 0 "+e,class:"loop-link",fill:"none","marker-end":"url("+s.absUrl()+"#arrow-loop)"}).style("stroke-width",v)}(d+=t.targetNodeEdgeCount)>1&&o(d3.select(".loop-link"))}}));var E={};function N(){$.isEmptyObject(E)||(E.text.style("fill","black"),E.background.style("fill","#f0f0f0"))}function C(t){N(),E.text=d3.select(this),E.background=d3.select(this.previousSibling),E.text.style("fill","white"),E.background.style("fill",f),l((function(){u.showPredicatesInfoPanel=!0,u.selectedPredicate=t})),d3.event.stopPropagation()}$("document").ready((function(){$("#domain-range").bind("click",N)}));var R=a.append("text").attr("class",(function(t){return t.objectPropNodeClassUri===H?"loop-link-property-name":"property-name"})).attr("dx",(function(t){return h/2*("objectLeft"===t.propertyType?1:-1)})).style("text-anchor",(function(t){return"objectLeft"===t.propertyType?"end":"start"})).style("font-size",m).text((function(t){return t.targetNodeEdgeCount>1?t.targetNodeEdgeCount+" predicates":t.name}));R.each((function(t){var r=d3.select(this);/\d\spredicates/.test(r.text())?r.style("font-weight","bold").on("click",C):r.on("click",(function(t){e.open("resource?uri="+encodeURIComponent(t.uri),"_blank")}))}));var A=p/600,T=a.append("rect").attr("class",(function(t){return t.objectPropNodeClassUri!==H?"link-background":"loop-link-background"})).attr("width",(function(t){return t.calculatedWidth=this.previousSibling.getBBox().width,t.calculatedWidth+2*A})).attr("height",(function(t){return t.calculatedHeight=this.previousSibling.getBBox().height,t.calculatedHeight+A})).attr("transform",(function(t){var e=A-h/2*("objectLeft"===t.propertyType?1:-1);return"objectLeft"===t.propertyType&&(e+=t.calculatedWidth),"translate(-"+e+",-"+(A+t.calculatedHeight/2)+")"})).on("click",(function(t){d3.event.stopPropagation()})),L=W.selectAll(".node").data(r.nodes).enter().append("g"),_=L.filter((function(t){return t.objectPropClassUri!==H})).append("circle").each((function(t){var e=d3.select(this);"main"===t.classPosition?e.attr({class:"class-node",r:h}).attr("marker-end","url("+s.absUrl()+"#loop-link)"):null===t.objectPropClassName?e.attr({class:"datatype-node",r:x}):e.attr({class:"object-prop-node",r:y})})).call(w);d3.selectAll(".object-prop-node").on("dblclick",(function(e,r){u.$apply((function(){t.$broadcast("reloadDomainRangeGraphView",e,r)}))})),L.filter((function(t){return t.objectPropClassName&&t.objectPropClassUri!==H})).append("text").attr("class",(function(t){return t.classPosition+"-class-label"})).style("font-size",m).text((function(t){return t.objectPropClassName})).on("click",(function(t){e.open("resource?uri="+encodeURIComponent(t.objectPropClassUri),"_blank")}));var M=L.select("text");W.select(".class-node").each((function(){d3.select(this.parentNode).append("text").attr("class","rdf-class-label").style("font-size",(function(t){return n.a.Text.calcFontSize(X,h)})).text(X).on("click",(function(t){e.open("resource?uri="+encodeURIComponent(H),"_blank")}))}));var U=W.select(".class-node + text"),P=d3.select(".class-node"),j=d3.selectAll(".loop-link-background"),O=d3.selectAll(".loop-link-property-name");if(R=d3.selectAll(".property-name"),!angular.isUndefined(c)){var I=[];j.each((function(t,e){d3.select(this);I.push({idx:e,width:t.calculatedWidth,height:t.calculatedHeight})}))}b.on("tick",(function(t){var e=8*t.alpha;function r(t){var e=t.x+2*h,r=t.y-h/1.9;var a=[];j.each((function(n,o){a.push(n),o<g?function(a,n){var o=$.grep(I,(function(t){return t.idx==n}));n>0&&(e+=parseFloat(n*(o[0].height/(n/1.4)))),a.attr({transform:"rotate(270, "+t.x+","+t.y+") translate("+e+","+r+")",width:o[0].height,height:o[0].width})}(d3.select(this),o):d3.select(this).remove()})),function(t){var e;d3.select(".view-more-preds-label").style("font-weight","bold").each((function(r){r.target.allEdges=t,e=this.getComputedTextLength()})).on("click",C),d3.select(".view-more-preds-rect").attr("height",e+2*A)}(a)}i.filter((function(t){return t.objectPropNodeClassUri!==H})).attr("x1",(function(t){return t.source.x})).attr("y1",(function(t){return t.source.y})).attr("x2",(function(t){return t.targetX})).attr("y2",(function(t){return t.targetY})).each((function(t){!function(t){"objectLeft"===t.propertyType?(t.source.x-=8*e,t.source.y-=e/9):(t.target.x+=8*e,t.target.y-=e/9)}(t);var r=Math.atan2(t.target.y-t.source.y,t.target.x-t.source.x);t.targetX=t.target.x-Math.cos(r)*t.targetRadius,t.targetY=t.target.y-Math.sin(r)*t.targetRadius})),_.each((function(t){"main"!==t.classPosition||angular.isUndefined(c)||(!function(t){var e=t.x+.96*h,r=t.y-h/5.7-5;c.attr("transform","rotate(270, "+t.x+","+t.y+") translate("+e+","+r+")")}(t),function(t){function e(e,r){var a=$.grep(I,(function(t){return t.idx==r})),n=0;r>0&&(n=parseFloat(2*r*(a[0].height/1.4)));var o=t.x,s=t.y-2.1*h-n;e.attr({x:o,y:s}).moveToFront()}O.each((function(t,r){var a=d3.select(this),n=O.size()-g;n<0?e(a,r):(0==r&&!u.collapseEdges&&n>1&&(!function(t,e,r){t.classed("view-more-preds-label",!0).text(r+" predicates more ..."),null!==this.nextSibling&&e.classed("view-more-preds-rect",!0)}(a,d3.select(this.nextSibling),n),e(a,r)),r<g?e(a,r):a.remove())}))}(t),r(t)),t.objectPropClassUri!==H&&d3.select(this).attr("cx",(function(t){return"main"===t.classPosition?function(t){!window.ActiveXObject&&"ActiveXObject"in window&&(Math.log10=function(t){return Math.log(t)/Math.LN10});var e=P.attr("cx")-p/2,r=.5*Math.log10(Math.abs(e));return t.x+=e>0?-r:r,t.x}(t):t.x})).attr("cy",(function(t){return t.y}))})),U.attr("x",(function(t){return t.x})).attr("y",(function(t){return t.y})).moveToFront(),T.filter((function(t){return t.objectPropNodeClassUri!==H})).attr("x",(function(t){return t.target.x>t.source.x?t.source.x+(t.target.x-t.source.x)/2:t.target.x+(t.source.x-t.target.x)/2})).attr("y",(function(t){return t.target.y>t.source.y?t.source.y+(t.target.y-t.source.y)/2:t.target.y+(t.source.y-t.target.y)/2})).moveToFront(),R.attr("x",(function(t){return t.target.x>t.source.x?t.source.x+(t.target.x-t.source.x)/2:t.target.x+(t.source.x-t.target.x)/2})).attr("y",(function(t){return t.target.y>t.source.y?t.source.y+(t.target.y-t.source.y)/2:t.target.y+(t.source.y-t.target.y)/2})).moveToFront(),M.attr("x",(function(t){return"right"===t.classPosition?t.x+1.2*y:t.x-1.2*y})).attr("y",(function(t){return t.y})).moveToFront()})).linkDistance(p/3.5).start()}}))}(u)}),50);u.$on("$destroy",(function(){l.cancel(p)}))}}}angular.module("graphdb.framework.graphexplore.directives.domainrange",["graphdb.framework.graphexplore.controllers.domainrange","graphdb.framework.utils.localstorageadapter"]).constant("ONTO_RED","#F04E23").constant("ONTO_GREEN","#0CB0A0").constant("ONTO_BLUE","#003663").constant("NON_COLLAPSED_REFLEXIVE_LINK_LIMIT",6).directive("domainRangeGraph",o),o.$inject=["$rootScope","$window","$repositories","GraphDataRestService","$location","LocalStorageAdapter","LSKeys","$timeout","toastr","ONTO_RED","ONTO_GREEN","ONTO_BLUE","NON_COLLAPSED_REFLEXIVE_LINK_LIMIT"]}}]);
2
- //# sourceMappingURL=28.e687c87a5f1dc8a30fd0.bundle.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["webpack:///./src/js/lib/common/d3-utils.js","webpack:///./src/js/lib/common/svg-export.js","webpack:///./src/js/angular/graphexplore/directives/domain-range-graph.directive.js"],"names":["D3","Text","calcFontSizeRaw","text","radius","minimumSize","isMultiline","textSize","substring","length","match","Math","round","calcFontSize","getTextWithElipsisIfNeeded","str","threshold","Transition","fadeIn","sel","duration","style","transition","fadeOut","Click","delayDblClick","event","d3","dispatch","rebind","selection","down","wait","on","mouse","document","body","Date","d","a","b","sqrt","pow","window","clearTimeout","dblclick","setTimeout","click","SVG","Export","getCSSRules","cssSourceFilePath","cssRules","$","sheet","rules","cssStr","_","each","value","cssText","generateBase64ImageSource","exportSvg","selectAll","attr","version","xmlns","node","parentNode","innerHTML","btoa","unescape","encodeURIComponent","domainRangeGraphDirective","$rootScope","$window","$repositories","GraphDataRestService","$location","LocalStorageAdapter","LSKeys","$timeout","toastr","ONTO_RED","ONTO_GREEN","ONTO_BLUE","NON_COLLAPSED_REFLEXIVE_LINK_LIMIT","restrict","template","scope","showPredicatesInfoPanel","selectedPredicate","collapseEdges","link","timer","prototype","moveToFront","this","select","appendChild","moveToBack","firstChild","insertBefore","width","mainClassSize","otherClassSize","datatypeSize","labelFontSize","basicArrowStrokeWidth","collapsedArrowStrokeWidth","force","layout","size","charge","drag","classed","selected","svg","append","defs","id","viewBox","refX","refY","markerUnits","markerWidth","markerHeight","orient","fill","class","imgSrc","href","download","getActiveRepository","legendBackgroundWidth","legendBackgroundHeight","legendCellGroup","height","sourceX","sourceY","targetX","targetY","legendTextX","legendLabelFontSize","classNodeY","classNodeTextY","cx","cy","r","x","y","objectNodeY","objectNodeTextY","datatypeNodeY","datatypeNodeTextY","basicPropertyArrowY","x1","y1","x2","y2","absUrl","implicitPropArrowY","collapsedPropArrowY","g","selectedRdfUri","search","uri","classNodeLabel","name","collapsed","getDomainRangeData","success","response","status","headers","domainRangeGraphData","error","set","DOMAIN_RANGE_WENT_BACK","onpopstate","state","$broadcast","$watch","angular","isUndefined","DOMAIN_RANGE_COLLAPSE_EDGES","get","switchEdgeMode","remove","graph","copy","nodes","links","linkGroup","data","enter","styleArrowsInCollapsedMode","loopLink","loopLinkEdgeCount","objectPropNodeClassUri","propertyType","targetRadius","targetNodeEdgeCount","implicit","loopLinkSize","previousPropertyNameSelection","disableCollapsedPredicateLabelHightlighting","isEmptyObject","background","onCollapsedPropertyNameClick","previousSibling","stopPropagation","ready","bind","propertyNames","test","open","textPadding","linkRect","calculatedWidth","getBBox","calculatedHeight","translateX","nodeGroup","filter","objectPropClassUri","classPosition","objectPropClassName","call","$apply","rdfClassName","classNode","loopLinkBackgroundSel","loopLinkPropertyName","loopLinkBackgroundProps","i","push","idx","e","k","alpha","positionLoopLinkBackgrounds","loopLinkBackgroundY","loopLinkBackgroundX","allLoopLinkEdges","dd","foundLoopLinkBackgroundProps","grep","obj","parseFloat","transform","reposition","viewMoreTextWidth","target","allEdges","getComputedTextLength","adjustViewMorePredicatesLabel","source","pushEdgesToLeftAndRight","angle","atan2","cos","sin","loopTranslateX","loopTranslateY","positionLoopLink","currentBackgroundHeight","loopLinkLabelX","loopLinkLabelY","predicatesLeft","labelSel","backgroundSel","nextSibling","createViewMorePredicatesLabel","positionLoopLinkLabels","log10","log","LN10","absDiff","logOffset","abs","centerClassNode","linkDistance","start","renderDomainRangeGraph","$on","cancel","module","constant","directive","$inject"],"mappings":"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","file":"28.e687c87a5f1dc8a30fd0.bundle.js","sourcesContent":["var D3 = D3 || {};\n\nD3.Text = function () {\n function calcFontSizeRaw(text, radius, minimumSize, isMultiline) {\n minimumSize = minimumSize || 10;\n\n var textSize = radius / 3;\n if (typeof text === \"string\") {\n var len = text.substring(0, radius / 3).length + 1.5;\n textSize *= 10 / len;\n textSize += 1;\n // experimental alternative method:\n // var textSize = 3.3 * radius / text.length;\n\n // Tweak for Indian scripts and CJK ones\n if (text.match(/[\\u0900-\\u0DFF\\u1100-\\u11FF\\u2E80-\\u2EFF\\u3000-\\u9FFF]/)) {\n textSize *= 0.6;\n }\n\n if (textSize < minimumSize) {\n textSize = minimumSize;\n }\n\n /* Disabled for the time being, better without this\n if (isMultiline) {\n var numWords = text.split(/\\s+/).length;\n if (numWords > 1) {\n if (numWords > 4) {\n numWords = 4;\n }\n textSize += textSize * (4 - numWords) * 0.1;\n }\n }\n */\n\n return Math.round(textSize);\n }\n\n if (textSize < minimumSize) {\n textSize = minimumSize;\n }\n\n return Math.round(textSize);\n }\n\n function calcFontSize(text, radius, minimumSize, isMultiline) {\n return calcFontSizeRaw(text, radius, minimumSize, isMultiline) + 'px';\n }\n\n function getTextWithElipsisIfNeeded(str, threshold) {\n if (typeof str === \"string\") {\n if (str.length > threshold) {\n return str.substring(0, threshold - 3) + \"...\";\n }\n }\n return str;\n }\n\n return {\n calcFontSizeRaw: calcFontSizeRaw,\n calcFontSize: calcFontSize,\n getTextWithElipsisIfNeeded: getTextWithElipsisIfNeeded\n };\n}();\n\nD3.Transition = function () {\n function fadeIn(sel, duration) {\n sel.style(\"opacity\", 0.0)\n .transition()\n .duration(duration)\n .style(\"opacity\", 1.0);\n }\n\n function fadeOut(sel, duration) {\n sel.style(\"opacity\", 1.0)\n .transition()\n .duration(duration)\n .style(\"opacity\", 0.0);\n }\n\n return {\n fadeIn: fadeIn,\n fadeOut: fadeOut\n };\n}();\n\nD3.Click = function () {\n function delayDblClick() {\n var event = d3.dispatch('click', 'dblclick');\n\n function cc(selection) {\n var down,\n tolerance = 5,\n last,\n wait = null;\n\n // euclidean distance\n function dist(a, b) {\n return Math.sqrt(Math.pow(a[0] - b[0], 2), Math.pow(a[1] - b[1], 2));\n }\n\n selection.on('mousedown', function () {\n down = d3.mouse(document.body);\n last = +new Date();\n });\n selection.on('mouseup', function (d) {\n if (dist(down, d3.mouse(document.body)) > tolerance) {\n return;\n } else {\n if (wait) {\n window.clearTimeout(wait);\n wait = null;\n event.dblclick(d);\n } else {\n wait = window.setTimeout((function (e) {\n return function () {\n event.click(d);\n wait = null;\n };\n })(d3.event), 250);\n }\n }\n });\n }\n\n return d3.rebind(cc, event, 'on');\n }\n\n return {\n delayDblClick: delayDblClick\n };\n}();\n\nexport default D3;\n","var SVG = SVG || {};\n\nSVG.Export = function () {\n function getCSSRules(cssSourceFilePath) {\n var cssRules = $('link[href=\"' + cssSourceFilePath + '\"]')[0].sheet.rules;\n var cssStr = \"\";\n _.each(cssRules, function (value) {\n cssStr += value.cssText;\n });\n return cssStr;\n }\n\n function generateBase64ImageSource() {\n // add needed xml namespace\n var exportSvg = d3.selectAll(\"svg\")\n .attr({\n version: \"1.1\",\n xmlns: \"http://www.w3.org/2000/svg\"\n })\n .node().parentNode.innerHTML;\n\n // convert selected html to base64\n return \"data:image/svg+xml;charset=utf-8;base64,\" + btoa(unescape(encodeURIComponent(exportSvg)));\n }\n\n return {\n getCSSRules: getCSSRules,\n generateBase64ImageSource: generateBase64ImageSource\n };\n}();\n\nexport default SVG;\n","import SVG from 'lib/common/svg-export';\nimport D3 from 'lib/common/d3-utils';\nimport 'angular/utils/local-storage-adapter';\n\nangular\n .module('graphdb.framework.graphexplore.directives.domainrange', [\n 'graphdb.framework.graphexplore.controllers.domainrange',\n 'graphdb.framework.utils.localstorageadapter'\n ])\n .constant('ONTO_RED', '#F04E23')\n .constant('ONTO_GREEN', '#0CB0A0')\n .constant('ONTO_BLUE', '#003663')\n .constant('NON_COLLAPSED_REFLEXIVE_LINK_LIMIT', 6)\n .directive('domainRangeGraph', domainRangeGraphDirective);\n\ndomainRangeGraphDirective.$inject = ['$rootScope', '$window', '$repositories', 'GraphDataRestService', '$location', 'LocalStorageAdapter', 'LSKeys', '$timeout', 'toastr', 'ONTO_RED', 'ONTO_GREEN', 'ONTO_BLUE', 'NON_COLLAPSED_REFLEXIVE_LINK_LIMIT'];\n\nfunction domainRangeGraphDirective($rootScope, $window, $repositories, GraphDataRestService, $location, LocalStorageAdapter, LSKeys, $timeout, toastr, ONTO_RED, ONTO_GREEN, ONTO_BLUE, NON_COLLAPSED_REFLEXIVE_LINK_LIMIT) {\n return {\n restrict: 'AE',\n template: '<div id=\"domain-range\"></div>',\n scope: {\n showPredicatesInfoPanel: '=',\n selectedPredicate: '=',\n collapseEdges: '='\n },\n link: linkFunc\n };\n\n function linkFunc(scope) {\n const timer = $timeout(function () {\n renderDomainRangeGraph(scope);\n }, 50);\n\n scope.$on(\"$destroy\", function () {\n $timeout.cancel(timer);\n });\n }\n\n function renderDomainRangeGraph(scope) {\n d3.selection.prototype.moveToFront = function () {\n return this.each(function () {\n d3.select(this.parentNode.appendChild(this));\n });\n };\n\n d3.selection.prototype.moveToBack = function () {\n return this.each(function () {\n const firstChild = this.parentNode.firstChild;\n if (firstChild) {\n this.parentNode.insertBefore(this, firstChild);\n }\n });\n };\n\n var width = 1200,\n height = 600;\n\n var mainClassSize = width / 18,\n otherClassSize = width / 110,\n datatypeSize = otherClassSize / 2,\n labelFontSize = width / 90,\n basicArrowStrokeWidth = width / 1000,\n collapsedArrowStrokeWidth = width / 600;\n\n\n var force = d3.layout.force()\n .size([width, height])\n .charge(-900);\n\n var drag = force.drag()\n .on(\"dragstart\", dragstart);\n\n var svg = d3.select(\"#domain-range\")\n .append(\"svg\")\n .attr(\"viewBox\", \"0 0 \" + width + \" \" + height)\n .attr(\"preserveAspectRatio\", \"xMidYMid meet\")\n .on(\"dblclick.zoom\", null);\n\n var defs = svg.append(\"defs\");\n\n defs.append(\"marker\")\n .attr({\n id: \"arrow\",\n viewBox: \"0 -5 10 10\",\n refX: 10,\n refY: 0,\n markerUnits: \"strokeWidth\",\n markerWidth: 5,\n markerHeight: 5,\n orient: \"auto\",\n fill: ONTO_BLUE\n })\n .append(\"path\")\n .attr({\n d: \"M0,-5L10,0L0,5\",\n class: \"arrowHead\"\n });\n\n defs.append(\"marker\")\n .attr({\n id: \"collapsed-arrow\",\n viewBox: \"0 -5 10 10\",\n refX: 9,\n refY: 0,\n markerUnits: \"strokeWidth\",\n markerWidth: 4,\n markerHeight: 4,\n orient: \"auto\",\n fill: ONTO_BLUE\n })\n .append(\"path\")\n .attr({\n d: \"M0,-5L10,0L0,5\",\n class: \"arrowHead\"\n });\n\n defs.append(\"marker\")\n .attr({\n id: \"arrow-loop\",\n viewBox: \"0 -5 10 10\",\n refX: 7,\n refY: 0,\n markerUnits: \"strokeWidth\",\n markerWidth: 5,\n markerHeight: 5,\n orient: \"auto\",\n fill: ONTO_BLUE\n })\n .append(\"path\")\n .attr({\n d: \"M0,-5L10,0L0,5\",\n class: \"arrowHead\"\n });\n\n /*\n * Prepares SVG document image export by adding xml namespaces and\n * additional style information\n */\n function prepareForSVGImageExport() {\n // get css rules for the diagram\n var cssRules = SVG.Export.getCSSRules(\"css/domain-range-graph.css?v=10.0.0-M2-1\");\n\n // inline css rules in a defs tag\n $(\"defs\").append('<style type=\"text/css\"><![CDATA[' + cssRules + ']]></style>');\n\n // convert selected html to base64\n var imgSrc = SVG.Export.generateBase64ImageSource();\n\n // set the binary image and a name for the downloadable file on the export button\n d3.select(this).attr({\n href: imgSrc,\n download: \"domain-range-graph-\" + $repositories.getActiveRepository() + \".svg\"\n });\n }\n\n d3.select(\"#download-svg\")\n .on(\"mouseover\", prepareForSVGImageExport);\n\n // start of code for legend\n var legendBackgroundWidth = width / 7;\n var legendBackgroundHeight = legendBackgroundWidth * 1.2;\n\n var svgLegend = d3.select(\".legend-container\")\n .append(\"svg\")\n .attr(\"viewBox\", \"0 0 \" + legendBackgroundWidth + \" \" + legendBackgroundHeight)\n .attr(\"preserveAspectRatio\", \"xMidYMid meet\");\n\n var legendCellGroup = svgLegend;\n\n legendCellGroup.append(\"rect\")\n .attr({\n width: legendBackgroundWidth,\n height: legendBackgroundHeight\n })\n .style(\"fill\", \"rgba(235, 235, 235, 0.9)\");\n\n var sourceX = width / 75;\n var sourceY = width / 40;\n var targetX = sourceX + mainClassSize / 2.5;\n var targetY = sourceY;\n\n var legendTextX = targetX + width / 90;\n var legendLabelFontSize = labelFontSize / 1.1;\n\n var classNodeY = sourceY;\n var legendClassNode = legendCellGroup\n .append(\"circle\")\n .attr({\n class: \"legend-class-node\",\n cx: (sourceX + targetX) / 2,\n cy: classNodeY,\n r: mainClassSize / 4.5\n });\n\n var classNodeTextY = targetY + width / 370;\n legendCellGroup\n .append(\"text\")\n .attr({\n x: legendTextX,\n y: classNodeTextY\n })\n .style('font-size', legendLabelFontSize + 'px')\n .text(\"main class node\");\n\n var objectNodeY = classNodeY + width / 30;\n legendCellGroup\n .append(\"circle\")\n .attr({\n class: \"legend-object-node\",\n cx: (sourceX + targetX) / 2,\n cy: objectNodeY,\n r: otherClassSize / 1.25\n });\n\n var objectNodeTextY = classNodeTextY + width / 30;\n legendCellGroup\n .append(\"text\")\n .attr({\n x: legendTextX,\n y: objectNodeTextY\n })\n .style('font-size', legendLabelFontSize + 'px')\n .text(\"class node\");\n\n var datatypeNodeY = objectNodeY + width / 45;\n legendCellGroup\n .append(\"circle\")\n .attr({\n class: \"legend-datatype-node\",\n cx: (sourceX + targetX) / 2,\n cy: datatypeNodeY,\n r: datatypeSize\n });\n\n var datatypeNodeTextY = objectNodeTextY + width / 45;\n legendCellGroup\n .append(\"text\")\n .attr({\n x: legendTextX,\n y: datatypeNodeTextY\n })\n .style('font-size', legendLabelFontSize + 'px')\n .text(\"datatype node\");\n\n var basicPropertyArrowY = datatypeNodeY + width / 45;\n var classNodeSel = d3.select('.legend-class-node');\n legendCellGroup\n .append(\"line\")\n .attr({\n class: \"property-arrow\",\n x1: sourceX,\n y1: basicPropertyArrowY,\n x2: targetX,\n y2: basicPropertyArrowY\n })\n .style(\"stroke-width\", basicArrowStrokeWidth)\n .attr(\"marker-end\", \"url(\" + $location.absUrl() + \"#arrow)\");\n\n legendCellGroup\n .append(\"text\")\n .attr({\n x: legendTextX,\n y: basicPropertyArrowY + (width / 370)\n })\n .style('font-size', legendLabelFontSize + 'px')\n .text(\"explicit property\");\n\n var implicitPropArrowY = basicPropertyArrowY + width / 45;\n legendCellGroup\n .append(\"line\")\n .attr({\n class: \"implicit-property-arrow\",\n x1: sourceX,\n y1: implicitPropArrowY,\n x2: targetX,\n y2: implicitPropArrowY\n })\n .style(\"stroke-width\", basicArrowStrokeWidth)\n .attr(\"marker-end\", \"url(\" + $location.absUrl() + \"#arrow)\");\n\n legendCellGroup\n .append(\"text\")\n .attr({\n x: legendTextX,\n y: implicitPropArrowY + (width / 370)\n })\n .style('font-size', legendLabelFontSize + 'px')\n .text(\"implicit property\");\n\n var collapsedPropArrowY = implicitPropArrowY + width / 45;\n legendCellGroup\n .append(\"line\")\n .attr({\n class: \"collapsed-property-arrow\",\n x1: sourceX,\n y1: collapsedPropArrowY,\n x2: targetX,\n y2: collapsedPropArrowY\n })\n .style(\"stroke-width\", collapsedArrowStrokeWidth)\n .attr(\"marker-end\", \"url(\" + $location.absUrl() + \"#collapsed-arrow)\");\n\n legendCellGroup\n .append(\"text\")\n .attr({\n x: legendTextX,\n y: collapsedPropArrowY + (width / 370)\n })\n .style('font-size', legendLabelFontSize + 'px')\n .text(\"collapsed property\");\n // end of code for legend\n\n // there doesn't seem to be a need for a separate group\n var g = svg; //svg.append(\"g\");\n\n var selectedRdfUri = $location.search().uri;\n var classNodeLabel = $location.search().name;\n var collapsed = $location.search().collapsed;\n\n GraphDataRestService.getDomainRangeData(selectedRdfUri, collapsed)\n .success(function (response, status, headers) {\n scope.domainRangeGraphData = response;\n }).error(function (response) {\n toastr.error(\"Request for \" + classNodeLabel + \" failed!\");\n });\n\n function switchEdgeMode(collapsed) {\n $rootScope.$broadcast('switchEdgeMode', {\n uri: selectedRdfUri,\n name: classNodeLabel,\n collapsed: collapsed\n });\n }\n\n // intercept back button press and set action to local storage\n $(window).on('popstate', function () {\n LocalStorageAdapter.set(LSKeys.DOMAIN_RANGE_WENT_BACK, true);\n });\n\n $window.onpopstate = function (event) {\n if (event.state) {\n $rootScope.$broadcast(\"changeCollapsedEdgesState\", event.state.collapsed);\n }\n };\n\n scope.$watch('collapseEdges', function () {\n if (!angular.isUndefined(scope.collapseEdges)) {\n LocalStorageAdapter.set(LSKeys.DOMAIN_RANGE_COLLAPSE_EDGES, scope.collapseEdges);\n\n // if the back button has not been pressed, then switch to collapsed or non collapsed mode\n // otherwise skip, because back button will not function properly and will not pop the entire\n // history stack\n if (LocalStorageAdapter.get(LSKeys.DOMAIN_RANGE_WENT_BACK) !== \"true\") {\n switchEdgeMode(scope.collapseEdges);\n }\n\n // after back button status has been checked, remove the action from local storage in order\n // to be clean for next check\n LocalStorageAdapter.remove(LSKeys.DOMAIN_RANGE_WENT_BACK);\n }\n });\n\n scope.$watch('domainRangeGraphData', function () {\n if (scope.domainRangeGraphData) {\n var graph = angular.copy(scope.domainRangeGraphData);\n\n force\n .nodes(graph.nodes)\n .links(graph.links);\n\n var linkGroup = g.selectAll(\".link\")\n .data(graph.links)\n .enter()\n .append(\"g\");\n\n function styleArrowsInCollapsedMode(sel) {\n sel.style(\"stroke\", ONTO_BLUE);\n sel.style(\"stroke-width\", collapsedArrowStrokeWidth);\n sel.attr(\"marker-end\", \"url(\" + $location.absUrl() + \"#collapsed-arrow)\");\n }\n\n var link,\n loopLink,\n loopLinkEdgeCount = 0;\n\n\n linkGroup\n .each(function (d) {\n if (d.objectPropNodeClassUri !== selectedRdfUri) {\n link = linkGroup\n .append(\"line\")\n .attr({\n class: \"link\",\n // absolute url needed because angular inserts a <base> tag\n \"marker-end\": \"url(\" + $location.absUrl() + \"#arrow)\"\n })\n .style(\"stroke-width\", basicArrowStrokeWidth)\n .each(function (d) {\n switch (d.propertyType) {\n case \"objectLeft\":\n d.targetRadius = mainClassSize;\n break;\n case \"objectRight\":\n d.targetRadius = otherClassSize;\n break;\n case \"datatype\":\n d.targetRadius = datatypeSize;\n break;\n default:\n d.targetRadius = 0;\n }\n var sel = d3.select(this);\n if (d.targetNodeEdgeCount > 1) {\n styleArrowsInCollapsedMode(sel);\n } else if (d.implicit) {\n sel.style(\"stroke-dasharray\", \"3, 3\");\n }\n });\n } else {\n if (angular.isUndefined(loopLink)) {\n var loopLinkSize = mainClassSize / 2;\n loopLink = d3.select(this)\n .append(\"path\")\n .attr({\n d: \"M 0 0 A \" + loopLinkSize + \" \" + loopLinkSize + \" 0 1 1 0 \" + loopLinkSize,\n class: \"loop-link\",\n fill: \"none\",\n \"marker-end\": \"url(\" + $location.absUrl() + \"#arrow-loop)\"\n })\n .style(\"stroke-width\", basicArrowStrokeWidth);\n }\n\n loopLinkEdgeCount += d.targetNodeEdgeCount;\n if (loopLinkEdgeCount > 1) {\n styleArrowsInCollapsedMode(d3.select(\".loop-link\"));\n }\n }\n });\n\n var previousPropertyNameSelection = {};\n\n function disableCollapsedPredicateLabelHightlighting() {\n if (!$.isEmptyObject(previousPropertyNameSelection)) {\n previousPropertyNameSelection.text.style(\"fill\", \"black\");\n previousPropertyNameSelection.background.style(\"fill\", \"#f0f0f0\");\n }\n }\n\n // when clicking anywhere else but the collapsed labels disable highlighting\n // of the currently selected one\n $(\"document\").ready(function () {\n $(\"#domain-range\").bind(\"click\", disableCollapsedPredicateLabelHightlighting);\n });\n\n function onCollapsedPropertyNameClick(d) {\n disableCollapsedPredicateLabelHightlighting();\n previousPropertyNameSelection.text = d3.select(this);\n\n previousPropertyNameSelection.background = d3.select(this.previousSibling);\n previousPropertyNameSelection.text.style(\"fill\", \"white\");\n\n previousPropertyNameSelection.background.style(\"fill\", ONTO_BLUE);\n $timeout(function () {\n scope.showPredicatesInfoPanel = true;\n scope.selectedPredicate = d;\n });\n d3.event.stopPropagation();\n }\n\n\n var propertyNames = linkGroup\n .append(\"text\")\n .attr(\"class\", function (d) {\n return d.objectPropNodeClassUri === selectedRdfUri ? \"loop-link-property-name\" : \"property-name\";\n })\n .attr(\"dx\", function (d) {\n // offset text more towards the main class\n return mainClassSize / 2 * (d.propertyType === \"objectLeft\" ? 1 : -1);\n })\n .style(\"text-anchor\", function (d) {\n return d.propertyType === \"objectLeft\" ? \"end\" : \"start\";\n })\n .style(\"font-size\", labelFontSize)\n .text(function (d) {\n return d.targetNodeEdgeCount > 1 ? d.targetNodeEdgeCount + \" predicates\" : d.name;\n });\n\n\n propertyNames\n .each(function (d) {\n var sel = d3.select(this);\n var isCompoundEdge = /\\d\\spredicates/.test(sel.text());\n\n // handle collapsed predicates by making their font bold, make them highlight when clicked\n // and make them trigger the side panel to display the collapsed edges\n if (isCompoundEdge) {\n sel\n .style(\"font-weight\", \"bold\")\n .on(\"click\", onCollapsedPropertyNameClick);\n } else {\n // for regular predicate labels just attach a link to the \"Resources\" view\n // for more helpful information regarding them\n sel.on(\"click\", function (d) {\n $window.open(\"resource?uri=\" + encodeURIComponent(d.uri), \"_blank\");\n });\n }\n });\n var textPadding = width / 600;\n\n\n var linkRect = linkGroup\n .append(\"rect\")\n .attr(\"class\", function (d) {\n return d.objectPropNodeClassUri !== selectedRdfUri ? \"link-background\" : \"loop-link-background\"\n })\n .attr(\"width\", function (d) {\n d.calculatedWidth = this.previousSibling.getBBox().width;\n return d.calculatedWidth + textPadding * 2;\n })\n .attr(\"height\", function (d) {\n d.calculatedHeight = this.previousSibling.getBBox().height;\n return d.calculatedHeight + textPadding;\n })\n .attr(\"transform\", function (d) {\n // offset rect by the same amount as text (besides the padding)\n var translateX = textPadding - mainClassSize / 2 * (d.propertyType === \"objectLeft\" ? 1 : -1);\n if (d.propertyType === \"objectLeft\") {\n translateX += d.calculatedWidth;\n }\n return \"translate(-\" + translateX + \",-\" + (textPadding + d.calculatedHeight / 2) + \")\";\n })\n .on(\"click\", function (d) {\n d3.event.stopPropagation();\n });\n\n\n var nodeGroup = g.selectAll(\".node\")\n .data(graph.nodes)\n .enter()\n .append(\"g\");\n\n var node = nodeGroup\n .filter(function (d) {\n return d.objectPropClassUri !== selectedRdfUri;\n })\n .append(\"circle\")\n .each(function (d) {\n var sel = d3.select(this);\n if (d.classPosition === \"main\") {\n sel.attr({\n class: \"class-node\",\n r: mainClassSize\n })\n .attr(\"marker-end\", \"url(\" + $location.absUrl() + \"#loop-link)\");\n } else if (d.objectPropClassName === null) {\n sel.attr({\n class: \"datatype-node\",\n r: datatypeSize\n });\n } else {\n sel.attr({\n class: \"object-prop-node\",\n r: otherClassSize\n });\n }\n })\n .call(drag);\n\n\n function reloadDomainRangeGraphView(d, collapsed) {\n scope.$apply(function () {\n $rootScope.$broadcast('reloadDomainRangeGraphView', d, collapsed);\n });\n }\n\n d3.selectAll(\".object-prop-node\")\n .on(\"dblclick\", reloadDomainRangeGraphView);\n\n\n nodeGroup\n .filter(function (d) {\n return d.objectPropClassName && d.objectPropClassUri !== selectedRdfUri;\n })\n .append(\"text\")\n .attr(\"class\", function (d) {\n return d.classPosition + \"-class-label\";\n })\n .style(\"font-size\", labelFontSize)\n .text(function (d) {\n return d.objectPropClassName;\n })\n .on(\"click\", function (d) {\n $window.open(\"resource?uri=\" + encodeURIComponent(d.objectPropClassUri), \"_blank\");\n });\n\n var objectPropClassName = nodeGroup.select(\"text\");\n\n g.select(\".class-node\")\n .each(function () {\n d3.select(this.parentNode)\n .append(\"text\")\n .attr(\"class\", \"rdf-class-label\")\n .style(\"font-size\", function (d) {\n return D3.Text.calcFontSize(classNodeLabel, mainClassSize)\n })\n .text(classNodeLabel)\n .on(\"click\", function (d) {\n $window.open(\"resource?uri=\" + encodeURIComponent(selectedRdfUri), \"_blank\");\n });\n });\n\n\n var rdfClassName = g.select(\".class-node + text\"),\n classNode = d3.select(\".class-node\"),\n loopLinkBackgroundSel = d3.selectAll(\".loop-link-background\"),\n loopLinkPropertyName = d3.selectAll(\".loop-link-property-name\");\n\n propertyNames = d3.selectAll(\".property-name\");\n\n if (!angular.isUndefined(loopLink)) {\n var loopLinkBackgroundProps = [];\n\n loopLinkBackgroundSel.each(function (d, i) {\n var sel = d3.select(this);\n loopLinkBackgroundProps.push({\n idx: i,\n width: d.calculatedWidth,\n height: d.calculatedHeight\n });\n });\n }\n\n function tick(e) {\n var k = 8 * e.alpha;\n\n function pushEdgesToLeftAndRight(d) {\n if (d.propertyType === \"objectLeft\") {\n d.source.x -= 8 * k;\n d.source.y -= k / 9;\n } else {\n d.target.x += 8 * k;\n d.target.y -= k / 9;\n }\n }\n\n link\n .filter(function (d) {\n return d.objectPropNodeClassUri !== selectedRdfUri;\n })\n .attr(\"x1\", function (d) {\n return d.source.x;\n })\n .attr(\"y1\", function (d) {\n return d.source.y;\n })\n .attr(\"x2\", function (d) {\n return d.targetX;\n })\n .attr(\"y2\", function (d) {\n return d.targetY;\n })\n .each(function (d) {\n pushEdgesToLeftAndRight(d);\n\n // shortens the line to compensate for the circle at the target\n var angle = Math.atan2(d.target.y - d.source.y, d.target.x - d.source.x);\n d.targetX = d.target.x - Math.cos(angle) * d.targetRadius;\n d.targetY = d.target.y - Math.sin(angle) * d.targetRadius;\n });\n\n function positionLoopLink(d) {\n var loopTranslateX = d.x + mainClassSize * 0.96,\n loopTranslateY = d.y - mainClassSize / 5.7 - 5;\n loopLink.attr(\"transform\", \"rotate(270, \" + d.x + \",\" + d.y + \") translate(\" + loopTranslateX + \",\" + loopTranslateY + \")\");\n }\n\n function positionLoopLinkLabels(d) {\n function reposition(sel, i) {\n var foundLoopLinkBackgroundProps =\n $.grep(loopLinkBackgroundProps, function (obj) {\n return obj.idx == i;\n });\n var currentBackgroundHeight = 0;\n if (i > 0) {\n currentBackgroundHeight = parseFloat(2 * i * (foundLoopLinkBackgroundProps[0].height / 1.4));\n }\n\n var loopLinkLabelX = d.x,\n loopLinkLabelY = d.y - mainClassSize * 2.1 - currentBackgroundHeight;\n\n sel\n .attr({\n x: loopLinkLabelX,\n y: loopLinkLabelY\n })\n .moveToFront();\n }\n\n /**\n * Create a \"View more\" label to depict that the are more reflexive link labels\n * left that could be seen in the side panel when clicking this label.\n *\n * @param labelSel\n * d3 selection of the text label\n * @param backgroundSel\n * d3 selection of the rectangle element background\n * @param predicatesLeft\n * number of predicates left that are collapsed\n */\n function createViewMorePredicatesLabel(labelSel, backgroundSel, predicatesLeft) {\n labelSel\n .classed(\"view-more-preds-label\", true)\n .text(predicatesLeft + \" predicates more ...\");\n if (this.nextSibling !== null) {\n backgroundSel\n .classed(\"view-more-preds-rect\", true);\n }\n }\n\n loopLinkPropertyName.each(function (dd, i) {\n var sel = d3.select(this);\n\n var predicatesLeft = loopLinkPropertyName.size() - NON_COLLAPSED_REFLEXIVE_LINK_LIMIT;\n if (predicatesLeft < 0) {\n reposition(sel, i);\n } else {\n if (i == 0 && !scope.collapseEdges && predicatesLeft > 1) {\n createViewMorePredicatesLabel(sel, d3.select(this.nextSibling), predicatesLeft);\n reposition(sel, i);\n }\n\n if (i < NON_COLLAPSED_REFLEXIVE_LINK_LIMIT) {\n reposition(sel, i);\n } else {\n sel.remove();\n }\n }\n });\n // loopLinkPropertyName.each(function (dd, i) {\n // var sel = d3.select(this);\n // if (i < NON_COLLAPSED_REFLEXIVE_LINK_LIMIT) {\n // reposition(sel, i);\n // } else if (i == NON_COLLAPSED_REFLEXIVE_LINK_LIMIT) {\n // createViewMorePredicatesLabel(sel, d3.select(this.nextSibling));\n // reposition(sel, i);\n // } else {\n // sel.remove();\n // }\n // });\n }\n\n function positionLoopLinkBackgrounds(d) {\n var loopLinkBackgroundY = d.x + mainClassSize * 2,\n loopLinkBackgroundX = d.y - mainClassSize / 1.9;\n\n function reposition(sel, i) {\n var foundLoopLinkBackgroundProps =\n $.grep(loopLinkBackgroundProps, function (obj) {\n return obj.idx == i;\n });\n if (i > 0) {\n loopLinkBackgroundY += parseFloat(i * (foundLoopLinkBackgroundProps[0].height / (i / 1.4)));\n }\n\n sel\n .attr({\n transform: \"rotate(270, \" + d.x + \",\" + d.y + \") translate(\" + loopLinkBackgroundY + \",\" + loopLinkBackgroundX + \")\",\n width: foundLoopLinkBackgroundProps[0].height,\n height: foundLoopLinkBackgroundProps[0].width\n });\n }\n\n /**\n * Adjust new width of \"View more\" label background and add all reflexive link metadata the this\n * label in order to render them in the side panel.\n *\n * @param allLoopLinkEdges\n * all reflexive links to the current class\n */\n function adjustViewMorePredicatesLabel(allLoopLinkEdges) {\n var viewMoreTextWidth;\n d3.select(\".view-more-preds-label\")\n // make label bold to resemble a collapsed label\n .style(\"font-weight\", \"bold\")\n .each(function (d) {\n // attach all reflexive links to the \"view more\" collapsed predicate\n // because in non collapsed mode the backend does not provide them\n d.target.allEdges = allLoopLinkEdges;\n\n // calculate text width in pixels in order to adjust background width accordingly\n viewMoreTextWidth = this.getComputedTextLength();\n })\n .on(\"click\", onCollapsedPropertyNameClick);\n\n d3.select(\".view-more-preds-rect\")\n // we modify height property instead of width because they are reversed\n // when we repositioned loop link labels\n .attr(\"height\", viewMoreTextWidth + 2 * textPadding);\n }\n\n var allLoopLinkEdges = [];\n loopLinkBackgroundSel.each(function (dd, i) {\n allLoopLinkEdges.push(dd);\n if (i < NON_COLLAPSED_REFLEXIVE_LINK_LIMIT) {\n reposition(d3.select(this), i);\n } else {\n d3.select(this).remove();\n }\n });\n\n adjustViewMorePredicatesLabel(allLoopLinkEdges);\n }\n\n\n function centerClassNode(d) {\n if (!(window.ActiveXObject) && \"ActiveXObject\" in window) {\n Math.log10 = function (x) {\n return Math.log(x) / Math.LN10;\n };\n }\n var absDiff = classNode.attr(\"cx\") - width / 2,\n logOffset = Math.log10(Math.abs(absDiff)) * 0.5;\n d.x += absDiff > 0 ? -logOffset : logOffset;\n return d.x;\n }\n\n node\n .each(function (d) {\n if (d.classPosition === \"main\" && !angular.isUndefined(loopLink)) {\n positionLoopLink(d);\n positionLoopLinkLabels(d);\n positionLoopLinkBackgrounds(d);\n }\n\n if (d.objectPropClassUri !== selectedRdfUri) {\n d3.select(this)\n .attr(\"cx\", function (d) {\n // pushes the main class circle to the centre\n if (d.classPosition === \"main\") {\n return centerClassNode(d);\n }\n return d.x;\n })\n .attr(\"cy\", function (d) {\n return d.y;\n });\n }\n });\n\n\n rdfClassName\n .attr(\"x\", function (d) {\n return d.x;\n })\n .attr(\"y\", function (d) {\n return d.y;\n })\n .moveToFront();\n\n\n linkRect\n .filter(function (d) {\n return d.objectPropNodeClassUri !== selectedRdfUri;\n })\n .attr(\"x\", function (d) {\n if (d.target.x > d.source.x) {\n return (d.source.x + (d.target.x - d.source.x) / 2);\n } else {\n return (d.target.x + (d.source.x - d.target.x) / 2);\n }\n })\n .attr(\"y\", function (d) {\n if (d.target.y > d.source.y) {\n return (d.source.y + (d.target.y - d.source.y) / 2);\n } else {\n return (d.target.y + (d.source.y - d.target.y) / 2);\n }\n })\n .moveToFront();\n\n\n propertyNames\n .attr(\"x\", function (d) {\n if (d.target.x > d.source.x) {\n return (d.source.x + (d.target.x - d.source.x) / 2);\n } else {\n return (d.target.x + (d.source.x - d.target.x) / 2);\n }\n })\n .attr(\"y\", function (d) {\n if (d.target.y > d.source.y) {\n return (d.source.y + (d.target.y - d.source.y) / 2);\n } else {\n return (d.target.y + (d.source.y - d.target.y) / 2);\n }\n })\n .moveToFront();\n\n\n objectPropClassName\n .attr(\"x\", function (d) {\n if (d.classPosition === \"right\") {\n return d.x + otherClassSize * 1.2;\n } else {\n return d.x - otherClassSize * 1.2;\n }\n })\n .attr(\"y\", function (d) {\n return d.y;\n })\n .moveToFront();\n }\n\n\n force\n .on(\"tick\", tick)\n .linkDistance(width / 3.5)\n .start();\n\n }\n });\n\n function dragstart(d) {\n d3.select(this)\n .classed(\"selected\", d.selected = true);\n }\n }\n}\n"],"sourceRoot":""}
@@ -1,2 +0,0 @@
1
- (window.webpackJsonp=window.webpackJsonp||[]).push([[29,105,106],{33:function(e,u){let F;angular.module("graphdb.framework.utils.uriutils",[]).factory("UriUtils",(function(){return{isValidIri:function(e){return void 0!==e&&!!e.match(F)},validateRdfUri:function(e){const u=e.indexOf("<")>=0&&e.indexOf(">")>=0,F=-1===e.indexOf("<")&&-1===e.lastIndexOf(">"),t=/^<?(http|urn).*>?/.test(e)&&(u||F);let r=!1;if(t)if(e.indexOf("http")>=0){const u=e.indexOf("//");r=u>4&&e.substring(u+2).length>0}else e.indexOf("urn")>=0&&(r=e.substring(4).length>0);return t&&r}}}));try{F=new RegExp("^[a-z](?:[-a-z0-9\\+\\.])*:(?:\\/\\/(?:(?:%[0-9a-f][0-9a-f]|[-a-z0-9\\._~\\u{A0}-\\u{D7FF}\\u{F900}-\\u{FDCF}\\u{FDF0}-\\u{FFEF}\\u{10000}-\\u{1FFFD}\\u{20000}-\\u{2FFFD}\\u{30000}-\\u{3FFFD}\\u{40000}-\\u{4FFFD}\\u{50000}-\\u{5FFFD}\\u{60000}-\\u{6FFFD}\\u{70000}-\\u{7FFFD}\\u{80000}-\\u{8FFFD}\\u{90000}-\\u{9FFFD}\\u{A0000}-\\u{AFFFD}\\u{B0000}-\\u{BFFFD}\\u{C0000}-\\u{CFFFD}\\u{D0000}-\\u{DFFFD}\\u{E1000}-\\u{EFFFD}!\\$&'\\(\\)\\*\\+,;=:])*@)?(?:\\[(?:(?:(?:[0-9a-f]{1,4}:){6}(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(?:\\.(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])){3})|::(?:[0-9a-f]{1,4}:){5}(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(?:\\.(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])){3})|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(?:\\.(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])){3})|(?:[0-9a-f]{1,4}:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(?:\\.(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])){3})|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(?:\\.(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])){3})|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(?:\\.(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])){3})|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(?:\\.(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])){3})|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|v[0-9a-f]+[-a-z0-9\\._~!\\$&'\\(\\)\\*\\+,;=:]+)\\]|(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(?:\\.(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])){3}|(?:%[0-9a-f][0-9a-f]|[-a-z0-9\\._~\\u{A0}-\\u{D7FF}\\u{F900}-\\u{FDCF}\\u{FDF0}-\\u{FFEF}\\u{10000}-\\u{1FFFD}\\u{20000}-\\u{2FFFD}\\u{30000}-\\u{3FFFD}\\u{40000}-\\u{4FFFD}\\u{50000}-\\u{5FFFD}\\u{60000}-\\u{6FFFD}\\u{70000}-\\u{7FFFD}\\u{80000}-\\u{8FFFD}\\u{90000}-\\u{9FFFD}\\u{A0000}-\\u{AFFFD}\\u{B0000}-\\u{BFFFD}\\u{C0000}-\\u{CFFFD}\\u{D0000}-\\u{DFFFD}\\u{E1000}-\\u{EFFFD}!\\$&'\\(\\)\\*\\+,;=@])*)(?::[0-9]*)?(?:\\/(?:(?:%[0-9a-f][0-9a-f]|[-a-z0-9\\._~\\u{A0}-\\u{D7FF}\\u{F900}-\\u{FDCF}\\u{FDF0}-\\u{FFEF}\\u{10000}-\\u{1FFFD}\\u{20000}-\\u{2FFFD}\\u{30000}-\\u{3FFFD}\\u{40000}-\\u{4FFFD}\\u{50000}-\\u{5FFFD}\\u{60000}-\\u{6FFFD}\\u{70000}-\\u{7FFFD}\\u{80000}-\\u{8FFFD}\\u{90000}-\\u{9FFFD}\\u{A0000}-\\u{AFFFD}\\u{B0000}-\\u{BFFFD}\\u{C0000}-\\u{CFFFD}\\u{D0000}-\\u{DFFFD}\\u{E1000}-\\u{EFFFD}!\\$&'\\(\\)\\*\\+,;=:@]))*)*|\\/(?:(?:(?:(?:%[0-9a-f][0-9a-f]|[-a-z0-9\\._~\\u{A0}-\\u{D7FF}\\u{F900}-\\u{FDCF}\\u{FDF0}-\\u{FFEF}\\u{10000}-\\u{1FFFD}\\u{20000}-\\u{2FFFD}\\u{30000}-\\u{3FFFD}\\u{40000}-\\u{4FFFD}\\u{50000}-\\u{5FFFD}\\u{60000}-\\u{6FFFD}\\u{70000}-\\u{7FFFD}\\u{80000}-\\u{8FFFD}\\u{90000}-\\u{9FFFD}\\u{A0000}-\\u{AFFFD}\\u{B0000}-\\u{BFFFD}\\u{C0000}-\\u{CFFFD}\\u{D0000}-\\u{DFFFD}\\u{E1000}-\\u{EFFFD}!\\$&'\\(\\)\\*\\+,;=:@]))+)(?:\\/(?:(?:%[0-9a-f][0-9a-f]|[-a-z0-9\\._~\\u{A0}-\\u{D7FF}\\u{F900}-\\u{FDCF}\\u{FDF0}-\\u{FFEF}\\u{10000}-\\u{1FFFD}\\u{20000}-\\u{2FFFD}\\u{30000}-\\u{3FFFD}\\u{40000}-\\u{4FFFD}\\u{50000}-\\u{5FFFD}\\u{60000}-\\u{6FFFD}\\u{70000}-\\u{7FFFD}\\u{80000}-\\u{8FFFD}\\u{90000}-\\u{9FFFD}\\u{A0000}-\\u{AFFFD}\\u{B0000}-\\u{BFFFD}\\u{C0000}-\\u{CFFFD}\\u{D0000}-\\u{DFFFD}\\u{E1000}-\\u{EFFFD}!\\$&'\\(\\)\\*\\+,;=:@]))*)*)?|(?:(?:(?:%[0-9a-f][0-9a-f]|[-a-z0-9\\._~\\u{A0}-\\u{D7FF}\\u{F900}-\\u{FDCF}\\u{FDF0}-\\u{FFEF}\\u{10000}-\\u{1FFFD}\\u{20000}-\\u{2FFFD}\\u{30000}-\\u{3FFFD}\\u{40000}-\\u{4FFFD}\\u{50000}-\\u{5FFFD}\\u{60000}-\\u{6FFFD}\\u{70000}-\\u{7FFFD}\\u{80000}-\\u{8FFFD}\\u{90000}-\\u{9FFFD}\\u{A0000}-\\u{AFFFD}\\u{B0000}-\\u{BFFFD}\\u{C0000}-\\u{CFFFD}\\u{D0000}-\\u{DFFFD}\\u{E1000}-\\u{EFFFD}!\\$&'\\(\\)\\*\\+,;=:@]))+)(?:\\/(?:(?:%[0-9a-f][0-9a-f]|[-a-z0-9\\._~\\u{A0}-\\u{D7FF}\\u{F900}-\\u{FDCF}\\u{FDF0}-\\u{FFEF}\\u{10000}-\\u{1FFFD}\\u{20000}-\\u{2FFFD}\\u{30000}-\\u{3FFFD}\\u{40000}-\\u{4FFFD}\\u{50000}-\\u{5FFFD}\\u{60000}-\\u{6FFFD}\\u{70000}-\\u{7FFFD}\\u{80000}-\\u{8FFFD}\\u{90000}-\\u{9FFFD}\\u{A0000}-\\u{AFFFD}\\u{B0000}-\\u{BFFFD}\\u{C0000}-\\u{CFFFD}\\u{D0000}-\\u{DFFFD}\\u{E1000}-\\u{EFFFD}!\\$&'\\(\\)\\*\\+,;=:@]))*)*|(?!(?:%[0-9a-f][0-9a-f]|[-a-z0-9\\._~\\u{A0}-\\u{D7FF}\\u{F900}-\\u{FDCF}\\u{FDF0}-\\u{FFEF}\\u{10000}-\\u{1FFFD}\\u{20000}-\\u{2FFFD}\\u{30000}-\\u{3FFFD}\\u{40000}-\\u{4FFFD}\\u{50000}-\\u{5FFFD}\\u{60000}-\\u{6FFFD}\\u{70000}-\\u{7FFFD}\\u{80000}-\\u{8FFFD}\\u{90000}-\\u{9FFFD}\\u{A0000}-\\u{AFFFD}\\u{B0000}-\\u{BFFFD}\\u{C0000}-\\u{CFFFD}\\u{D0000}-\\u{DFFFD}\\u{E1000}-\\u{EFFFD}!\\$&'\\(\\)\\*\\+,;=:@])))(?:\\?(?:(?:%[0-9a-f][0-9a-f]|[-a-z0-9\\._~\\u{A0}-\\u{D7FF}\\u{F900}-\\u{FDCF}\\u{FDF0}-\\u{FFEF}\\u{10000}-\\u{1FFFD}\\u{20000}-\\u{2FFFD}\\u{30000}-\\u{3FFFD}\\u{40000}-\\u{4FFFD}\\u{50000}-\\u{5FFFD}\\u{60000}-\\u{6FFFD}\\u{70000}-\\u{7FFFD}\\u{80000}-\\u{8FFFD}\\u{90000}-\\u{9FFFD}\\u{A0000}-\\u{AFFFD}\\u{B0000}-\\u{BFFFD}\\u{C0000}-\\u{CFFFD}\\u{D0000}-\\u{DFFFD}\\u{E1000}-\\u{EFFFD}!\\$&'\\(\\)\\*\\+,;=:@])|[\\u{E000}-\\u{F8FF}\\u{F0000}-\\u{FFFFD}\\u{100000}-\\u{10FFFD}\\/\\?])*)?(?:#(?:(?:%[0-9a-f][0-9a-f]|[-a-z0-9\\._~\\u{A0}-\\u{D7FF}\\u{F900}-\\u{FDCF}\\u{FDF0}-\\u{FFEF}\\u{10000}-\\u{1FFFD}\\u{20000}-\\u{2FFFD}\\u{30000}-\\u{3FFFD}\\u{40000}-\\u{4FFFD}\\u{50000}-\\u{5FFFD}\\u{60000}-\\u{6FFFD}\\u{70000}-\\u{7FFFD}\\u{80000}-\\u{8FFFD}\\u{90000}-\\u{9FFFD}\\u{A0000}-\\u{AFFFD}\\u{B0000}-\\u{BFFFD}\\u{C0000}-\\u{CFFFD}\\u{D0000}-\\u{DFFFD}\\u{E1000}-\\u{EFFFD}!\\$&'\\(\\)\\*\\+,;=:@])|[\\/\\?])*)?$","ui")}catch(e){F=new RegExp("^[a-z](?:[-a-z0-9\\+\\.])*:","i")}},34:function(e,u){function F(e,u){return{showToastMessageWithDelay:function(F){return new Promise(t=>{e.success(u.instant(F)),setTimeout(t,200)})}}}angular.module("graphdb.framework.utils.notifications",[]).factory("Notifications",F),F.$inject=["toastr","$translate"]},86:function(e,u,F){"use strict";F.r(u);F(3),F(8),F(11),F(34),F(33);var t=F(0);function r(e,u,F,t,r,n,a){e.pluginName="sparql-template",e.setPluginIsActive=function(u){e.pluginIsActive=u},e.getSparqlTemplates=function(){n.isLicenseValid()&&u.getActiveRepository()&&!u.isActiveRepoOntopType()&&!u.isActiveRepoFedXType()?F.getSparqlTemplates().success((function(u){e.sparqlTemplateIds=u})).error((function(e){const u=getError(e);t.error(u,a.instant("sparql.template.get.templates.error"))})):e.sparqlTemplateIds=[]},e.$watch((function(){return u.getActiveRepository()}),(function(){e.getSparqlTemplates()})),e.deleteTemplate=function(u){r.openSimpleModal({title:a.instant("common.warning"),message:a.instant("sparql.template.delete.template.warning",{templateID:u}),warning:!0}).result.then((function(){F.deleteSparqlTemplate(u).success((function(){t.success(u,a.instant("sparql.template.delete.template.success")),e.getSparqlTemplates()})).error((function(e){t.error(getError(e),a.instant("sparql.template.delete.template.failure",{templateID:u}))}))}))}}function n(e,u,F,r,n,a,i,s,o,c,D,l){const f=u.hash()||"";e.templateID=(u.search().templateID||"")+(f?`#${f}`:""),e.title=(e.templateID?l.instant("edit"):l.instant("common.create.btn"))+" SPARQL Template",e.getNamespaces=function(){E(!0,l.instant("common.refreshing.namespaces"),l.instant("common.extra.message")),s.getRepositoryNamespaces().success((function(u){const F={};u.results.bindings.forEach((function(e){F[e.prefix.value]=e.namespace.value})),e.namespaces=F})).error((function(u){e.repositoryError=getError(u)})).finally((function(){E(!1),T()}))},e.setLoader=E,e.addKnownPrefixes=q,e.noPadding={paddingRight:0,paddingLeft:0},e.currentTabConfig={},e.orientationViewMode=!0,e.currentQuery={};let p=!1;e.$watch((function(){return r.getActiveRepository()}),(function(e,F){e!==F&&u.path("/sparql-templates")}));let m=null;e.goBack=function(){m=a((function(){n.history.back()}),1e3)};const d=e.$on("$locationChangeStart",(function(u){!function(u){e.currentQuery.isPristine||(confirm(l.instant("jdbc.warning.unsaved.changes"))?(window.removeEventListener("beforeunload",g),d(),a.cancel(m)):u.preventDefault())}(u)}));function g(u){e.currentQuery.isPristine||(u.returnValue=!0)}window.addEventListener("beforeunload",g),e.$on("$destroy",(function(e){window.removeEventListener("beforeunload",g),d(),a.cancel(m)}));const y={templateID:"",query:"PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>\nPREFIX ex: <http://example.com#>\nDELETE {\n ?subject ex:myPredicate ?oldValue .\n} INSERT {\n ?subject ex:myPredicate ?newValue .\n} WHERE {\n ?id rdf:type ex:MyType .\n ?subject ex:isRelatedTo ?id .\n}\n",inference:!0,sameAs:!0,isNewTemplate:!0,isPristine:!0};var w;function E(u,F,t){const r=angular.element(document.getElementById("yasr-inner"));e.queryIsRunning=u,u?(e.queryStartTime=Date.now(),e.countTimeouted=!1,e.progressMessage=F,e.extraMessage=t,r.addClass("hide")):(e.progressMessage="",e.extraMessage="",r.removeClass("hide")),null===e.$$phase&&e.$apply()}function T(){e.tabsData=[e.currentQuery];const u=e.currentQuery;e.currentQuery.query?window.editor.setValue(e.currentQuery.query):window.editor.setValue(" "),a((function(){e.currentTabConfig={},e.currentTabConfig.queryType=u.queryType,e.currentTabConfig.resultsCount=u.resultsCount,e.currentTabConfig.offset=u.offset,e.currentTabConfig.allResultsCount=u.allResultsCount,e.currentTabConfig.page=u.page,e.currentTabConfig.pageSize=u.pageSize,e.currentTabConfig.timeFinished=u.timeFinished,e.currentTabConfig.timeTook=u.timeTook,e.currentTabConfig.sizeDelta=u.sizeDelta,e.$apply()}),0),e.canWriteActiveRepo()||(window.editor.options.readOnly=!0)}function C(){e.tabsData=e.tabs=[y],e.currentQuery=angular.copy(y),window.editor&&(e.setQuery(e.currentQuery.query),T()),e.$watch((function(){return e.currentQuery.query}),(function(u,F){u!==F&&e.setDirty()}))}function q(){o.addKnownPrefixes(JSON.stringify(window.editor.getValue())).success((function(e){angular.isDefined(window.editor)&&angular.isDefined(e)&&e!==window.editor.getValue()&&window.editor.setValue(e)})).error((function(e){const u=getError(e);return F.error(u,l.instant("common.add.known.prefixes.error")),!0}))}function v(){i.createSparqlTemplate(e.currentQuery).success((function(){e.currentQuery.isPristine=!0,e.currentQuery.isNewTemplate=!1,F.success(e.currentQuery.templateID,l.instant("save.sparql.template.success.msg")),e.goBack()})).error((function(u){const t=getError(u);F.error(t,l.instant("save.sparql.template.failure.msg",{templateID:e.currentQuery.templateID}))}))}e.saveTab=function(){},e.setQuery=function(e){window.editor.setValue(e||" ")},e.templateID?(w=e.templateID,i.getSparqlTemplate(w).success((function(e){y.query=e,y.templateID=w,y.isNewTemplate=!w,C()})).error((function(u){const t=getError(u);F.error(t,l.instant("sparql.template.get.template.error",{templateID:e.currentQuery.templateID})),e.repositoryError=t}))):C(),e.saveTemplate=function(){(function(){if(!window.editor||"update"!==window.editor.getQueryMode())return F.error(l.instant("sparql.template.query.constraint"),l.instant("jdbc.invalid.query")),!1;return!0})()&&(e.currentQuery.templateID?(e.isInvalidTemplateId=!c.isValidIri(e.currentQuery.templateID),e.isInvalidTemplateId||(e.currentQuery.isNewTemplate?i.getSparqlTemplates().success((function(u){p=u.find(u=>u===e.currentQuery.templateID)})).error((function(e){const u=getError(e);F.error(u,l.instant("sparql.template.get.templates.error"))})).then(()=>{if(p){const u=Object(t.decodeHTML)(l.instant("sparql.template.existing.template.error",{templateID:e.currentQuery.templateID}));D.openSimpleModal({title:l.instant("common.confirm.save"),message:u,warning:!0}).result.then((function(){v()}))}else v()}):e.currentQuery.isPristine?e.goBack():i.updateSparqlTemplate(e.currentQuery).success((function(){e.currentQuery.isPristine=!0,e.currentQuery.isNewTemplate=!1,F.success(e.currentQuery.templateID,l.instant("update.sparql.template.success.msg")),e.goBack()})).error((function(u){const t=getError(u);F.error(t,l.instant("save.sparql.template.failure.msg",{templateID:e.currentQuery.templateID}))})))):F.error(l.instant("sparql.template.iri.constraint")))},$("textarea").on("paste",(function(){a((function(){q()}),0)})),e.setDirty=function(){e.currentQuery.isPristine=!1}}angular.module("graphdb.framework.sparql-template.controllers",["ui.bootstrap","graphdb.framework.core.services.repositories","graphdb.framework.rest.monitoring.service","toastr"],["graphdb.framework.utils.notifications"]).controller("SparqlTemplatesCtrl",r).controller("SparqlTemplateCreateCtrl",n),r.$inject=["$scope","$repositories","SparqlTemplatesRestService","toastr","ModalService","$licenseService","$translate"],n.$inject=["$scope","$location","toastr","$repositories","$window","$timeout","SparqlTemplatesRestService","RDF4JRepositoriesRestService","SparqlRestService","UriUtils","ModalService","$translate"]}}]);
2
- //# sourceMappingURL=29.34a4af65623cd4af6899.bundle.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["webpack:///./src/js/angular/utils/uri-utils.js","webpack:///./src/js/angular/utils/notifications.js","webpack:///./src/js/angular/sparql-template/controllers.js"],"names":["iriRegExp","angular","module","factory","isValidIri","iri","undefined","match","validateRdfUri","value","hasAngleBrackets","indexOf","noAngleBrackets","lastIndexOf","validProtocol","test","validPath","schemaSlashesIdx","substring","length","RegExp","e","Notifications","toastr","$translate","showToastMessageWithDelay","message","Promise","r","success","instant","setTimeout","$inject","SparqlTemplatesCtrl","$scope","$repositories","SparqlTemplatesRestService","ModalService","$licenseService","pluginName","setPluginIsActive","isPluginActive","pluginIsActive","getSparqlTemplates","isLicenseValid","getActiveRepository","isActiveRepoOntopType","isActiveRepoFedXType","data","sparqlTemplateIds","error","msg","getError","$watch","deleteTemplate","templateID","openSimpleModal","title","warning","result","then","deleteSparqlTemplate","SparqlTemplateCreateCtrl","$location","$window","$timeout","RDF4JRepositoriesRestService","SparqlRestService","UriUtils","hash","search","getNamespaces","setLoader","getRepositoryNamespaces","usedPrefixes","results","bindings","forEach","prefix","namespace","namespaces","repositoryError","finally","loadTab","addKnownPrefixes","noPadding","paddingRight","paddingLeft","currentTabConfig","orientationViewMode","currentQuery","templateExist","newValue","oldValue","path","timer","goBack","history","back","locationChangeListener","$on","event","isPristine","confirm","window","removeEventListener","showBeforeunloadMessage","cancel","preventDefault","confirmExit","returnValue","addEventListener","defaultTabConfig","query","inference","sameAs","isNewTemplate","isRunning","progressMessage","extraMessage","yasrInnerContainer","element","document","getElementById","queryIsRunning","queryStartTime","Date","now","countTimeouted","addClass","removeClass","$$phase","$apply","tabsData","tab","editor","setValue","queryType","resultsCount","offset","allResultsCount","page","pageSize","timeFinished","timeTook","sizeDelta","canWriteActiveRepo","options","readOnly","setQueryFromTabConfig","tabs","copy","setQuery","setDirty","JSON","stringify","getValue","isDefined","saveNewTemplate","createSparqlTemplate","saveTab","getSparqlTemplate","templateContent","saveTemplate","getQueryMode","validateQuery","isInvalidTemplateId","find","templateId","modalMsg","updateSparqlTemplate","$","on","controller"],"mappings":"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","file":"29.34a4af65623cd4af6899.bundle.js","sourcesContent":["angular\n .module('graphdb.framework.utils.uriutils', [])\n .factory('UriUtils', UriUtils);\n\nlet iriRegExp;\ntry {\n // Real validation but it requires a relatively new browser\n iriRegExp = new RegExp(\"^[a-z](?:[-a-z0-9\\\\+\\\\.])*:(?:\\\\/\\\\/(?:(?:%[0-9a-f][0-9a-f]|[-a-z0-9\\\\._~\\\\u{A0}-\\\\u{D7FF}\\\\u{F900}-\\\\u{FDCF}\\\\u{FDF0}-\\\\u{FFEF}\\\\u{10000}-\\\\u{1FFFD}\\\\u{20000}-\\\\u{2FFFD}\\\\u{30000}-\\\\u{3FFFD}\\\\u{40000}-\\\\u{4FFFD}\\\\u{50000}-\\\\u{5FFFD}\\\\u{60000}-\\\\u{6FFFD}\\\\u{70000}-\\\\u{7FFFD}\\\\u{80000}-\\\\u{8FFFD}\\\\u{90000}-\\\\u{9FFFD}\\\\u{A0000}-\\\\u{AFFFD}\\\\u{B0000}-\\\\u{BFFFD}\\\\u{C0000}-\\\\u{CFFFD}\\\\u{D0000}-\\\\u{DFFFD}\\\\u{E1000}-\\\\u{EFFFD}!\\\\$&'\\\\(\\\\)\\\\*\\\\+,;=:])*@)?(?:\\\\[(?:(?:(?:[0-9a-f]{1,4}:){6}(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(?:\\\\.(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])){3})|::(?:[0-9a-f]{1,4}:){5}(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(?:\\\\.(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])){3})|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(?:\\\\.(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])){3})|(?:[0-9a-f]{1,4}:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(?:\\\\.(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])){3})|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(?:\\\\.(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])){3})|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(?:\\\\.(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])){3})|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(?:\\\\.(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])){3})|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|v[0-9a-f]+[-a-z0-9\\\\._~!\\\\$&'\\\\(\\\\)\\\\*\\\\+,;=:]+)\\\\]|(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(?:\\\\.(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])){3}|(?:%[0-9a-f][0-9a-f]|[-a-z0-9\\\\._~\\\\u{A0}-\\\\u{D7FF}\\\\u{F900}-\\\\u{FDCF}\\\\u{FDF0}-\\\\u{FFEF}\\\\u{10000}-\\\\u{1FFFD}\\\\u{20000}-\\\\u{2FFFD}\\\\u{30000}-\\\\u{3FFFD}\\\\u{40000}-\\\\u{4FFFD}\\\\u{50000}-\\\\u{5FFFD}\\\\u{60000}-\\\\u{6FFFD}\\\\u{70000}-\\\\u{7FFFD}\\\\u{80000}-\\\\u{8FFFD}\\\\u{90000}-\\\\u{9FFFD}\\\\u{A0000}-\\\\u{AFFFD}\\\\u{B0000}-\\\\u{BFFFD}\\\\u{C0000}-\\\\u{CFFFD}\\\\u{D0000}-\\\\u{DFFFD}\\\\u{E1000}-\\\\u{EFFFD}!\\\\$&'\\\\(\\\\)\\\\*\\\\+,;=@])*)(?::[0-9]*)?(?:\\\\/(?:(?:%[0-9a-f][0-9a-f]|[-a-z0-9\\\\._~\\\\u{A0}-\\\\u{D7FF}\\\\u{F900}-\\\\u{FDCF}\\\\u{FDF0}-\\\\u{FFEF}\\\\u{10000}-\\\\u{1FFFD}\\\\u{20000}-\\\\u{2FFFD}\\\\u{30000}-\\\\u{3FFFD}\\\\u{40000}-\\\\u{4FFFD}\\\\u{50000}-\\\\u{5FFFD}\\\\u{60000}-\\\\u{6FFFD}\\\\u{70000}-\\\\u{7FFFD}\\\\u{80000}-\\\\u{8FFFD}\\\\u{90000}-\\\\u{9FFFD}\\\\u{A0000}-\\\\u{AFFFD}\\\\u{B0000}-\\\\u{BFFFD}\\\\u{C0000}-\\\\u{CFFFD}\\\\u{D0000}-\\\\u{DFFFD}\\\\u{E1000}-\\\\u{EFFFD}!\\\\$&'\\\\(\\\\)\\\\*\\\\+,;=:@]))*)*|\\\\/(?:(?:(?:(?:%[0-9a-f][0-9a-f]|[-a-z0-9\\\\._~\\\\u{A0}-\\\\u{D7FF}\\\\u{F900}-\\\\u{FDCF}\\\\u{FDF0}-\\\\u{FFEF}\\\\u{10000}-\\\\u{1FFFD}\\\\u{20000}-\\\\u{2FFFD}\\\\u{30000}-\\\\u{3FFFD}\\\\u{40000}-\\\\u{4FFFD}\\\\u{50000}-\\\\u{5FFFD}\\\\u{60000}-\\\\u{6FFFD}\\\\u{70000}-\\\\u{7FFFD}\\\\u{80000}-\\\\u{8FFFD}\\\\u{90000}-\\\\u{9FFFD}\\\\u{A0000}-\\\\u{AFFFD}\\\\u{B0000}-\\\\u{BFFFD}\\\\u{C0000}-\\\\u{CFFFD}\\\\u{D0000}-\\\\u{DFFFD}\\\\u{E1000}-\\\\u{EFFFD}!\\\\$&'\\\\(\\\\)\\\\*\\\\+,;=:@]))+)(?:\\\\/(?:(?:%[0-9a-f][0-9a-f]|[-a-z0-9\\\\._~\\\\u{A0}-\\\\u{D7FF}\\\\u{F900}-\\\\u{FDCF}\\\\u{FDF0}-\\\\u{FFEF}\\\\u{10000}-\\\\u{1FFFD}\\\\u{20000}-\\\\u{2FFFD}\\\\u{30000}-\\\\u{3FFFD}\\\\u{40000}-\\\\u{4FFFD}\\\\u{50000}-\\\\u{5FFFD}\\\\u{60000}-\\\\u{6FFFD}\\\\u{70000}-\\\\u{7FFFD}\\\\u{80000}-\\\\u{8FFFD}\\\\u{90000}-\\\\u{9FFFD}\\\\u{A0000}-\\\\u{AFFFD}\\\\u{B0000}-\\\\u{BFFFD}\\\\u{C0000}-\\\\u{CFFFD}\\\\u{D0000}-\\\\u{DFFFD}\\\\u{E1000}-\\\\u{EFFFD}!\\\\$&'\\\\(\\\\)\\\\*\\\\+,;=:@]))*)*)?|(?:(?:(?:%[0-9a-f][0-9a-f]|[-a-z0-9\\\\._~\\\\u{A0}-\\\\u{D7FF}\\\\u{F900}-\\\\u{FDCF}\\\\u{FDF0}-\\\\u{FFEF}\\\\u{10000}-\\\\u{1FFFD}\\\\u{20000}-\\\\u{2FFFD}\\\\u{30000}-\\\\u{3FFFD}\\\\u{40000}-\\\\u{4FFFD}\\\\u{50000}-\\\\u{5FFFD}\\\\u{60000}-\\\\u{6FFFD}\\\\u{70000}-\\\\u{7FFFD}\\\\u{80000}-\\\\u{8FFFD}\\\\u{90000}-\\\\u{9FFFD}\\\\u{A0000}-\\\\u{AFFFD}\\\\u{B0000}-\\\\u{BFFFD}\\\\u{C0000}-\\\\u{CFFFD}\\\\u{D0000}-\\\\u{DFFFD}\\\\u{E1000}-\\\\u{EFFFD}!\\\\$&'\\\\(\\\\)\\\\*\\\\+,;=:@]))+)(?:\\\\/(?:(?:%[0-9a-f][0-9a-f]|[-a-z0-9\\\\._~\\\\u{A0}-\\\\u{D7FF}\\\\u{F900}-\\\\u{FDCF}\\\\u{FDF0}-\\\\u{FFEF}\\\\u{10000}-\\\\u{1FFFD}\\\\u{20000}-\\\\u{2FFFD}\\\\u{30000}-\\\\u{3FFFD}\\\\u{40000}-\\\\u{4FFFD}\\\\u{50000}-\\\\u{5FFFD}\\\\u{60000}-\\\\u{6FFFD}\\\\u{70000}-\\\\u{7FFFD}\\\\u{80000}-\\\\u{8FFFD}\\\\u{90000}-\\\\u{9FFFD}\\\\u{A0000}-\\\\u{AFFFD}\\\\u{B0000}-\\\\u{BFFFD}\\\\u{C0000}-\\\\u{CFFFD}\\\\u{D0000}-\\\\u{DFFFD}\\\\u{E1000}-\\\\u{EFFFD}!\\\\$&'\\\\(\\\\)\\\\*\\\\+,;=:@]))*)*|(?!(?:%[0-9a-f][0-9a-f]|[-a-z0-9\\\\._~\\\\u{A0}-\\\\u{D7FF}\\\\u{F900}-\\\\u{FDCF}\\\\u{FDF0}-\\\\u{FFEF}\\\\u{10000}-\\\\u{1FFFD}\\\\u{20000}-\\\\u{2FFFD}\\\\u{30000}-\\\\u{3FFFD}\\\\u{40000}-\\\\u{4FFFD}\\\\u{50000}-\\\\u{5FFFD}\\\\u{60000}-\\\\u{6FFFD}\\\\u{70000}-\\\\u{7FFFD}\\\\u{80000}-\\\\u{8FFFD}\\\\u{90000}-\\\\u{9FFFD}\\\\u{A0000}-\\\\u{AFFFD}\\\\u{B0000}-\\\\u{BFFFD}\\\\u{C0000}-\\\\u{CFFFD}\\\\u{D0000}-\\\\u{DFFFD}\\\\u{E1000}-\\\\u{EFFFD}!\\\\$&'\\\\(\\\\)\\\\*\\\\+,;=:@])))(?:\\\\?(?:(?:%[0-9a-f][0-9a-f]|[-a-z0-9\\\\._~\\\\u{A0}-\\\\u{D7FF}\\\\u{F900}-\\\\u{FDCF}\\\\u{FDF0}-\\\\u{FFEF}\\\\u{10000}-\\\\u{1FFFD}\\\\u{20000}-\\\\u{2FFFD}\\\\u{30000}-\\\\u{3FFFD}\\\\u{40000}-\\\\u{4FFFD}\\\\u{50000}-\\\\u{5FFFD}\\\\u{60000}-\\\\u{6FFFD}\\\\u{70000}-\\\\u{7FFFD}\\\\u{80000}-\\\\u{8FFFD}\\\\u{90000}-\\\\u{9FFFD}\\\\u{A0000}-\\\\u{AFFFD}\\\\u{B0000}-\\\\u{BFFFD}\\\\u{C0000}-\\\\u{CFFFD}\\\\u{D0000}-\\\\u{DFFFD}\\\\u{E1000}-\\\\u{EFFFD}!\\\\$&'\\\\(\\\\)\\\\*\\\\+,;=:@])|[\\\\u{E000}-\\\\u{F8FF}\\\\u{F0000}-\\\\u{FFFFD}\\\\u{100000}-\\\\u{10FFFD}\\\\/\\\\?])*)?(?:#(?:(?:%[0-9a-f][0-9a-f]|[-a-z0-9\\\\._~\\\\u{A0}-\\\\u{D7FF}\\\\u{F900}-\\\\u{FDCF}\\\\u{FDF0}-\\\\u{FFEF}\\\\u{10000}-\\\\u{1FFFD}\\\\u{20000}-\\\\u{2FFFD}\\\\u{30000}-\\\\u{3FFFD}\\\\u{40000}-\\\\u{4FFFD}\\\\u{50000}-\\\\u{5FFFD}\\\\u{60000}-\\\\u{6FFFD}\\\\u{70000}-\\\\u{7FFFD}\\\\u{80000}-\\\\u{8FFFD}\\\\u{90000}-\\\\u{9FFFD}\\\\u{A0000}-\\\\u{AFFFD}\\\\u{B0000}-\\\\u{BFFFD}\\\\u{C0000}-\\\\u{CFFFD}\\\\u{D0000}-\\\\u{DFFFD}\\\\u{E1000}-\\\\u{EFFFD}!\\\\$&'\\\\(\\\\)\\\\*\\\\+,;=:@])|[\\\\/\\\\?])*)?$\", \"ui\");\n} catch (e) {\n // Fallback to simple validation, works in all browsers\n iriRegExp = new RegExp(\"^[a-z](?:[-a-z0-9\\\\+\\\\.])*:\", \"i\");\n}\n\nfunction UriUtils() {\n function validateRdfUri(value) {\n const hasAngleBrackets = value.indexOf(\"<\") >= 0 && value.indexOf(\">\") >= 0;\n const noAngleBrackets = value.indexOf(\"<\") === -1 && value.lastIndexOf(\">\") === -1;\n const validProtocol = /^<?(http|urn).*>?/.test(value) && (hasAngleBrackets || noAngleBrackets);\n let validPath = false;\n if (validProtocol) {\n if (value.indexOf(\"http\") >= 0) {\n const schemaSlashesIdx = value.indexOf('//');\n validPath = schemaSlashesIdx > 4\n && value.substring(schemaSlashesIdx + 2).length > 0;\n } else if (value.indexOf(\"urn\") >= 0) {\n validPath = value.substring(4).length > 0;\n }\n }\n return validProtocol && validPath;\n }\n\n function isValidIri(iri) {\n return iri !== undefined && !!iri.match(iriRegExp);\n }\n\n return {\n isValidIri: isValidIri,\n validateRdfUri: validateRdfUri\n };\n}\n","angular\n .module('graphdb.framework.utils.notifications', [])\n .factory('Notifications', Notifications);\n\nNotifications.$inject = ['toastr', '$translate'];\n\nfunction Notifications(toastr, $translate) {\n return {\n showToastMessageWithDelay\n };\n\n /**\n * This method will show message with tiny delay and only after completion\n * of latter redirection to \"graphs-visualizations\" page will happen.\n * @param {string} message The message to be displayed.\n * @return {Promise<any>}\n */\n function showToastMessageWithDelay(message) {\n return new Promise((r) => {\n toastr.success($translate.instant(message));\n setTimeout(r, 200);\n });\n }\n}\n","import 'angular/core/services';\nimport 'angular/core/services/repositories.service';\nimport 'angular/rest/monitoring.rest.service';\nimport 'angular/utils/notifications';\nimport 'angular/utils/uri-utils';\nimport {decodeHTML} from \"../../../app\";\n\nconst modules = [\n 'ui.bootstrap',\n 'graphdb.framework.core.services.repositories',\n 'graphdb.framework.rest.monitoring.service',\n 'toastr'\n];\n\nangular.module('graphdb.framework.sparql-template.controllers', modules, [\n 'graphdb.framework.utils.notifications'\n])\n .controller('SparqlTemplatesCtrl', SparqlTemplatesCtrl)\n .controller('SparqlTemplateCreateCtrl', SparqlTemplateCreateCtrl);\n\nSparqlTemplatesCtrl.$inject = ['$scope', '$repositories', 'SparqlTemplatesRestService', 'toastr', 'ModalService', '$licenseService', '$translate'];\n\nfunction SparqlTemplatesCtrl($scope, $repositories, SparqlTemplatesRestService, toastr, ModalService, $licenseService, $translate) {\n\n $scope.pluginName = 'sparql-template';\n\n $scope.setPluginIsActive = function (isPluginActive) {\n $scope.pluginIsActive = isPluginActive;\n }\n\n $scope.getSparqlTemplates = function () {\n // Only do this if there is an active repo that isn't an Ontop repo.\n // Ontop repos doesn't support update operations.\n if ($licenseService.isLicenseValid() &&\n $repositories.getActiveRepository()\n && !$repositories.isActiveRepoOntopType()\n && !$repositories.isActiveRepoFedXType()) {\n SparqlTemplatesRestService.getSparqlTemplates().success(function (data) {\n $scope.sparqlTemplateIds = data;\n }).error(function (data) {\n const msg = getError(data);\n toastr.error(msg, $translate.instant('sparql.template.get.templates.error'));\n });\n } else {\n $scope.sparqlTemplateIds = [];\n }\n };\n\n $scope.$watch(function () {\n return $repositories.getActiveRepository();\n }, function () {\n $scope.getSparqlTemplates();\n });\n\n $scope.deleteTemplate = function (templateID) {\n ModalService.openSimpleModal({\n title: $translate.instant('common.warning'),\n message: $translate.instant('sparql.template.delete.template.warning', {templateID: templateID}),\n warning: true\n }).result\n .then(function () {\n SparqlTemplatesRestService.deleteSparqlTemplate(templateID)\n .success(function () {\n toastr.success(templateID, $translate.instant('sparql.template.delete.template.success'));\n $scope.getSparqlTemplates();\n }).error(function (e) {\n toastr.error(getError(e), $translate.instant('sparql.template.delete.template.failure', {templateID: templateID}));\n });\n });\n };\n}\n\nSparqlTemplateCreateCtrl.$inject = ['$scope', '$location', 'toastr', '$repositories', '$window', '$timeout', 'SparqlTemplatesRestService', 'RDF4JRepositoriesRestService', 'SparqlRestService', 'UriUtils', 'ModalService', '$translate'];\n\nfunction SparqlTemplateCreateCtrl($scope, $location, toastr, $repositories, $window, $timeout, SparqlTemplatesRestService, RDF4JRepositoriesRestService, SparqlRestService, UriUtils, ModalService, $translate) {\n\n const hash = $location.hash() || '';\n $scope.templateID = ($location.search().templateID || '') + (hash ? (`#${hash}`) : '');\n $scope.title = ($scope.templateID ? $translate.instant('edit') : $translate.instant('common.create.btn')) + ' SPARQL Template';\n $scope.getNamespaces = getNamespaces;\n $scope.setLoader = setLoader;\n $scope.addKnownPrefixes = addKnownPrefixes;\n $scope.noPadding = {paddingRight: 0, paddingLeft: 0};\n $scope.currentTabConfig = {};\n // This property is obligatory in order to show YASQUE and YASR properly\n $scope.orientationViewMode = true;\n $scope.currentQuery = {};\n let templateExist = false;\n\n\n $scope.$watch(function () {\n return $repositories.getActiveRepository();\n }, function (newValue, oldValue) {\n if (newValue !== oldValue) {\n $location.path('/sparql-templates');\n }\n });\n\n let timer = null;\n $scope.goBack = function () {\n timer = $timeout(function () {\n $window.history.back();\n }, 1000);\n };\n\n const locationChangeListener = $scope.$on('$locationChangeStart', function (event) {\n confirmExit(event);\n });\n\n window.addEventListener('beforeunload', showBeforeunloadMessage);\n\n function showBeforeunloadMessage(event) {\n if (!$scope.currentQuery.isPristine) {\n event.returnValue = true;\n }\n }\n\n function confirmExit(event) {\n if (!$scope.currentQuery.isPristine) {\n if (!confirm($translate.instant('jdbc.warning.unsaved.changes'))) {\n event.preventDefault();\n } else {\n window.removeEventListener('beforeunload', showBeforeunloadMessage);\n locationChangeListener();\n $timeout.cancel(timer);\n }\n }\n }\n\n $scope.$on('$destroy', function (event) {\n window.removeEventListener('beforeunload', showBeforeunloadMessage);\n locationChangeListener();\n $timeout.cancel(timer);\n });\n\n const defaultTabConfig = {\n templateID: '',\n query: 'PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>\\n' +\n 'PREFIX ex: <http://example.com#>\\n' +\n 'DELETE {\\n' +\n ' ?subject ex:myPredicate ?oldValue .\\n' +\n '} INSERT {\\n' +\n ' ?subject ex:myPredicate ?newValue .\\n' +\n '} WHERE {\\n' +\n ' ?id rdf:type ex:MyType .\\n' +\n ' ?subject ex:isRelatedTo ?id .\\n' +\n '}\\n',\n inference: true,\n sameAs: true,\n isNewTemplate: true,\n isPristine: true\n };\n\n $scope.saveTab = function () {\n // Should have this empty function in this view\n };\n\n // Called when user clicks on a sample query\n $scope.setQuery = function (query) {\n // Hack for YASQE bug\n window.editor.setValue(query ? query : ' ');\n };\n\n if ($scope.templateID) {\n getSparqlTemplate($scope.templateID);\n } else {\n setQueryFromTabConfig();\n }\n\n // FIXME: this is copy-pasted in graphs-config.controller.js and query-editor.controller.js. Find a way to avoid duplications\n function getNamespaces() {\n // Signals the namespaces are to be fetched => loader will be shown\n setLoader(true, $translate.instant('common.refreshing.namespaces'), $translate.instant('common.extra.message'));\n RDF4JRepositoriesRestService.getRepositoryNamespaces()\n .success(function (data) {\n const usedPrefixes = {};\n data.results.bindings.forEach(function (e) {\n usedPrefixes[e.prefix.value] = e.namespace.value;\n });\n $scope.namespaces = usedPrefixes;\n })\n .error(function (data) {\n $scope.repositoryError = getError(data);\n })\n .finally(function () {\n // Signals namespaces were fetched => loader will be hidden\n setLoader(false);\n loadTab();\n });\n }\n\n function setLoader(isRunning, progressMessage, extraMessage) {\n const yasrInnerContainer = angular.element(document.getElementById('yasr-inner'));\n $scope.queryIsRunning = isRunning;\n if (isRunning) {\n $scope.queryStartTime = Date.now();\n $scope.countTimeouted = false;\n $scope.progressMessage = progressMessage;\n $scope.extraMessage = extraMessage;\n yasrInnerContainer.addClass('hide');\n } else {\n $scope.progressMessage = '';\n $scope.extraMessage = '';\n yasrInnerContainer.removeClass('hide');\n }\n\n // We might call this from angular or outside angular so take care of applying the scope.\n if ($scope.$$phase === null) {\n $scope.$apply();\n }\n }\n\n function loadTab() {\n $scope.tabsData = [$scope.currentQuery];\n\n const tab = $scope.currentQuery;\n\n if (!$scope.currentQuery.query) {\n // hack for YASQE bug\n window.editor.setValue(' ');\n } else {\n window.editor.setValue($scope.currentQuery.query);\n }\n\n $timeout(function () {\n $scope.currentTabConfig = {};\n $scope.currentTabConfig.queryType = tab.queryType;\n $scope.currentTabConfig.resultsCount = tab.resultsCount;\n\n $scope.currentTabConfig.offset = tab.offset;\n $scope.currentTabConfig.allResultsCount = tab.allResultsCount;\n $scope.currentTabConfig.page = tab.page;\n $scope.currentTabConfig.pageSize = tab.pageSize;\n\n $scope.currentTabConfig.timeFinished = tab.timeFinished;\n $scope.currentTabConfig.timeTook = tab.timeTook;\n $scope.currentTabConfig.sizeDelta = tab.sizeDelta;\n $scope.$apply();\n }, 0);\n\n if (!$scope.canWriteActiveRepo()) {\n window.editor.options.readOnly = true;\n }\n }\n\n function getSparqlTemplate(templateID) {\n SparqlTemplatesRestService.getSparqlTemplate(templateID).success(function (templateContent) {\n defaultTabConfig.query = templateContent;\n defaultTabConfig.templateID = templateID;\n\n defaultTabConfig.isNewTemplate = !templateID;\n\n setQueryFromTabConfig();\n }).error(function (data) {\n const msg = getError(data);\n toastr.error(msg, $translate.instant('sparql.template.get.template.error', {templateID: $scope.currentQuery.templateID}));\n $scope.repositoryError = msg;\n });\n }\n\n function setQueryFromTabConfig() {\n $scope.tabsData = $scope.tabs = [defaultTabConfig];\n $scope.currentQuery = angular.copy(defaultTabConfig);\n\n if (window.editor) {\n $scope.setQuery($scope.currentQuery.query);\n loadTab();\n }\n\n $scope.$watch(function () {\n return $scope.currentQuery.query;\n }, function (newValue, oldValue) {\n if (newValue !== oldValue) {\n $scope.setDirty();\n }\n });\n }\n\n $scope.saveTemplate = function () {\n if (!validateQuery()) {\n return;\n }\n\n if (!$scope.currentQuery.templateID) {\n toastr.error($translate.instant('sparql.template.iri.constraint'));\n return;\n } else {\n validateTemplateID();\n if ($scope.isInvalidTemplateId) {\n return;\n }\n }\n\n if ($scope.currentQuery.isNewTemplate) {\n checkIfTemplateExists()\n .then(() => {\n if (templateExist) {\n const modalMsg = decodeHTML($translate.instant('sparql.template.existing.template.error', {templateID: $scope.currentQuery.templateID}));\n ModalService.openSimpleModal({\n title: $translate.instant('common.confirm.save'),\n message: modalMsg,\n warning: true\n }).result\n .then(function () {\n saveNewTemplate();\n });\n } else {\n saveNewTemplate();\n }\n });\n } else {\n if (!$scope.currentQuery.isPristine) {\n SparqlTemplatesRestService.updateSparqlTemplate($scope.currentQuery).success(function () {\n $scope.currentQuery.isPristine = true;\n $scope.currentQuery.isNewTemplate = false;\n toastr.success($scope.currentQuery.templateID, $translate.instant('update.sparql.template.success.msg'));\n $scope.goBack();\n }).error(function (data) {\n const msg = getError(data);\n toastr.error(msg, $translate.instant('save.sparql.template.failure.msg', {templateID: $scope.currentQuery.templateID}));\n });\n } else {\n // No changes to template query, go back to\n $scope.goBack();\n }\n }\n };\n\n\n // Add known prefixes\n function addKnownPrefixes() {\n SparqlRestService.addKnownPrefixes(JSON.stringify(window.editor.getValue()))\n .success(function (data) {\n if (angular.isDefined(window.editor) && angular.isDefined(data) && data !== window.editor.getValue()) {\n window.editor.setValue(data);\n }\n })\n .error(function (data) {\n const msg = getError(data);\n toastr.error(msg, $translate.instant('common.add.known.prefixes.error'));\n return true;\n });\n }\n\n $('textarea').on('paste', function () {\n $timeout(function () {\n addKnownPrefixes();\n }, 0);\n });\n\n $scope.setDirty = function () {\n $scope.currentQuery.isPristine = false;\n };\n\n function hasValidQuery() {\n return window.editor && window.editor.getQueryMode() === 'update';\n }\n\n function validateQuery() {\n if (!hasValidQuery()) {\n toastr.error($translate.instant('sparql.template.query.constraint'), $translate.instant('jdbc.invalid.query'));\n return false;\n }\n\n return true;\n }\n\n function validateTemplateID() {\n $scope.isInvalidTemplateId = !UriUtils.isValidIri($scope.currentQuery.templateID);\n }\n\n function saveNewTemplate() {\n SparqlTemplatesRestService.createSparqlTemplate($scope.currentQuery).success(function () {\n $scope.currentQuery.isPristine = true;\n $scope.currentQuery.isNewTemplate = false;\n toastr.success($scope.currentQuery.templateID, $translate.instant('save.sparql.template.success.msg'));\n $scope.goBack();\n }).error(function (data) {\n const msg = getError(data);\n toastr.error(msg, $translate.instant('save.sparql.template.failure.msg', {templateID: $scope.currentQuery.templateID}));\n });\n }\n\n function checkIfTemplateExists() {\n return SparqlTemplatesRestService\n .getSparqlTemplates()\n .success(function (data) {\n templateExist = data.find((templateId) => templateId === $scope.currentQuery.templateID);\n }).error(function (data) {\n const msg = getError(data);\n toastr.error(msg, $translate.instant('sparql.template.get.templates.error'));\n });\n }\n}\n"],"sourceRoot":""}