graphdb-workbench 2.3.2-TR1 → 2.4.0-TR2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (439) hide show
  1. package/dist/0.ae1e6ef4d20527289c7a.bundle.js +1 -0
  2. package/dist/{1.35c946a7e97b8cdeffd9.bundle.js → 1.5490c97be3b4fcdeda8e.bundle.js} +1 -1
  3. package/dist/{6.93d2e365fd3b40fd2c2f.bundle.js → 10.667be134b951b879fa9b.bundle.js} +1 -1
  4. package/dist/100.7a1fa60e4e4d38768ed4.bundle.js +1 -0
  5. package/dist/101.e326a85e283154e18fec.bundle.js +1 -0
  6. package/dist/102.6fd45033b02b4426fb1b.bundle.js +1 -0
  7. package/dist/103.a43f19a5c7c6611b92ce.bundle.js +1 -0
  8. package/dist/104.d0beff3d81f02d8e5595.bundle.js +1 -0
  9. package/dist/105.614f0f14165537667181.bundle.js +1 -0
  10. package/dist/106.bd94b09c7027e9a77d3d.bundle.js +1 -0
  11. package/dist/107.a9eaea57567341cd91f8.bundle.js +1 -0
  12. package/dist/108.58e7228224b6c2ef8b09.bundle.js +1 -0
  13. package/dist/109.5f23a6705717594af7dd.bundle.js +1 -0
  14. package/dist/11.1c3e79a8c7e229487072.bundle.js +1 -0
  15. package/dist/110.d10eb46a5f732ff23db6.bundle.js +1 -0
  16. package/dist/111.db8e01c423ad01244603.bundle.js +1 -0
  17. package/dist/112.c1940a3992952f342e60.bundle.js +1 -0
  18. package/dist/113.d800b2580760076f5b8e.bundle.js +1 -0
  19. package/dist/114.26fa0fbbba53a7c6f5d9.bundle.js +1 -0
  20. package/dist/115.28426fa94931e0770459.bundle.js +1 -0
  21. package/dist/116.73127a0c0178c25cc5d3.bundle.js +1 -0
  22. package/dist/117.b702dd15f869ce96c633.bundle.js +1 -0
  23. package/dist/118.14ea4291e6ffba7eceb7.bundle.js +1 -0
  24. package/dist/119.361b13628828ac645480.bundle.js +1 -0
  25. package/dist/12.6330bc79729180605ef4.bundle.js +1 -0
  26. package/dist/120.aaf4feb767f4924971f9.bundle.js +1 -0
  27. package/dist/121.e79dbe7e106ba59c65ee.bundle.js +1 -0
  28. package/dist/122.77418405c923a6cd2010.bundle.js +1 -0
  29. package/dist/123.af8d7839df84ecd4627f.bundle.js +1 -0
  30. package/dist/124.b85f6d1f2632bfd38353.bundle.js +1 -0
  31. package/dist/125.d4fab7222b9327bd910d.bundle.js +1 -0
  32. package/dist/126.55aed84a77279e10f965.bundle.js +1 -0
  33. package/dist/127.d092744a215f63a7188c.bundle.js +1 -0
  34. package/dist/128.10b0581ef0a3b8747a83.bundle.js +1 -0
  35. package/dist/129.098ed2f7efa34f827c49.bundle.js +1 -0
  36. package/dist/13.3bc0b0e2b9ef3d69e9a4.bundle.js +110 -0
  37. package/dist/130.fa662ce3444de6a11e9e.bundle.js +1 -0
  38. package/dist/131.652c9647c66933f7aee6.bundle.js +1 -0
  39. package/dist/132.20f7687eb8f8087f6928.bundle.js +1 -0
  40. package/dist/133.f5b319465e3e567ac27e.bundle.js +1 -0
  41. package/dist/134.80ec8df115d7c99f17e2.bundle.js +1 -0
  42. package/dist/135.abf99f086c687dfff45c.bundle.js +1 -0
  43. package/dist/136.430149b5a7b998ff991d.bundle.js +1 -0
  44. package/dist/137.e457ff96515d13591ba3.bundle.js +1 -0
  45. package/dist/138.a29b1b9b272d364237bb.bundle.js +1 -0
  46. package/dist/139.3afe5ad60d04e8c4ab86.bundle.js +1 -0
  47. package/dist/14.70c1df9843d6e72b911b.bundle.js +107 -0
  48. package/dist/140.481d4047408b4edc7806.bundle.js +1 -0
  49. package/dist/141.c818f6bc04e63c6a7209.bundle.js +1 -0
  50. package/dist/142.06cbe200cd621f2d9883.bundle.js +1 -0
  51. package/dist/143.567ef17b6a2853cab9d8.bundle.js +1 -0
  52. package/dist/144.7c66140065c88e2d893e.bundle.js +1 -0
  53. package/dist/145.053f146f9eacd2b0a9fb.bundle.js +1 -0
  54. package/dist/146.7ce3c032a8be37ca0123.bundle.js +1 -0
  55. package/dist/147.6f1344c144cfed4d9a0d.bundle.js +1 -0
  56. package/dist/148.2b76a7d561172fd38e35.bundle.js +1 -0
  57. package/dist/149.3a8de9c778b5e25356c4.bundle.js +1 -0
  58. package/dist/15.97f1a1e7789d5dbab267.bundle.js +107 -0
  59. package/dist/150.1dc3d51a3b22a99bb2e3.bundle.js +1 -0
  60. package/dist/151.7a5d9d89a8ffb7187fc8.bundle.js +1 -0
  61. package/dist/152.0720e5a9399b3faff221.bundle.js +1 -0
  62. package/dist/153.3cb3b82963dec88683cf.bundle.js +1 -0
  63. package/dist/154.c6ccf80cd1b44d942e79.bundle.js +1 -0
  64. package/dist/155.2b283fb307e4d92eae3e.bundle.js +1 -0
  65. package/dist/156.229d9de8c1deacaab954.bundle.js +1 -0
  66. package/dist/157.98379fe12acb5150ba32.bundle.js +1 -0
  67. package/dist/158.cb1baa14038bb017dd14.bundle.js +1 -0
  68. package/dist/159.1a82ef784cdd60e6f650.bundle.js +1 -0
  69. package/dist/16.c582c76cf2698ead6c7b.bundle.js +2 -0
  70. package/dist/160.2f364a367491b12bc279.bundle.js +1 -0
  71. package/dist/161.0461776b5235f18d1293.bundle.js +1 -0
  72. package/dist/162.c33fbf0330003effd25c.bundle.js +1 -0
  73. package/dist/163.a4fb1425dd903c11794a.bundle.js +1 -0
  74. package/dist/{100.7b7cd84f6e7a5e0c0872.bundle.js → 164.af26a155d2e6d4aea0d2.bundle.js} +1 -1
  75. package/dist/{101.1d929325c55f84f51f95.bundle.js → 165.abe81cf177472175af1e.bundle.js} +1 -1
  76. package/dist/{102.e1992c895bdb976ad3b5.bundle.js → 166.bce6fe40b561cc8897f5.bundle.js} +1 -1
  77. package/dist/167.abb6539a86a68a817547.bundle.js +1 -0
  78. package/dist/{104.27ef289584fbb32c310c.bundle.js → 168.ac2a0f86b9c6d52a738f.bundle.js} +1 -1
  79. package/dist/169.15373f171870ec1f5eb2.bundle.js +1 -0
  80. package/dist/17.6c619ca0d8a406df2cab.bundle.js +1 -0
  81. package/dist/{106.00f83dad7fd5529fc727.bundle.js → 170.422647220c44f6cda32f.bundle.js} +1 -1
  82. package/dist/{107.d522056e00eb1d7714eb.bundle.js → 171.db1dbf8a4a972807b2da.bundle.js} +1 -1
  83. package/dist/{108.e57aa12611cf0efe0529.bundle.js → 172.78d00e9d92407a07dcd8.bundle.js} +1 -1
  84. package/dist/{110.994e6833c2b7b5bf8b06.bundle.js → 173.b8813cf156efbb90c1f2.bundle.js} +1 -1
  85. package/dist/{111.1aea48938559aa4f85ff.bundle.js → 174.94ecf50f973bc47fe1be.bundle.js} +1 -1
  86. package/dist/{112.15379080dfadcc896315.bundle.js → 175.bdf6010e0691810aace3.bundle.js} +1 -1
  87. package/dist/{113.4814d391842917613475.bundle.js → 176.c92aa87a14191492dd30.bundle.js} +1 -1
  88. package/dist/{114.38373e7f765a6f774a5f.bundle.js → 177.b573ab756c85c2ab6cb3.bundle.js} +1 -1
  89. package/dist/{115.b32c51ed316f8c9b2399.bundle.js → 178.01946da2f359a45cdcd9.bundle.js} +1 -1
  90. package/dist/179.aec4a71334eb62b89f7e.bundle.js +1 -0
  91. package/dist/18.a3572499999b6649aa98.bundle.js +1 -0
  92. package/dist/180.e23c52d74df2c852db3a.bundle.js +1 -0
  93. package/dist/181.f21d151c6b2ceb09d5ac.bundle.js +1 -0
  94. package/dist/182.7b61cda36554299faa6b.bundle.js +1 -0
  95. package/dist/183.f50b15b4580012fdc4f1.bundle.js +1 -0
  96. package/dist/{121.c93a4daf2ebaef26e321.bundle.js → 184.e3d5e7a31987a5ffa756.bundle.js} +1 -1
  97. package/dist/{122.910caa6a9a52168cf5a0.bundle.js → 185.fbef6da14cde564c93f6.bundle.js} +1 -1
  98. package/dist/{123.54f02cfdc1c752f8154d.bundle.js → 186.14c7474fef292cade667.bundle.js} +1 -1
  99. package/dist/{124.e7833c37dc4def185074.bundle.js → 187.416fb1e591ffb72b0637.bundle.js} +1 -1
  100. package/dist/188.1c4b91144b9663d0b1b7.bundle.js +1 -0
  101. package/dist/{126.a72e76a6f1a27cd37e5a.bundle.js → 189.f6ae8eaf3307266830bc.bundle.js} +1 -1
  102. package/dist/19.99dc6d461e3a456a2304.bundle.js +3 -0
  103. package/dist/{128.8492676d2638fa17f416.bundle.js → 190.11c1974420443b489bcf.bundle.js} +1 -1
  104. package/dist/191.75b55f49a694f37601ff.bundle.js +1 -0
  105. package/dist/192.5552d2ddc99535175c89.bundle.js +1 -0
  106. package/dist/{129.6146ff84590131f3a55e.bundle.js → 193.17028b0acbf28eca4484.bundle.js} +1 -1
  107. package/dist/{131.00e6d4ae06befb555cfc.bundle.js → 194.96c134d364d52b73f0f6.bundle.js} +1 -1
  108. package/dist/{132.49e681d6147484e5bae8.bundle.js → 195.75ef7cb3d3627934c2dd.bundle.js} +1 -1
  109. package/dist/{133.cf8fdaa6c0def7be2795.bundle.js → 196.d6ff070ee7a4ba287eb5.bundle.js} +1 -1
  110. package/dist/{134.51e49e6ae0721e845cb8.bundle.js → 197.e87fc1c14bd3d23e5a5d.bundle.js} +1 -1
  111. package/dist/{135.1cf5c85fb2378272cfac.bundle.js → 198.360fdcf75ea5c252739c.bundle.js} +1 -1
  112. package/dist/199.ddd3fbb4044e4df7d32d.bundle.js +1 -0
  113. package/dist/2.96982d5aa6999546f220.bundle.js +2 -0
  114. package/dist/20.e6c165d83703a96223ff.bundle.js +2 -0
  115. package/dist/200.0f243bd061418b8473fd.bundle.js +1 -0
  116. package/dist/{136.964db904b4587cc3f0f2.bundle.js → 201.cd2a7345a1428f5293a8.bundle.js} +1 -1
  117. package/dist/207.d4c6a061b0a19507d512.bundle.js +1 -0
  118. package/dist/208.4eb81eb9f144dfb93cc9.bundle.js +1 -0
  119. package/dist/209.c7eb527c086544fb3df8.bundle.js +1 -0
  120. package/dist/21.8c7dce0829251898f9cf.bundle.js +1 -0
  121. package/dist/210.1f965f0b4262d24d033e.bundle.js +1 -0
  122. package/dist/{140.e155a6710b9e5ccddb73.bundle.js → 211.a8757783488758eba1c1.bundle.js} +1 -1
  123. package/dist/{141.0682bf0e20272318d2ef.bundle.js → 212.2d954e29ca5af8c97baa.bundle.js} +1 -1
  124. package/dist/{142.87f971612121afa2bc3d.bundle.js → 213.fed7ec4dc0f53ec0a07e.bundle.js} +1 -1
  125. package/dist/{143.de871e8619f29e3c9b37.bundle.js → 214.50082e4dbec1b1d9d577.bundle.js} +1 -1
  126. package/dist/{144.5db249cdfe6d835ab772.bundle.js → 215.52bace054717a769d4f9.bundle.js} +1 -1
  127. package/dist/{145.a637152fc809104046e1.bundle.js → 216.219dd2d4d2d8072ae5f8.bundle.js} +1 -1
  128. package/dist/{146.d40092d424880f027d56.bundle.js → 217.97823054da3b379ee7f0.bundle.js} +1 -1
  129. package/dist/218.3ac3058f787922734e91.bundle.js +1 -0
  130. package/dist/{148.a847a9ae06a0e5cf2dbd.bundle.js → 219.e15036da04d7dffe92c4.bundle.js} +1 -1
  131. package/dist/22.968884dc36301b310027.bundle.js +1 -0
  132. package/dist/{149.11ad7aae9d483e5b4f3b.bundle.js → 220.da2fb225d703c2316b66.bundle.js} +1 -1
  133. package/dist/221.03b9a55b4132fc85e678.bundle.js +1 -0
  134. package/dist/{150.8e0568e15a67a0a784ee.bundle.js → 222.1ce51ed4070bdeb0b1d6.bundle.js} +1 -1
  135. package/dist/{151.f141f7e62802a9fc9b09.bundle.js → 223.4c4cccf072cae2dc5ebd.bundle.js} +1 -1
  136. package/dist/{152.5ced705d8b47d5bb1213.bundle.js → 224.4d9246047f0123fa9435.bundle.js} +1 -1
  137. package/dist/{153.63ec29a88f3cd5dfcdc6.bundle.js → 225.a38ca2c632fcddaf2623.bundle.js} +1 -1
  138. package/dist/{154.e550179b500aa45c3b90.bundle.js → 226.4ee913b04ecb29790e94.bundle.js} +1 -1
  139. package/dist/{155.46ec77b333c78419270a.bundle.js → 227.c87d7edaafc2daf536d8.bundle.js} +1 -1
  140. package/dist/{156.dd3f4483a2136953446a.bundle.js → 228.3b8c944c043de1a866b5.bundle.js} +1 -1
  141. package/dist/{157.170584cdf6d1dfb92ac9.bundle.js → 229.1725502d851b770caada.bundle.js} +1 -1
  142. package/dist/23.a69133519440093a77e6.bundle.js +1 -0
  143. package/dist/{158.f6044c96ade26a4c0403.bundle.js → 230.503537d2f10dc7b60429.bundle.js} +1 -1
  144. package/dist/{159.fe33cf1ed1ce105ed587.bundle.js → 231.a57b1cbc714778f48726.bundle.js} +1 -1
  145. package/dist/{160.2e4b5925fea9e7bd5070.bundle.js → 232.ea7beb5999855d08d950.bundle.js} +1 -1
  146. package/dist/{161.bb6754e4a785d391376a.bundle.js → 233.e674e9f39ed5f158139c.bundle.js} +1 -1
  147. package/dist/{162.e5f05b09bc683ade91f2.bundle.js → 234.9efb9061e2a179bfab6b.bundle.js} +1 -1
  148. package/dist/{163.8bf4bb45efeb303f998c.bundle.js → 235.21d4f7f044972671aa00.bundle.js} +1 -1
  149. package/dist/{164.efad8f36ff9b50f5dde2.bundle.js → 236.b2ed6b46b35579b4114e.bundle.js} +1 -1
  150. package/dist/{165.09a5e6e3f51465be71bd.bundle.js → 237.505b2532de0a49a2df10.bundle.js} +1 -1
  151. package/dist/{166.0d5ae7641406d6e7529f.bundle.js → 238.704bb9b8d2f9e0ee00f3.bundle.js} +1 -1
  152. package/dist/{167.ad0c06a7bfa23bb388ed.bundle.js → 239.373deec8d2179e51dbff.bundle.js} +1 -1
  153. package/dist/24.a2b38a5129fddf783fd2.bundle.js +1 -0
  154. package/dist/{168.2df745d38c41db004f3c.bundle.js → 240.ed9eeaa8432771f37a04.bundle.js} +1 -1
  155. package/dist/{169.5e6ba6349d198dd0d1f8.bundle.js → 241.5a49bd4cf83a74efbd2c.bundle.js} +1 -1
  156. package/dist/{170.96686a1ff199a4c5a312.bundle.js → 242.b35febbf2edf5b952f47.bundle.js} +1 -1
  157. package/dist/{171.86f50ec6dec4b47bb30d.bundle.js → 243.a2b527f074bd93c1e5c6.bundle.js} +1 -1
  158. package/dist/{172.7869a1148738b79d144e.bundle.js → 244.783e6bd3b079d027ee5b.bundle.js} +1 -1
  159. package/dist/{173.9587892f3ea0f72fcd8b.bundle.js → 245.452d7d356d9cfb54cdb2.bundle.js} +1 -1
  160. package/dist/{174.124975f55100cda2adab.bundle.js → 246.9157c1205858b23ca1e3.bundle.js} +1 -1
  161. package/dist/{175.dae1de62e8a7e4dc75cf.bundle.js → 247.357da7858cf91a20d3f4.bundle.js} +1 -1
  162. package/dist/248.d7bb162711127d803b47.bundle.js +1 -0
  163. package/dist/249.aa2780286e2c98bfb8eb.bundle.js +1 -0
  164. package/dist/25.31cca6cc980e445d7ab6.bundle.js +1 -0
  165. package/dist/{178.cf91ce517fc7dd1870bb.bundle.js → 250.0445cc589351276a8a70.bundle.js} +1 -1
  166. package/dist/{179.ba1dd1aa2c4d68a63a3b.bundle.js → 251.74b688d20e2104421167.bundle.js} +1 -1
  167. package/dist/{180.2ff24dcdc809283123f3.bundle.js → 252.c04831837bdb1aa50d56.bundle.js} +1 -1
  168. package/dist/{181.c774c100882c57944845.bundle.js → 253.8c932b1663eeba95e515.bundle.js} +1 -1
  169. package/dist/{182.fdd2f967f63f356b856d.bundle.js → 254.80d97907b07288cc7e22.bundle.js} +1 -1
  170. package/dist/{183.803408193331683fa4b0.bundle.js → 255.c3b19d5ae694e459d929.bundle.js} +1 -1
  171. package/dist/{184.962fe21c6465aae64304.bundle.js → 256.83f941b2673fe5bdbf53.bundle.js} +1 -1
  172. package/dist/{185.4dc415bcfd002e16c3c3.bundle.js → 257.a4c04e45dd2f9eaebcfe.bundle.js} +1 -1
  173. package/dist/{186.e7927d5c165f0756aa34.bundle.js → 258.7b43971fc9ad205cdb19.bundle.js} +1 -1
  174. package/dist/259.21acfb9fb0aaf51f2e20.bundle.js +1 -0
  175. package/dist/26.b080171c52f301446737.bundle.js +2 -0
  176. package/dist/260.a31ce7c290a1ae5d6ecb.bundle.js +1 -0
  177. package/dist/261.2ced6ca77dcf5d501eb5.bundle.js +1 -0
  178. package/dist/262.afed51447318f0355284.bundle.js +1 -0
  179. package/dist/27.b33d913afe66e5359573.bundle.js +1 -0
  180. package/dist/28.76d6afe1e3650e89d09a.bundle.js +1 -0
  181. package/dist/29.f9a0eb120b8aac5b7e50.bundle.js +1 -0
  182. package/dist/{3.10956434057c4f020bc0.bundle.js → 3.f96eb75c9551d6972f39.bundle.js} +1 -1
  183. package/dist/30.c08bc605fec51cd6f512.bundle.js +1 -0
  184. package/dist/31.bed88b6f93271c4b563e.bundle.js +1 -0
  185. package/dist/32.eb21d1c2bd72b7fa4cfa.bundle.js +1 -0
  186. package/dist/33.0c85f99a689b588db1b1.bundle.js +1 -0
  187. package/dist/34.37301c4017f2440f6d64.bundle.js +2 -0
  188. package/dist/35.062ba72b231f1329e46b.bundle.js +1 -0
  189. package/dist/36.7f64a700f109eae54561.bundle.js +1 -0
  190. package/dist/37.cf675652196fefe56537.bundle.js +1 -0
  191. package/dist/38.49aa0307493c1bbe6954.bundle.js +1 -0
  192. package/dist/{28.ca97dd7e725fc87cf773.bundle.js → 39.245e616f38a2ce5f7f05.bundle.js} +1 -1
  193. package/dist/4.7ec15f438705c5ba71a9.bundle.js +1 -0
  194. package/dist/{29.b09906e213d58bc57e88.bundle.js → 40.8e71597032f79ac287d2.bundle.js} +2 -2
  195. package/dist/41.efa3146f107de7a56a9b.bundle.js +2 -0
  196. package/dist/42.cf0dba02876f712d25e0.bundle.js +1 -0
  197. package/dist/43.855614cb9b6bf3f0e7e8.bundle.js +1 -0
  198. package/dist/44.cf7a606905b265c55aed.bundle.js +1 -0
  199. package/dist/45.41e5e22424aa4522e3dd.bundle.js +1 -0
  200. package/dist/46.d62a206782b4248dcf8e.bundle.js +1 -0
  201. package/dist/47.959c331de1c340cae6ab.bundle.js +1 -0
  202. package/dist/48.e1c6bf76dc8f0ae59ba6.bundle.js +1 -0
  203. package/dist/{34.c9f9691c999cf78641af.bundle.js → 49.fecc9a3a1d950daf5277.bundle.js} +1 -1
  204. package/dist/5.428cc0e0b46bd84e7d30.bundle.js +1 -0
  205. package/dist/50.23b33c555b5d3290d859.bundle.js +1 -0
  206. package/dist/{37.c98ca302abf4ec046ce4.bundle.js → 51.6f9201130b9be8288b2d.bundle.js} +1 -1
  207. package/dist/52.c11e1370ba40c008accf.bundle.js +1 -0
  208. package/dist/53.c4d88d40889f22e8169f.bundle.js +1 -0
  209. package/dist/54.8a88ea35da2bfd720ddf.bundle.js +1 -0
  210. package/dist/{39.b6b83948c01021f7a8d7.bundle.js → 55.7f1f0d723a0280294f05.bundle.js} +1 -1
  211. package/dist/56.5d56ff0d2099c9b5e608.bundle.js +1 -0
  212. package/dist/57.dbfe8dc8a76f4b861953.bundle.js +1 -0
  213. package/dist/58.33ab884a545d2595a995.bundle.js +1 -0
  214. package/dist/59.6354b34417f4e4b93a95.bundle.js +1 -0
  215. package/dist/6.f04822d313ba68cdb2a0.bundle.js +1 -0
  216. package/dist/60.03afc4eb27552fb120a7.bundle.js +1 -0
  217. package/dist/61.5bc6816ca9156527cc83.bundle.js +1 -0
  218. package/dist/62.c60fd7804922c303ce32.bundle.js +1 -0
  219. package/dist/{45.aa715f690eb4e3468ae4.bundle.js → 63.8444a441dd5f8795d78c.bundle.js} +1 -1
  220. package/dist/{46.03a18c3b4705657028c7.bundle.js → 64.464ff8190560ccdba9e1.bundle.js} +1 -1
  221. package/dist/{47.de8f482d83f6ff53af79.bundle.js → 65.6e15793e6995ddbb3586.bundle.js} +1 -1
  222. package/dist/{48.5ce4ade52b37df011790.bundle.js → 66.c7ba236b9d666ebfc794.bundle.js} +1 -1
  223. package/dist/{49.4eff5013c8b59b697939.bundle.js → 67.391ba1f0f30839498d99.bundle.js} +1 -1
  224. package/dist/{50.5feea66baa4d9e70396f.bundle.js → 68.a96f0ed2744e8b7ca303.bundle.js} +1 -1
  225. package/dist/{51.ba7dda28dd61b62002a8.bundle.js → 69.f050ac0cdcfec12742a1.bundle.js} +1 -1
  226. package/dist/7.fd0e7253010fe287c93d.bundle.js +107 -0
  227. package/dist/{52.23a7b2805c058430ef8b.bundle.js → 70.436a0d6f9d91479b0852.bundle.js} +1 -1
  228. package/dist/{53.1b3bb03b758295ea5c0d.bundle.js → 71.69d2370c04d5e31f309f.bundle.js} +1 -1
  229. package/dist/72.0569229793d5c67be3c6.bundle.js +1 -0
  230. package/dist/73.838474853ede7fb16d52.bundle.js +1 -0
  231. package/dist/74.a3c95e1e2eb3eac487a8.bundle.js +1 -0
  232. package/dist/{58.f7e27a6215d46caeae82.bundle.js → 75.437e21bc890577bfc400.bundle.js} +1 -1
  233. package/dist/76.7440ca2eeea202f5d0fe.bundle.js +1 -0
  234. package/dist/{60.34ee8b33f83a84b91ef2.bundle.js → 77.d096ee9adbeee8c82984.bundle.js} +1 -1
  235. package/dist/78.6daaf93fbcac65a9bae3.bundle.js +1 -0
  236. package/dist/{62.09db021d7b732ef8e3d4.bundle.js → 79.61748c4b2473d85ee883.bundle.js} +1 -1
  237. package/dist/8.5dda979f99ce5e03eacd.bundle.js +1 -0
  238. package/dist/80.034e5183054e1f0259ff.bundle.js +1 -0
  239. package/dist/{64.49fe3ef08234938e3a12.bundle.js → 81.205a905e3548e58cc71b.bundle.js} +1 -1
  240. package/dist/82.e012aa4895a704c8d639.bundle.js +1 -0
  241. package/dist/{65.ce158ae1558fcbbb2b86.bundle.js → 83.71b27bbf6df60c251fc4.bundle.js} +1 -1
  242. package/dist/84.917c14b5367f167a9a24.bundle.js +1 -0
  243. package/dist/85.006872d4be9053c5da1e.bundle.js +1 -0
  244. package/dist/{67.f090cccd81c66d5dcbbf.bundle.js → 86.49902567ecb88b2e3237.bundle.js} +1 -1
  245. package/dist/87.82e3b8b9c64c5f6f702e.bundle.js +1 -0
  246. package/dist/{69.d038f54e7f48b8f8b7e1.bundle.js → 88.0ea005e0cec8e2a2cc90.bundle.js} +1 -1
  247. package/dist/89.a75bb7570781aa5787dc.bundle.js +1 -0
  248. package/dist/{8.11f9e082f2a92983a84c.bundle.js → 9.c4a524e5fb28477dbd56.bundle.js} +1 -1
  249. package/dist/{71.0ce39af5dfd51c8db5f7.bundle.js → 90.7f0fee68eace225c1a5a.bundle.js} +1 -1
  250. package/dist/91.514c65ac446e2bb4e59f.bundle.js +1 -0
  251. package/dist/92.5cdf5700afb590ff8692.bundle.js +1 -0
  252. package/dist/93.ab4fe5cec23675b217ca.bundle.js +1 -0
  253. package/dist/94.28287b59c137acc10d14.bundle.js +1 -0
  254. package/dist/95.cabe361d9da2aa48a165.bundle.js +1 -0
  255. package/dist/96.b5a18d697f458ad379f4.bundle.js +1 -0
  256. package/dist/97.71a100a40bccdbf73d02.bundle.js +1 -0
  257. package/dist/{79.3a2de1e65f7006eeec50.bundle.js → 98.c245eac1f56f49b5cd72.bundle.js} +1 -1
  258. package/dist/99.55914e5a3fd938873acd.bundle.js +1 -0
  259. package/dist/bundle.08755529f16189c472da.bundle.js +92 -0
  260. package/dist/css/angular-tooltips.css +13 -13
  261. package/dist/css/bootstrap-graphdb-theme-dark-auto.css +16 -8
  262. package/dist/css/bootstrap-graphdb-theme.css +279 -98
  263. package/dist/css/clustermanagement.css +9 -6
  264. package/dist/css/common.css +0 -18
  265. package/dist/css/create-similarity-index.css +8 -0
  266. package/dist/css/dependencies.css +3 -3
  267. package/dist/css/domain-range-graph.css +2 -2
  268. package/dist/css/explore.css +0 -3
  269. package/dist/css/export.css +9 -9
  270. package/dist/css/graphs-config.css +11 -6
  271. package/dist/css/graphs-vizualizations.css +2 -2
  272. package/dist/css/guides.css +1 -1
  273. package/dist/css/lib/ontotext-yasgui-web-component.css +27 -0
  274. package/dist/css/new-sparql.css +2 -2
  275. package/dist/css/rdf-class-hierarchy.css +1 -1
  276. package/dist/css/rdf-details-side-panel.css +1 -1
  277. package/dist/css/rdf-resource-search.css +0 -1
  278. package/dist/css/repositories.css +4 -4
  279. package/dist/css/repository.create.css +2 -2
  280. package/dist/css/shepherd-custom.css +2 -2
  281. package/dist/css/similarity.css +0 -8
  282. package/dist/css/sparql-editor.css +65 -0
  283. package/dist/css/workbench-custom.css +18 -14
  284. package/dist/css/yasr.custom.css +4 -4
  285. package/dist/i18n/locale-en.json +31 -14
  286. package/dist/i18n/locale-fr.json +33 -14
  287. package/dist/index.html +4 -4
  288. package/dist/js/angular/clustermanagement/templates/modal/cluster-create-dialog.html +12 -0
  289. package/dist/js/angular/clustermanagement/templates/modal/cluster-edit-dialog.html +11 -0
  290. package/dist/js/angular/core/directives/queryeditor/templates/query-editor.html +3 -0
  291. package/dist/js/angular/core/directives/rdfresourcesearch/templates/rdfResourceSearchTemplate.html +1 -1
  292. package/dist/js/angular/core/directives/yasgui-component/templates/yasgui-component.html +17 -0
  293. package/dist/js/angular/core/templates/modal/modal-warning.html +1 -1
  294. package/dist/js/angular/core/templates/search-resource-input.html +1 -1
  295. package/dist/js/angular/import/templates/filesTable.html +1 -1
  296. package/dist/js/angular/repositories/templates/ontop-repo.html +1 -1
  297. package/dist/js/angular/security/templates/user.html +62 -43
  298. package/dist/js/angular/security/templates/users.html +1 -1
  299. package/dist/js/lib/angucomplete-alt/angucomplete-alt.css +2 -2
  300. package/dist/license-checker.json +65 -17
  301. package/dist/main.00dfc8bbff986e664ea1.bundle.js +1 -0
  302. package/dist/main.d7d8410a2a5212b60f7d.css +1 -0
  303. package/dist/pages/autocomplete.html +2 -2
  304. package/dist/pages/choose-repository-type.html +1 -1
  305. package/dist/pages/cluster-management/clusterInfo.html +46 -28
  306. package/dist/pages/connectorsInfo.html +1 -1
  307. package/dist/pages/create-index.html +244 -171
  308. package/dist/pages/dependencies.html +2 -2
  309. package/dist/pages/domainRangeInfo.html +3 -3
  310. package/dist/pages/edit.html +26 -17
  311. package/dist/pages/explore.html +79 -50
  312. package/dist/pages/export.html +9 -7
  313. package/dist/pages/find.html +2 -2
  314. package/dist/pages/graph-config/saveGraphConfig.html +222 -288
  315. package/dist/pages/graphs-visualizations.html +15 -16
  316. package/dist/pages/guides.html +2 -2
  317. package/dist/pages/import.html +2 -2
  318. package/dist/pages/info.html +1 -1
  319. package/dist/pages/jdbc-create.html +186 -131
  320. package/dist/pages/jdbc.html +1 -1
  321. package/dist/pages/licenseInfo.html +4 -4
  322. package/dist/pages/monitor/queries.html +2 -2
  323. package/dist/pages/monitor/resources.html +13 -13
  324. package/dist/pages/namespaces.html +3 -3
  325. package/dist/pages/plugins.html +2 -2
  326. package/dist/pages/rdfClassHierarchyInfo.html +9 -9
  327. package/dist/pages/rdfrank.html +3 -3
  328. package/dist/pages/registerLicenseInfo.html +6 -6
  329. package/dist/pages/repositories.html +3 -3
  330. package/dist/pages/repository.html +4 -4
  331. package/dist/pages/similarity-indexes.html +69 -101
  332. package/dist/pages/sparql-editor.html +15 -0
  333. package/dist/pages/sparql-template-create.html +64 -48
  334. package/dist/pages/sparql-templates.html +2 -2
  335. package/dist/pages/sparql.html +11 -4
  336. package/dist/pages/ux-test1.html +102 -0
  337. package/dist/pages/ux-test2.html +17 -0
  338. package/dist/pages/webapi.html +3 -3
  339. package/dist/plugin-registry.js +14 -0
  340. package/dist/plugins.js +89 -27
  341. package/dist/polyfills-dom.46bb91eaee707b3d376f.bundle.js +19 -0
  342. package/dist/res/swagger/index.html +27 -27
  343. package/dist/{vendor.224241bf9d8f844fca28.bundle.js → vendor.8ae8a550813919e2d639.bundle.js} +7 -21
  344. package/dist/{vendor.a43cfebcaaba38dfc77d.css → vendor.d1c629ceaacea40a5f4a.css} +1 -1
  345. package/dist/vendors~polyfills-core-js.18d20222cd8c2a1f7502.bundle.js +1 -0
  346. package/package.json +3 -1
  347. package/dist/0.521923d7e407be5052c4.bundle.js +0 -81
  348. package/dist/10.1bc1c78168b3104e6097.bundle.js +0 -1
  349. package/dist/103.e319b2c151b78a3dd969.bundle.js +0 -1
  350. package/dist/105.90358c5e94505da5748f.bundle.js +0 -1
  351. package/dist/109.f4bf03775869349a3a2d.bundle.js +0 -1
  352. package/dist/11.a44335a5531d4f391163.bundle.js +0 -1
  353. package/dist/116.bd8aef67218a7c71c3b8.bundle.js +0 -1
  354. package/dist/117.d6f443a1f7aac0171795.bundle.js +0 -1
  355. package/dist/118.6e44affdc85c61a999e5.bundle.js +0 -1
  356. package/dist/119.7f6eede243c776d2486a.bundle.js +0 -1
  357. package/dist/12.0b31b50101e202d8c0ca.bundle.js +0 -29
  358. package/dist/120.a0202e9bede746553eac.bundle.js +0 -1
  359. package/dist/125.a62530239be650aa565a.bundle.js +0 -1
  360. package/dist/127.9ca88cabf77cd3ed9b22.bundle.js +0 -1
  361. package/dist/13.7f36f4577f893976d29b.bundle.js +0 -1
  362. package/dist/130.955a6226ca3d04c9c342.bundle.js +0 -1
  363. package/dist/14.401ef56f1afe96360d8f.bundle.js +0 -1
  364. package/dist/147.c29c7a9dc8663cb94c23.bundle.js +0 -1
  365. package/dist/15.f66fb6518770cebf9636.bundle.js +0 -1
  366. package/dist/16.e64d8e5588b492446c6b.bundle.js +0 -1
  367. package/dist/17.814ed6b6b6cefc833cd0.bundle.js +0 -1
  368. package/dist/176.6e6c8c3d3c76563652e5.bundle.js +0 -1
  369. package/dist/177.00125e8d6a8c6806afa9.bundle.js +0 -1
  370. package/dist/18.5206d408e41cfd83382e.bundle.js +0 -2
  371. package/dist/187.f628be7d50677e6c21e8.bundle.js +0 -1
  372. package/dist/188.139b0bf94575d4ec0464.bundle.js +0 -1
  373. package/dist/19.2c55d287dd98a6181e1e.bundle.js +0 -2
  374. package/dist/2.f6825b46af56cba37636.bundle.js +0 -27
  375. package/dist/20.00fa9e43a97025ee239c.bundle.js +0 -3
  376. package/dist/21.0dac10c72b7ec542c507.bundle.js +0 -1
  377. package/dist/22.e24e65e05d48dacc9fa7.bundle.js +0 -1
  378. package/dist/23.367ad732fba61b2ebf79.bundle.js +0 -1
  379. package/dist/24.de41257c2f9fae3aaa47.bundle.js +0 -1
  380. package/dist/25.b8599af57021e284090b.bundle.js +0 -1
  381. package/dist/26.85c75d82f4d85c090319.bundle.js +0 -1
  382. package/dist/27.68af47ffba6c5b4384fd.bundle.js +0 -1
  383. package/dist/30.e2bc9500b57cc773a806.bundle.js +0 -1
  384. package/dist/31.1e46b073b0a2e9340042.bundle.js +0 -1
  385. package/dist/32.cac8d09cf03656431106.bundle.js +0 -1
  386. package/dist/33.0cc559b0d4091414bb54.bundle.js +0 -1
  387. package/dist/35.978ae512b6b63ece9675.bundle.js +0 -1
  388. package/dist/36.78ee9fb5d587d3382054.bundle.js +0 -1
  389. package/dist/38.846f61bb4f289cb1fde5.bundle.js +0 -1
  390. package/dist/4.9d940cf25f2845ed7ee1.bundle.js +0 -1
  391. package/dist/40.61dbad996b579d048fbb.bundle.js +0 -1
  392. package/dist/41.b29fb4b085f18c915542.bundle.js +0 -1
  393. package/dist/42.0758ca089d0faa2b584d.bundle.js +0 -1
  394. package/dist/43.badb6ee59810875e003f.bundle.js +0 -1
  395. package/dist/44.5024871c5c2a564ac8c8.bundle.js +0 -1
  396. package/dist/5.85f96c781d15fe5e3f63.bundle.js +0 -1
  397. package/dist/54.2c0d605ca6ff30ed65ea.bundle.js +0 -1
  398. package/dist/55.a9040391b2f5ff434d5e.bundle.js +0 -1
  399. package/dist/56.a46c28b445dc25fc0b56.bundle.js +0 -1
  400. package/dist/57.75f02b534736941cb7e3.bundle.js +0 -1
  401. package/dist/59.03b71532977066b025f3.bundle.js +0 -1
  402. package/dist/61.fca3217f3062efab32b4.bundle.js +0 -1
  403. package/dist/63.d645004d8e39adacbc0d.bundle.js +0 -1
  404. package/dist/66.543037d7bd73aa08cb91.bundle.js +0 -1
  405. package/dist/68.c1e915fa243fe050b6be.bundle.js +0 -1
  406. package/dist/7.7fce442d9545c7617920.bundle.js +0 -2
  407. package/dist/70.01f43d5ef3da8b3051f3.bundle.js +0 -1
  408. package/dist/72.9778d0244f73cf66dab0.bundle.js +0 -1
  409. package/dist/73.4c1e5c5ab3176423523e.bundle.js +0 -1
  410. package/dist/74.a2ca8535e0a3a9ebc2c9.bundle.js +0 -1
  411. package/dist/75.3ef5a82713cfbb6a4997.bundle.js +0 -1
  412. package/dist/76.7ccfd1d1a3fb218e0c5b.bundle.js +0 -1
  413. package/dist/77.599abfd8b29cce0372fb.bundle.js +0 -1
  414. package/dist/78.d48207584b32fc3f1a6d.bundle.js +0 -1
  415. package/dist/80.065493abe5c2cddaafe1.bundle.js +0 -1
  416. package/dist/81.8bfb34ac6ac33ac48129.bundle.js +0 -1
  417. package/dist/82.3eda50d68416d6bde659.bundle.js +0 -1
  418. package/dist/83.946b176c2c59809db2af.bundle.js +0 -1
  419. package/dist/84.cf157206ed8f8a4a4dc5.bundle.js +0 -1
  420. package/dist/85.57db59b0f363a1a2e77d.bundle.js +0 -1
  421. package/dist/86.7889949a3dd9c911eeca.bundle.js +0 -1
  422. package/dist/87.cfc988cdda59f8a5cddc.bundle.js +0 -1
  423. package/dist/88.7f47000a9427ac0f8167.bundle.js +0 -1
  424. package/dist/89.346832ac06773bffaff5.bundle.js +0 -1
  425. package/dist/9.c4de9075b7e65e447bd8.bundle.js +0 -1
  426. package/dist/90.c2a3f4e7cd6d52e227d8.bundle.js +0 -1
  427. package/dist/91.100ad457041038ce581d.bundle.js +0 -1
  428. package/dist/92.73a50ee88b602779dbad.bundle.js +0 -1
  429. package/dist/93.282f64bbd45b64216603.bundle.js +0 -1
  430. package/dist/94.285865c04317a0ab6f4b.bundle.js +0 -1
  431. package/dist/95.211481d2cb3b66268d22.bundle.js +0 -1
  432. package/dist/96.e4cf25f5cee283a34a04.bundle.js +0 -1
  433. package/dist/97.bf3a956077455265ec32.bundle.js +0 -1
  434. package/dist/98.65482610a5d5c03bce1f.bundle.js +0 -1
  435. package/dist/99.dc53cf077c07dadd84f4.bundle.js +0 -1
  436. package/dist/bundle.51801de8a22342e1c49d.bundle.js +0 -91
  437. package/dist/css/jdbc.css +0 -3
  438. package/dist/main.5022644187abf4bf19e7.bundle.js +0 -1
  439. package/dist/main.7b7930d01538072be711.css +0 -1
@@ -1,10 +1,4 @@
1
- <link href="css/lib/angular-xeditable/xeditable.min.css?v=2.3.2-TR1" rel="stylesheet">
2
-
3
- <link href="css/lib/yasqe.min.css?v=2.3.2-TR1" rel="stylesheet"/>
4
-
5
- <link href="css/new-sparql.css?v=2.3.2-TR1" rel="stylesheet"/>
6
-
7
- <link href="css/graphs-config.css?v=2.3.2-TR1" rel="stylesheet"/>
1
+ <link href="css/graphs-config.css?v=2.4.0-TR2" rel="stylesheet"/>
8
2
 
9
3
  <h1>
10
4
  {{title}}
@@ -12,29 +6,30 @@
12
6
  uib-popover-template="'js/angular/templates/titlePopoverTemplate.html'"
13
7
  popover-trigger="mouseenter"
14
8
  popover-placement="bottom-right"
15
- popover-append-to-body="true"><span class="icon-info"></span></span>
9
+ popover-append-to-body="true"><span class="icon-info text-tertiary"></span></span>
16
10
  </h1>
17
11
 
18
12
  <div class="card mb-2">
19
13
  <div class="card-block" style="padding-top: 1rem">
20
14
  <p class="lead">{{'config.name.label' | translate}}</p>
21
15
  <div class="input-group input-group-lg">
22
- <input required class="form-control graph-config-name" type="text" placeholder="{{'graph.config.required' | translate}}" ng-model="newConfig.name" >
16
+ <input required class="form-control graph-config-name" type="text"
17
+ placeholder="{{'graph.config.required' | translate}}" ng-model="newConfig.name">
23
18
  </div>
24
19
  <br/>
25
20
  <p>{{'description.text' | translate}}</p>
26
21
  <div class="input-group input-group-lg">
27
22
  <input class="form-control graph-config-description" type="text"
28
23
  placeholder="{{'enter.description' | translate}}"
29
- ng-model="newConfig.description" >
24
+ ng-model="newConfig.description">
30
25
  </div>
31
26
  <div ng-if="newConfig.startMode === 'search'">
32
27
  <br/>
33
28
  <p>{{'hint.label' | translate}}</p>
34
29
  <div class="input-group input-group-lg">
35
- <input class="form-control graph-config-example" type="text"
36
- placeholder="{{'add.hint.prompt' | translate}}"
37
- ng-model="newConfig.hint" >
30
+ <input class="form-control graph-config-example" type="text"
31
+ placeholder="{{'add.hint.prompt' | translate}}"
32
+ ng-model="newConfig.hint">
38
33
  </div>
39
34
  </div>
40
35
  </div>
@@ -43,282 +38,216 @@
43
38
  <div>
44
39
  <button ng-show="page != 1" type="button" class="btn btn-link pull-right" ng-click="toggleHelp()">
45
40
  <span class="icon-help" uib-popover="{{'toggle.help' | translate}}"
46
- popover-placement="top"
47
- popover-trigger="mouseenter">
41
+ popover-placement="top"
42
+ popover-trigger="mouseenter">
48
43
  </span>
49
- <span class="hidden-lg-down">{{'menu.help.label' | translate}}</span></button>
44
+ <span class="hidden-lg-down">{{'menu.help.label' | translate}}</span>
45
+ </button>
50
46
  <ul class="nav nav-tabs">
51
- <li class="nav-item">
52
- <a ng-class="page == 1 ? 'active' : ''" ng-click="goToPage(1)" class="nav-link page-1-link" href>
53
- {{'starting.point.label' | translate}}
54
- </a>
55
- </li>
56
- <li class="nav-item">
57
- <a ng-class="page == 2 ? 'active' : ''" ng-click="goToPage(2)" class="nav-link page-2-link" href>
58
- {{'graph.expansion' | translate}}
59
- </a>
60
- </li>
61
-
62
- <li class="nav-item">
63
- <a ng-class="page == 3 ? 'active' : ''" ng-click="goToPage(3)" class="nav-link page-3-link" href>
64
- {{'node.basics' | translate}}
65
- </a>
66
- </li>
67
- <li class="nav-item">
68
- <a ng-class="page == 4 ? 'active' : ''" ng-click="goToPage(4)" class="nav-link page-4-link" href>
69
- {{'edge.basics' | translate}}
70
- </a>
71
- </li>
72
- <li class="nav-item">
73
- <a ng-class="page == 5 ? 'active' : ''" ng-click="goToPage(5)" class="nav-link page-5-link" href>
74
- {{'node.extra' | translate}}
47
+ <li ng-repeat="tab in tabsViewModel track by tab.page" class="nav-item">
48
+ <a ng-class="page === tab.page ? 'active' : ''" ng-click="goToPage(tab.page)"
49
+ class="nav-link page-{{tab.page}}-link" href>
50
+ {{tab.label}}
75
51
  </a>
76
52
  </li>
77
53
  </ul>
78
54
  </div>
79
- <div class="card" style="border-top: none">
80
- <div class="card-block">
81
- <div>
82
- <div class="image-label-container mb-3" ng-show="page == 1">
83
- <label class="image-label d-flex" ng-class="{'active': newConfig.startMode == 'search'}">
84
- <input type="radio" class="form-check-input" id="checkboxSuccessSearch" ng-model="newConfig.startMode" value="search">
85
- <img class="image-label-image" src="css/images/search.png?v=2.3.2-TR1" alt="search image" width="100%">
86
- <div class="image-label-content">
87
- <h5>{{'start.with.search.box' | translate}}</h5>
88
- <div>{{'choose.starting.point' | translate}}</div>
89
- </div>
90
- </label>
91
55
 
92
- <label class="image-label d-flex" ng-class="{'active': newConfig.startMode == 'node'}">
93
- <input type="radio" class="form-check-input" id="checkboxSuccessNode" ng-model="newConfig.startMode" value="node">
94
- <img class="image-label-image" src="css/images/node.png?v=2.3.2-TR1" alt="node image" width="100%">
95
- <div class="image-label-content">
96
- <h5>{{'start.with.fixed.node' | translate}}</h5>
97
- <div>{{'visual.graph.start' | translate}}</div>
98
- </div>
99
- </label>
100
-
101
- <label class="image-label d-flex" ng-class="{'active': newConfig.startMode == 'query'}">
102
- <input type="radio" class="form-check-input" data-cy="graph-config-by-graph-query-checkbox" ng-model="newConfig.startMode" value="query">
103
- <img class="image-label-image" src="css/images/query.png?v=2.3.2-TR1" alt="query image" width="100%">
104
- <div class="image-label-content">
105
- <h5>{{'query.results.start' | translate}}</h5>
106
- <div>{{'results.start' | translate}}</div>
107
- </div>
108
- </label>
56
+ <div class="card" style="border-top: none">
57
+ <div class="graph-config-wizard-body card-block">
58
+ <div class="start-modes image-label-container" ng-show="page == 1">
59
+ <label class="start-mode search image-label d-flex" ng-class="{'active': newConfig.startMode === 'search'}">
60
+ <input type="radio" class="form-check-input" id="checkboxSuccessSearch"
61
+ ng-model="newConfig.startMode" value="search">
62
+ <img class="image-label-image" src="css/images/search.png?v=2.4.0-TR2" alt="search image"
63
+ width="100%">
64
+ <div class="image-label-content">
65
+ <h5>{{'start.with.search.box' | translate}}</h5>
66
+ <div>{{'choose.starting.point' | translate}}</div>
109
67
  </div>
110
-
111
- <div class="form-group card mb-2" ng-show="newConfig.startMode == 'node' && page == 1">
112
- <div class="card-block">
113
- <p class="lead" ng-show="newConfig.startIRI">
114
- <strong>{{'selected.node' | translate}}</strong>
115
- <code ng-bind="newConfig.startIRILabel ? newConfig.startIRILabel + '<' + newConfig.startIRI + '>' : newConfig.startIRI"></code>
116
- <em ng-hide="newConfig.startIRI" class="text-muted">{{'no.node.selected' | translate}}</em>
117
- </p>
118
- <p class="lead" ng-hide="newConfig.startIRI">
119
- <strong>{{'no.node.selected' | translate}}</strong>
120
- </p>
121
- <search-resource-input
122
- namespacespromise="getNamespacesPromise"
123
- placeholder="{{'search.start.rdf.node' | translate}}"
124
- autocompletepromisestatus="getAutocompletePromise"
125
- text-button=""
126
- visual-button=""
127
- visual-callback="fixedVisualCallback(uri, label)"
128
- empty="empty">
129
- </search-resource-input>
130
- </div>
68
+ </label>
69
+
70
+ <label class="start-mode node image-label d-flex" ng-class="{'active': newConfig.startMode === 'node'}">
71
+ <input type="radio" class="form-check-input" id="checkboxSuccessNode" ng-model="newConfig.startMode"
72
+ value="node">
73
+ <img class="image-label-image" src="css/images/node.png?v=2.4.0-TR2" alt="node image"
74
+ width="100%">
75
+ <div class="image-label-content">
76
+ <h5>{{'start.with.fixed.node' | translate}}</h5>
77
+ <div>{{'visual.graph.start' | translate}}</div>
131
78
  </div>
132
- <!-- help info boxes -->
133
- <div uib-collapse="helpHidden" class="alert alert-info no-icon p-1 mb-2" ng-if="page != 1">
134
- <div class="d-flex" ng-if="page == 2">
135
- <button class="close absolute" ng-click="toggleHelp(0)"></button>
136
- <div class="alert alert-help">
137
- <p class="lead">{{'this.is.a' | translate}} <span class="small-caps">CONSTRUCT</span> {{'construct.query.explanation' | translate}}</p>
138
-
139
- <p>{{'the.sentence.start' | translate}} <code>?node</code> {{'variable.required' | translate}}</p>
140
-
141
- <p>{{'optional.query' | translate}} <em>{{getSampleName(samples[0], 'expandQuery')}}</em> {{'sample.query.used' | translate}}</p>
142
- </div>
143
- <div>
144
- <img src="css/images/expand.png?v=2.3.2-TR1" class="info-box-img" height="220" alt="expand image">
145
- </div>
146
- </div>
147
-
148
-
149
-
150
- <div class="d-flex" ng-if="page == 3">
151
- <button class="close absolute" ng-click="toggleHelp(0)"></button>
152
- <div class="alert alert-help">
153
- <p class="lead">
154
- {{'this.sentence.start' | translate}} <span class="small-caps">SELECT</span> {{'query.node.basic.info' | translate}}
155
- </p>
156
-
157
- <p>{{'query.must' | translate}} <span class="small-caps">SELECT</span> {{'one.or.more.bindings' | translate}}</p>
158
- <ul>
159
- <li><code>?type</code> {{'determines.color' | translate}}</li>
160
- <li><code>?label</code> {{'determines.label' | translate}}</li>
161
- <li><code>?comment</code> {{'determines.description' | translate}}</li>
162
- <li><code>?rank</code> {{'determines.size' | translate}}</li>
163
- </ul>
164
-
165
- <p>{{'the.sentence.start' | translate}} <code>?node</code> {{'variable.required' | translate}}</p>
166
-
167
- <p>{{'optional.query' | translate}} <em>{{getSampleName(samples[0], 'resourceQuery')}}</em> {{'sample.query.used' | translate}}</p>
168
- </div>
169
- <div>
170
- <img src="css/images/labels-size.png?v=2.3.2-TR1" class="info-box-img" height="220" alt="labels size image">
171
- </div>
172
- </div>
79
+ </label>
80
+
81
+ <label class="start-mode query image-label d-flex" ng-class="{'active': newConfig.startMode === 'query'}">
82
+ <input type="radio" class="form-check-input" data-cy="graph-config-by-graph-query-checkbox"
83
+ ng-model="newConfig.startMode" value="query">
84
+ <img class="image-label-image" src="css/images/query.png?v=2.4.0-TR2" alt="query image"
85
+ width="100%">
86
+ <div class="image-label-content">
87
+ <h5>{{'query.results.start' | translate}}</h5>
88
+ <div>{{'results.start' | translate}}</div>
89
+ </div>
90
+ </label>
91
+ </div>
173
92
 
174
- <div class="d-flex" ng-if="page == 4">
175
- <button class="close absolute" ng-click="toggleHelp(0)"></button>
176
- <div class="alert alert-help">
177
- <p class="lead">{{'this.sentence.start' | translate}} <span class="small-caps">SELECT</span> {{'query.edge.basic.info' | translate}}</p>
93
+ <div class="start-node-selector form-group card mt-2 mb-0"
94
+ ng-show="newConfig.startMode === 'node' && page === 1">
95
+ <div class="card-block">
96
+ <p class="lead selected-node" ng-show="newConfig.startIRI">
97
+ <strong>{{'selected.node' | translate}}</strong>
98
+ <code
99
+ ng-bind="newConfig.startIRILabel ? newConfig.startIRILabel + '<' + newConfig.startIRI + '>' : newConfig.startIRI"></code>
100
+ <em ng-hide="newConfig.startIRI" class="text-muted">{{'no.node.selected' | translate}}</em>
101
+ </p>
102
+ <p class="lead" ng-hide="newConfig.startIRI">
103
+ <strong>{{'no.node.selected' | translate}}</strong>
104
+ </p>
105
+ <search-resource-input
106
+ namespacespromise="getNamespacesPromise"
107
+ placeholder="{{'search.start.rdf.node' | translate}}"
108
+ autocompletepromisestatus="getAutocompletePromise"
109
+ text-button=""
110
+ visual-button=""
111
+ visual-callback="fixedVisualCallback(uri, label)"
112
+ empty="empty">
113
+ </search-resource-input>
114
+ </div>
115
+ </div>
178
116
 
179
- <p>{{'query.must' | translate}} <span class="small-caps">SELECT</span> {{'this.binding' | translate}}</p>
180
- <ul>
181
- <li><code>?label</code> {{'determines.label.edge' | translate}}</li>
182
- </ul>
117
+ <!-- help info boxes -->
118
+ <div uib-collapse="helpHidden" class="wizard-help alert alert-info no-icon p-1 mb-2" ng-if="page != 1">
119
+ <div class="help-box d-flex" ng-if="page == 2">
120
+ <button class="close absolute" ng-click="toggleHelp(0)"></button>
121
+ <div class="alert alert-help">
122
+ <p class="lead">{{'this.is.a' | translate}} <span class="small-caps">CONSTRUCT</span>
123
+ {{'construct.query.explanation' | translate}}</p>
183
124
 
184
- <p>{{'the.sentence.start' | translate}} <code>?edge</code> {{'variable.required.edge' | translate}}</p>
125
+ <p>{{'the.sentence.start' | translate}} <code>?node</code> {{'variable.required' | translate}}</p>
185
126
 
186
- <p>{{'query.is.optional.local.name' | translate}}</p>
187
- </div>
188
- <div>
189
- <img src="css/images/predicates.png?v=2.3.2-TR1" class="info-box-img" height="220" alt="predicates image">
190
- </div>
191
- </div>
127
+ <p>{{'optional.query' | translate}} <em>{{getSampleName(samples[0], 'expandQuery')}}</em>
128
+ {{'sample.query.used' | translate}}</p>
129
+ </div>
130
+ <div>
131
+ <img src="css/images/expand.png?v=2.4.0-TR2" class="info-box-img" height="220"
132
+ alt="expand image">
133
+ </div>
134
+ </div>
192
135
 
193
- <div class="d-flex" ng-if="page == 5">
194
- <button class="close absolute" ng-click="toggleHelp(0)"></button>
195
- <div class="alert alert-help">
196
- <p class="lead">{{'this.sentence.start' | translate}} <span class="small-caps">SELECT</span> {{'extra.properties.shown.node' | translate}}</p>
136
+ <div class="help-box d-flex" ng-if="page == 3">
137
+ <button class="close absolute" ng-click="toggleHelp(0)"></button>
138
+ <div class="alert alert-help">
139
+ <p class="lead">
140
+ {{'this.sentence.start' | translate}} <span class="small-caps">SELECT</span>
141
+ {{'query.node.basic.info' | translate}}
142
+ </p>
143
+
144
+ <p>{{'query.must' | translate}} <span class="small-caps">SELECT</span>
145
+ {{'one.or.more.bindings' | translate}}</p>
146
+ <ul>
147
+ <li><code>?type</code> {{'determines.color' | translate}}</li>
148
+ <li><code>?label</code> {{'determines.label' | translate}}</li>
149
+ <li><code>?comment</code> {{'determines.description' | translate}}</li>
150
+ <li><code>?rank</code> {{'determines.size' | translate}}</li>
151
+ </ul>
152
+
153
+ <p>{{'the.sentence.start' | translate}} <code>?node</code> {{'variable.required' | translate}}</p>
154
+
155
+ <p>{{'optional.query' | translate}} <em>{{getSampleName(samples[0], 'resourceQuery')}}</em>
156
+ {{'sample.query.used' | translate}}</p>
157
+ </div>
158
+ <div>
159
+ <img src="css/images/labels-size.png?v=2.4.0-TR2" class="info-box-img" height="220"
160
+ alt="labels size image">
161
+ </div>
162
+ </div>
197
163
 
198
- <p>{{'query.must' | translate}} <span class="small-caps">SELECT</span> {{'these.bindings' | translate}}</p>
199
- <ul>
200
- <li><code>?property</code> {{'name.of.each.property' | translate}}</li>
201
- <li><code>?value</code> {{'value.of.each.property' | translate}}</li>
202
- </ul>
164
+ <div class="help-box d-flex" ng-if="page == 4">
165
+ <button class="close absolute" ng-click="toggleHelp(0)"></button>
166
+ <div class="alert alert-help">
167
+ <p class="lead">{{'this.sentence.start' | translate}} <span class="small-caps">SELECT</span>
168
+ {{'query.edge.basic.info' | translate}}</p>
203
169
 
204
- <p>{{'query.may.also' | translate}} <span class="small-caps">SELECT</span> {{'this.binding' | translate}}</p>
205
- <ul>
206
- <li><code>?image</code> {{'url.to.image.properties' | translate}}</li>
207
- </ul>
170
+ <p>{{'query.must' | translate}} <span class="small-caps">SELECT</span> {{'this.binding' | translate}}
171
+ </p>
172
+ <ul>
173
+ <li><code>?label</code> {{'determines.label.edge' | translate}}</li>
174
+ </ul>
208
175
 
209
- <p>{{'the.sentence.start' | translate}} <code>?node</code> {{'variable.required.viewed.node' | translate}}</p>
176
+ <p>{{'the.sentence.start' | translate}} <code>?edge</code> {{'variable.required.edge' | translate}}
177
+ </p>
210
178
 
211
- <p>{{'optional.query' | translate}} <em>{{getSampleName(samples[0], 'resourcePropertiesQuery')}}</em> {{'sample.query.used' | translate}}</p>
212
- </div>
213
- <div>
214
- <img src="css/images/side-panel.png?v=2.3.2-TR1" class="info-box-img" height="220" alt="side panel image">
215
- </div>
216
- </div>
179
+ <p>{{'query.is.optional.local.name' | translate}}</p>
180
+ </div>
181
+ <div>
182
+ <img src="css/images/predicates.png?v=2.4.0-TR2" class="info-box-img" height="220"
183
+ alt="predicates image">
184
+ </div>
185
+ </div>
217
186
 
187
+ <div class="help-box d-flex" ng-if="page == 5">
188
+ <button class="close absolute" ng-click="toggleHelp(0)"></button>
189
+ <div class="alert alert-help">
190
+ <p class="lead">{{'this.sentence.start' | translate}} <span class="small-caps">SELECT</span>
191
+ {{'extra.properties.shown.node' | translate}}</p>
192
+
193
+ <p>{{'query.must' | translate}} <span class="small-caps">SELECT</span>
194
+ {{'these.bindings' | translate}}</p>
195
+ <ul>
196
+ <li><code>?property</code> {{'name.of.each.property' | translate}}</li>
197
+ <li><code>?value</code> {{'value.of.each.property' | translate}}</li>
198
+ </ul>
199
+
200
+ <p>{{'query.may.also' | translate}} <span class="small-caps">SELECT</span>
201
+ {{'this.binding' | translate}}</p>
202
+ <ul>
203
+ <li><code>?image</code> {{'url.to.image.properties' | translate}}</li>
204
+ </ul>
205
+
206
+ <p>{{'the.sentence.start' | translate}} <code>?node</code>
207
+ {{'variable.required.viewed.node' | translate}}</p>
208
+
209
+ <p>{{'optional.query' | translate}}
210
+ <em>{{getSampleName(samples[0], 'resourcePropertiesQuery')}}</em>
211
+ {{'sample.query.used' | translate}}</p>
212
+ </div>
213
+ <div>
214
+ <img src="css/images/side-panel.png?v=2.4.0-TR2" class="info-box-img" height="220"
215
+ alt="side panel image">
218
216
  </div>
217
+ </div>
218
+ </div>
219
219
 
220
+ <div class="form-group row pt-2 mb-0" ng-hide="page == 1 && newConfig.startMode !== 'query'">
221
+ <div class="col-md-9">
222
+ <yasgui-component id="query-editor" class="" yasgui-config="yasguiConfig"
223
+ query-changed="markDirty()"></yasgui-component>
224
+ </div>
220
225
 
221
- <div class="form-group row" ng-hide="page == 1 && newConfig.startMode != 'query'">
222
- <div class="col-md-9">
223
- <query-editor nostorage notabs notoolbar-saved notoolbar-copy nostatus nocount norun callback-on-change="updateDirty" data-cy="query-editor">
224
- </query-editor>
226
+ <div class="sample-queries col-md-3">
227
+ <p>{{'sample.queries' | translate}} </p>
228
+ <div ng-repeat="tab in tabsViewModel track by tab.page" ng-if="tab.page === page"
229
+ class="predefined-queries list-group">
230
+ <div ng-repeat="sample in samples | filter:isDefaultGraph">
231
+ <a href="#" ng-if="sample[tab.type]" ng-click="setQuery(sample[tab.type])"
232
+ class="predefined-query list-group-item list-group-item-action">
233
+ <strong ng-bind="getSampleName(sample, tab.type)"></strong>
234
+ <samp class="text-muted small">{{sample[tab.type]}}</samp>
235
+ </a>
225
236
  </div>
226
- <div class="col-md-3">
227
- <p>{{'sample.queries' | translate}} </p>
228
-
229
- <div ng-show="page == 1" class="list-group">
230
- <div ng-repeat="sample in samples | filter:isDefaultGraph">
231
- <a href="#" ng-if="sample.startGraphQuery" ng-click="setQuery(sample.startGraphQuery)" class="list-group-item list-group-item-action">
232
- <strong ng-bind="getSampleName(sample, 'startGraphQuery')"></strong>
233
- <samp class="text-muted small">{{sample.startGraphQuery}}</samp>
234
- </a>
235
- </div>
236
- </div>
237
-
238
- <div ng-show="page == 2" class="list-group expand-samples">
239
- <div ng-repeat="sample in samples | filter:isDefaultGraph">
240
- <a href="#" ng-if="sample.expandQuery" ng-click="setQuery(sample.expandQuery)" class="list-group-item list-group-item-action">
241
- <strong ng-bind="getSampleName(sample, 'expandQuery')"></strong>
242
- <samp class="text-muted small">{{sample.expandQuery}}</samp>
243
- </a>
244
- </div>
245
- </div>
246
-
247
- <div ng-show="page == 3" class="list-group">
248
- <div ng-repeat="sample in samples | filter:isDefaultGraph">
249
- <a href="#" ng-if="sample.resourceQuery" ng-click="setQuery(sample.resourceQuery)" class="list-group-item list-group-item-action">
250
- <strong ng-bind="getSampleName(sample, 'resourceQuery')"></strong>
251
- <samp class="text-muted small">{{sample.resourceQuery}}</samp>
252
- </a>
253
- </div>
254
- </div>
255
-
256
- <div ng-show="page == 4" class="list-group">
257
- <div ng-repeat="sample in samples | filter:isDefaultGraph">
258
- <a href="#" ng-if="sample.predicateLabelQuery" ng-click="setQuery(sample.predicateLabelQuery)" class="list-group-item list-group-item-action">
259
- <strong ng-bind="getSampleName(sample, 'predicateLabelQuery')"></strong>
260
- <samp class="text-muted small">{{sample.predicateLabelQuery}}</samp>
261
- </a>
262
- </div>
263
- </div>
264
-
265
- <div ng-show="page == 5" class="list-group">
266
- <div ng-repeat="sample in samples | filter:isDefaultGraph">
267
- <a href="#" ng-if="sample.resourcePropertiesQuery" ng-click="setQuery(sample.resourcePropertiesQuery)" class="list-group-item list-group-item-action">
268
- <strong ng-bind="getSampleName(sample, 'resourcePropertiesQuery')"></strong>
269
- <samp class="text-muted small">{{sample.resourcePropertiesQuery}}</samp>
270
- </a>
271
- </div>
272
- </div>
273
-
274
- <p class="mt-1">{{'user.queries' | translate}} </p>
275
-
276
- <div ng-show="page == 1" class="list-group">
277
- <div ng-repeat="sample in samples | filter:isUserGraph">
278
- <a href="#" ng-if="sample.startGraphQuery" ng-click="setQuery(sample.startGraphQuery)" class="list-group-item list-group-item-action">
279
- <strong ng-bind="getSampleName(sample, 'startGraphQuery')"></strong>
280
- <samp class="text-muted small">{{sample.startGraphQuery}}</samp>
281
- </a>
282
- </div>
283
- </div>
284
-
285
- <div ng-show="page == 2" class="list-group">
286
- <div ng-repeat="sample in samples | filter:isUserGraph">
287
- <a href="#" ng-if="sample.expandQuery" ng-click="setQuery(sample.expandQuery)" class="list-group-item list-group-item-action">
288
- <strong ng-bind="getSampleName(sample, 'expandQuery')"></strong>
289
- <samp class="text-muted small">{{sample.expandQuery}}</samp>
290
- </a>
291
- </div>
292
- </div>
293
-
294
- <div ng-show="page == 3" class="list-group">
295
- <div ng-repeat="sample in samples | filter:isUserGraph">
296
- <a href="#" ng-if="sample.resourceQuery" ng-click="setQuery(sample.resourceQuery)" class="list-group-item list-group-item-action">
297
- <strong ng-bind="getSampleName(sample, 'resourceQuery')"></strong>
298
- <samp class="text-muted small">{{sample.resourceQuery}}</samp>
299
- </a>
300
- </div>
301
- </div>
302
-
303
- <div ng-show="page == 4" class="list-group">
304
- <div ng-repeat="sample in samples | filter:isUserGraph">
305
- <a href="#" ng-if="sample.predicateLabelQuery" ng-click="setQuery(sample.predicateLabelQuery)" class="list-group-item list-group-item-action">
306
- <strong ng-bind="getSampleName(sample, 'predicateLabelQuery')"></strong>
307
- <samp class="text-muted small">{{sample.predicateLabelQuery}}</samp>
308
- </a>
309
- </div>
310
- </div>
237
+ </div>
311
238
 
312
- <div ng-show="page == 5" class="list-group">
313
- <div ng-repeat="sample in samples | filter:isUserGraph">
314
- <a href="#" ng-if="sample.resourcePropertiesQuery" ng-click="setQuery(sample.resourcePropertiesQuery)" class="list-group-item list-group-item-action">
315
- <strong ng-bind="getSampleName(sample, 'resourcePropertiesQuery')"></strong>
316
- <samp class="text-muted small">{{sample.resourcePropertiesQuery}}</samp>
317
- </a>
318
- </div>
319
- </div>
239
+ <p class="mt-1">{{'user.queries' | translate}} </p>
240
+ <div ng-repeat="tab in tabsViewModel track by tab.page" ng-if="page == 1"
241
+ class="user-queries list-group">
242
+ <div ng-repeat="sample in samples | filter:isUserGraph">
243
+ <a href="#" ng-if="sample[tab.type]" ng-click="setQuery(sample[tab.type])"
244
+ class="user-query list-group-item list-group-item-action">
245
+ <strong ng-bind="getSampleName(sample, tab.type)"></strong>
246
+ <samp class="text-muted small">{{sample[tab.type]}}</samp>
247
+ </a>
320
248
  </div>
321
249
  </div>
250
+ </div>
322
251
  </div>
323
252
  </div>
324
253
  </div>
@@ -332,47 +261,52 @@
332
261
  </label>
333
262
  </div>
334
263
  <div class="pull-left">
335
- <a href ng-click="saveGraphConfig()" class="btn btn-lg btn-primary btn-save-config"
336
- uib-popover="{{'closes.config.save' | translate}}"
337
- popover-placement="top"
338
- popover-trigger="mouseenter">
339
- {{'common.save.btn' | translate}}
340
- </a>
341
- <button class="btn btn-lg btn-secondary" ng-click="showPreview()" ng-hide="viewMode == 'editor' || (page == 1 && newConfig.startMode != 'query')"
342
- uib-popover="{{'preview.results' | translate}}"
343
- popover-placement="top"
344
- popover-trigger="mouseenter">
264
+ <button class="btn btn-lg btn-secondary btn-preview-query-results" ng-click="showPreview()"
265
+ ng-hide="viewMode == 'editor' || (page == 1 && newConfig.startMode != 'query')"
266
+ uib-popover="{{'preview.results' | translate}}"
267
+ popover-placement="top"
268
+ popover-trigger="mouseenter">
345
269
  {{'common.preview' | translate}}
346
270
  </button>
347
- <button class="btn btn-lg btn-secondary" ng-click="showEditor()" ng-show="viewMode == 'editor' && (page != 1 || newConfig.startMode == 'query')"
348
- uib-popover="{{'closes.preview' | translate}}"
349
- popover-placement="top"
350
- popover-trigger="mouseenter">
271
+ <button class="btn btn-lg btn-secondary btn-show-query-editor" ng-click="showEditor()"
272
+ ng-show="viewMode == 'editor' && (page != 1 || newConfig.startMode == 'query')"
273
+ uib-popover="{{'closes.preview' | translate}}"
274
+ popover-placement="top"
275
+ popover-trigger="mouseenter">
351
276
  {{'core.edit.query' | translate}}
352
277
  </button>
353
- <button class="btn btn-lg btn-secondary" ng-click="revertEditor()" ng-disabled="!queryEditorIsDirty" ng-hide="!revertConfig || viewMode == 'editor' || (page == 1 && newConfig.startMode != 'query')"
278
+ <button class="btn btn-lg btn-secondary btn-revert-query" ng-click="revertEditor()" ng-disabled="!queryEditorIsDirty"
279
+ ng-hide="!revertConfig || viewMode == 'editor' || (page == 1 && newConfig.startMode != 'query')"
354
280
  uib-popover="{{'reverts.changes' | translate}}"
355
281
  popover-placement="top"
356
282
  popover-trigger="mouseenter">
357
283
  {{'revert.changes.btn' | translate}}
358
284
  </button>
359
- </div>
360
- <div class="pull-right">
361
- <button href ng-show="page > 1" ng-click="goToPreviousPage()" class="btn btn-lg btn-secondary"
285
+
286
+ <button href ng-show="page > 1" ng-click="goToPreviousPage()" class="btn btn-lg btn-secondary btn-previous-page"
362
287
  uib-popover="{{'previous.config.step' | translate}}"
363
288
  popover-placement="top"
364
- popover-trigger="mouseenter"> <span class="icon-arrow-left"></span> {{'previous.btn' | translate}} </button>
289
+ popover-trigger="mouseenter"><span class="icon-arrow-left"></span> {{'previous.btn' | translate}}
290
+ </button>
365
291
 
366
- <button href ng-show="page < totalPages" ng-click="goToNextPage()" class="btn btn-lg btn-secondary"
292
+ <button href ng-show="page < totalPages" ng-click="goToNextPage()" class="btn btn-lg btn-secondary btn-next-page"
367
293
  uib-popover="{{'next.config.step' | translate}}"
368
294
  popover-placement="top"
369
295
  popover-trigger="mouseenter"> {{'next.btn' | translate}} <span class="icon-arrow-right"></span></button>
370
-
371
- <a ng-href="graphs-visualizations/" class="btn btn-lg btn-secondary"
372
- uib-popover="{{'closes.config.no.save' | translate}}"
373
- popover-placement="top"
374
- popover-trigger="mouseenter">
296
+ </div>
297
+ <div class="pull-right">
298
+ <a ng-href="graphs-visualizations/" class="btn btn-lg btn-secondary btn-cancel-save-config"
299
+ uib-popover="{{'closes.config.no.save' | translate}}"
300
+ popover-placement="top"
301
+ popover-trigger="mouseenter">
375
302
  {{'common.cancel.btn' | translate}}
376
303
  </a>
304
+
305
+ <a href ng-click="saveGraphConfig()" class="btn btn-lg btn-primary btn-save-config"
306
+ uib-popover="{{'closes.config.save' | translate}}"
307
+ popover-placement="top"
308
+ popover-trigger="mouseenter">
309
+ {{'common.save.btn' | translate}}
310
+ </a>
377
311
  </div>
378
312
  </div>