graphdb-workbench 2.5.1 → 2.6.0-RC2

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 (474) hide show
  1. package/dist/0.a3b3bef411c35bdc8be5.bundle.js +25 -0
  2. package/dist/1.aab0f9b3a664ffdd46a3.bundle.js +1 -0
  3. package/dist/10.2f1b7b3050f428758cd0.bundle.js +1 -0
  4. package/dist/100.534f37dd58edf9a6d699.bundle.js +1 -0
  5. package/dist/101.d85136c82944d96009d8.bundle.js +1 -0
  6. package/dist/102.a57d02f54d23e39ab220.bundle.js +1 -0
  7. package/dist/103.6edf5a9611097aac7b0e.bundle.js +1 -0
  8. package/dist/104.30887712ab9f944ce3b5.bundle.js +1 -0
  9. package/dist/105.8e0d511b2790a2c7a1f5.bundle.js +1 -0
  10. package/dist/106.dfa270c46faceb444b3a.bundle.js +1 -0
  11. package/dist/107.7e47259d1a1e92cc684a.bundle.js +1 -0
  12. package/dist/108.9d2fca01799579fd246a.bundle.js +1 -0
  13. package/dist/109.41cc535019ec49b7a449.bundle.js +1 -0
  14. package/dist/{10.a26ae97905866618b14e.bundle.js → 11.5146ccccd430bce59f6c.bundle.js} +1 -1
  15. package/dist/110.087f1045498ced6386ac.bundle.js +1 -0
  16. package/dist/111.d77e3e60f2db63fcd713.bundle.js +1 -0
  17. package/dist/112.6b5fac36fea6ec10ccf7.bundle.js +1 -0
  18. package/dist/113.85c3c663f3681b21e49d.bundle.js +1 -0
  19. package/dist/114.635dc2e74009c95bf91e.bundle.js +1 -0
  20. package/dist/115.47fe6316b11ce761e8d3.bundle.js +1 -0
  21. package/dist/116.511ed0fc7766ce1c5dbe.bundle.js +1 -0
  22. package/dist/117.ff4f162729afc19137ca.bundle.js +1 -0
  23. package/dist/{102.4f78eeab62aac245879e.bundle.js → 118.ce4cb2610bcae2cec5b4.bundle.js} +1 -1
  24. package/dist/119.771db56d499dcdf1c953.bundle.js +1 -0
  25. package/dist/12.75466fc44ea53c351a67.bundle.js +1 -0
  26. package/dist/120.3be53a400b5e5d0b8bbf.bundle.js +1 -0
  27. package/dist/{105.76381cb7984bcbc9ba9a.bundle.js → 121.4493eca5616735378bb8.bundle.js} +1 -1
  28. package/dist/122.d5d3e1f5e5c8f632795f.bundle.js +1 -0
  29. package/dist/123.2610627b06c4276727b1.bundle.js +1 -0
  30. package/dist/124.66c3ddc58390694a3a98.bundle.js +1 -0
  31. package/dist/125.48215e946747137bf6c8.bundle.js +1 -0
  32. package/dist/126.119b23fe77d130cd15f2.bundle.js +1 -0
  33. package/dist/127.8e57d1e19372e120aeba.bundle.js +1 -0
  34. package/dist/128.96d9076518cacd42230d.bundle.js +1 -0
  35. package/dist/{113.2fa29eca15d32deb3320.bundle.js → 129.c8071eddb4e6ac450d14.bundle.js} +1 -1
  36. package/dist/{7.14f008aaac190939acd3.bundle.js → 13.6e2d206f55eeb2c58b2b.bundle.js} +1 -1
  37. package/dist/130.4ef543acc845d7dfcc8d.bundle.js +1 -0
  38. package/dist/{115.558ce3da00d3be87d18a.bundle.js → 131.f41a0b6b9036447b1077.bundle.js} +1 -1
  39. package/dist/{116.577aab1d9bafd0053623.bundle.js → 132.3666a6511534abe54b6a.bundle.js} +1 -1
  40. package/dist/{117.c20f037799328c931eba.bundle.js → 133.cb22542677a1fde54231.bundle.js} +1 -1
  41. package/dist/134.16abd209e3e07d89821b.bundle.js +1 -0
  42. package/dist/135.e71755f6f0278b2943d0.bundle.js +1 -0
  43. package/dist/136.81439d8a1b2d7dfed6c7.bundle.js +1 -0
  44. package/dist/137.ae6fae38c2b6fd89a566.bundle.js +1 -0
  45. package/dist/138.8885afc315c221adb64b.bundle.js +1 -0
  46. package/dist/139.f02901e6087085176dc7.bundle.js +1 -0
  47. package/dist/{12.7877dd6008df9acf44e1.bundle.js → 14.77134ed08934f63cbe92.bundle.js} +1 -1
  48. package/dist/140.f0e54b9511ca99865d9d.bundle.js +1 -0
  49. package/dist/{119.19ee7b3ae143f817c5b1.bundle.js → 141.46aad99634d1bfe2b58a.bundle.js} +1 -1
  50. package/dist/{120.b944d5e63424d4307fc8.bundle.js → 142.d2aaa85171c7449f2f85.bundle.js} +1 -1
  51. package/dist/{121.3a8954e4c885c56a9817.bundle.js → 143.802e7b37a5e69e8637a2.bundle.js} +1 -1
  52. package/dist/{122.71a8cf0330504672fffc.bundle.js → 144.5f21450a9ba89abcb82f.bundle.js} +1 -1
  53. package/dist/145.2ea88cbccd93fc9fa454.bundle.js +1 -0
  54. package/dist/146.e7b99166958dc75f43e7.bundle.js +1 -0
  55. package/dist/147.7abb3c6ae63a13eb61a5.bundle.js +1 -0
  56. package/dist/148.b9aa2392ff5063d92341.bundle.js +1 -0
  57. package/dist/149.c2b7461cdb7018d8a7ac.bundle.js +1 -0
  58. package/dist/{13.fe78f15334507bcc08ae.bundle.js → 15.81ca8fb02469ee14c5e4.bundle.js} +1 -1
  59. package/dist/150.c1303d8109786b40d21a.bundle.js +1 -0
  60. package/dist/151.b909ba9cb2419e0f91dd.bundle.js +1 -0
  61. package/dist/152.20fec292fccfef232845.bundle.js +1 -0
  62. package/dist/153.7413dfe6871e27f43788.bundle.js +1 -0
  63. package/dist/154.19d1b00bfc1e419adc42.bundle.js +1 -0
  64. package/dist/155.dd57193f58cc7d5262b8.bundle.js +1 -0
  65. package/dist/156.258d084f62fa73d45ded.bundle.js +1 -0
  66. package/dist/157.60074b591e62c10a77ed.bundle.js +1 -0
  67. package/dist/158.742c03d8e739b04df049.bundle.js +1 -0
  68. package/dist/159.41a2a6b6b485989a9412.bundle.js +1 -0
  69. package/dist/16.028d7ea5baf358e315cb.bundle.js +3 -0
  70. package/dist/160.7616cb8b729cfbe229fb.bundle.js +1 -0
  71. package/dist/161.cc79ca9a079e616ba9e6.bundle.js +1 -0
  72. package/dist/162.78a734f7eb6bd4583f17.bundle.js +1 -0
  73. package/dist/163.5dbf48d936a3c831c9b5.bundle.js +1 -0
  74. package/dist/164.d3220f317e31f573b335.bundle.js +1 -0
  75. package/dist/165.4b88e7b3b3a273cb4ed1.bundle.js +1 -0
  76. package/dist/166.92928a8fa8ec48d00349.bundle.js +1 -0
  77. package/dist/167.b38a507dbcfd6329cf8c.bundle.js +1 -0
  78. package/dist/168.c52d0bbbd4224ddadd7c.bundle.js +1 -0
  79. package/dist/169.f6823be6839682f8586c.bundle.js +1 -0
  80. package/dist/17.31f5971e39936437eda8.bundle.js +1 -0
  81. package/dist/170.8baf5e20de2271caf978.bundle.js +1 -0
  82. package/dist/171.a46d6b00949dbdbbc38e.bundle.js +1 -0
  83. package/dist/172.9b5d17e5c772c53243e9.bundle.js +1 -0
  84. package/dist/173.d3bbff40e6f45969410d.bundle.js +1 -0
  85. package/dist/174.6d17f7732045b6f182a0.bundle.js +1 -0
  86. package/dist/175.7bc87231bd4677800c77.bundle.js +1 -0
  87. package/dist/176.f7a1a4fdd12ad86f3d08.bundle.js +1 -0
  88. package/dist/177.1023531c905d87b8a4ac.bundle.js +1 -0
  89. package/dist/178.cb8324bb00103fb26cfb.bundle.js +1 -0
  90. package/dist/179.e4bea06f7e407436dce7.bundle.js +1 -0
  91. package/dist/18.a18e024d172531f968fa.bundle.js +1 -0
  92. package/dist/180.bd3f5149f861a2586ffb.bundle.js +1 -0
  93. package/dist/181.393af0e6c19d537f775b.bundle.js +1 -0
  94. package/dist/182.9b7c235aa984ad81ab02.bundle.js +1 -0
  95. package/dist/183.2f7def34c47fd1bc38b3.bundle.js +1 -0
  96. package/dist/184.a71cd41118f14e2c123f.bundle.js +1 -0
  97. package/dist/185.31a5c2ddc3afdffdc9e5.bundle.js +1 -0
  98. package/dist/186.daffd5d0823f56ba3c54.bundle.js +1 -0
  99. package/dist/187.4b22405c17194851a1e1.bundle.js +1 -0
  100. package/dist/188.bce7651d7bd1e88d7689.bundle.js +1 -0
  101. package/dist/189.4456ac2b4559c9c4e808.bundle.js +1 -0
  102. package/dist/19.ec4fc8946a6edb7dc7c9.bundle.js +1 -0
  103. package/dist/190.d758ca3d4a14b7273bab.bundle.js +1 -0
  104. package/dist/191.8c31e698a482ba52ca82.bundle.js +1 -0
  105. package/dist/192.944cc89f4d31c0fd8f79.bundle.js +1 -0
  106. package/dist/193.fad67143e7b911118459.bundle.js +1 -0
  107. package/dist/194.a4f892be39e071e2552a.bundle.js +1 -0
  108. package/dist/{125.9e925ae0dd1217d81d89.bundle.js → 195.7f8774fd8da98c5897a1.bundle.js} +1 -1
  109. package/dist/{126.a32b57d6108545746ed3.bundle.js → 196.3ab76ea57aaa91d34511.bundle.js} +1 -1
  110. package/dist/{127.90d1975083eef3d4a715.bundle.js → 197.9bbab0d7f35c2b58914f.bundle.js} +1 -1
  111. package/dist/{128.544f1a82e19dd245c7de.bundle.js → 198.813986f24f2f7887e738.bundle.js} +1 -1
  112. package/dist/{129.64ec11449e0c734500c2.bundle.js → 199.246f0549d7bdf7c18215.bundle.js} +1 -1
  113. package/dist/2.907f954e4f9e0697612c.bundle.js +1 -0
  114. package/dist/20.b6d679aabf452ffe8369.bundle.js +1 -0
  115. package/dist/{130.f8e68ac86e17b3622d40.bundle.js → 200.20f4846b9ed97b60def3.bundle.js} +1 -1
  116. package/dist/{131.4868fc3a837277c30273.bundle.js → 201.768937613e43caedd9fc.bundle.js} +1 -1
  117. package/dist/{132.7815ab1168a254cb0d47.bundle.js → 202.0d38d4ec1e39e8ca91b7.bundle.js} +1 -1
  118. package/dist/{133.f87e1685dd5ed920f9b5.bundle.js → 203.a78dd70f65b08ecb58d2.bundle.js} +1 -1
  119. package/dist/{134.8998ff724a077ecff2ce.bundle.js → 204.e1f61ba757fbc813e6d4.bundle.js} +1 -1
  120. package/dist/{135.c07268699f76ef7a02ff.bundle.js → 205.cc2c5786dff7bf31b08c.bundle.js} +1 -1
  121. package/dist/{137.8262ca9736e9818284cd.bundle.js → 206.dadf18fb31b0533b1696.bundle.js} +1 -1
  122. package/dist/{138.8c149cad49010a65b3ca.bundle.js → 207.44dbc18bb4c8fa07cc66.bundle.js} +1 -1
  123. package/dist/{139.97ee12e7a3c05be03456.bundle.js → 208.dda72c8e3795ba716704.bundle.js} +1 -1
  124. package/dist/{140.6b3c57ffec700081328b.bundle.js → 209.7f8b6e8e2869b51c554c.bundle.js} +1 -1
  125. package/dist/21.6fc8ebce5e63eedb5f9e.bundle.js +1 -0
  126. package/dist/{141.4981056237955a34b2e2.bundle.js → 210.6d601b172d76d9bc2c98.bundle.js} +1 -1
  127. package/dist/211.ad09e493e9be031887e9.bundle.js +1 -0
  128. package/dist/{142.4d60c1795eed3a9570f9.bundle.js → 212.364965f963bcd6331e6f.bundle.js} +1 -1
  129. package/dist/{143.b7057852f7859cf39e75.bundle.js → 213.6c5b540986e7b24a338a.bundle.js} +1 -1
  130. package/dist/214.3c333d59839d2bcd183e.bundle.js +1 -0
  131. package/dist/215.a95cf561d38004eff071.bundle.js +1 -0
  132. package/dist/{146.51d2987de4defe7df7c7.bundle.js → 216.acdd4ee62af663ab18a1.bundle.js} +1 -1
  133. package/dist/{147.54016549674d35bc2869.bundle.js → 217.38ab6d3450c36fe8104f.bundle.js} +1 -1
  134. package/dist/{148.ad95b30f508a0bd02970.bundle.js → 218.66399da8a64421df67c1.bundle.js} +1 -1
  135. package/dist/{149.8dd1281617389f8c189b.bundle.js → 219.05c3d5e61c9bb4752e5f.bundle.js} +1 -1
  136. package/dist/22.8ee5985085ab2c4b99f1.bundle.js +2 -0
  137. package/dist/{150.5e0ee4350f8edd0e7b9a.bundle.js → 220.069190d187dfc576daed.bundle.js} +1 -1
  138. package/dist/{151.6b81c99a1ec1b184b82d.bundle.js → 221.3553362f556124c787a8.bundle.js} +1 -1
  139. package/dist/{152.2e1aa910a68f0086825b.bundle.js → 222.5ec7607217a3cb97b293.bundle.js} +1 -1
  140. package/dist/223.37d133ce14e20b0efe2d.bundle.js +1 -0
  141. package/dist/{154.5938248b52830d0a80a2.bundle.js → 224.acc9afbc9e926356519a.bundle.js} +1 -1
  142. package/dist/{156.bbcaf52acb0cecbc6257.bundle.js → 225.ba9860341f9eba2c1f2d.bundle.js} +1 -1
  143. package/dist/226.0a305eb2e34c9d3fb3ce.bundle.js +1 -0
  144. package/dist/227.357506866df2e0ba1ae1.bundle.js +1 -0
  145. package/dist/{157.51181d03518519f84b5e.bundle.js → 228.21cb62126a898299b993.bundle.js} +1 -1
  146. package/dist/{159.10457cbb053c1315d93a.bundle.js → 229.227a956358ad27627e2c.bundle.js} +1 -1
  147. package/dist/23.91ef26cbbdeac17b5756.bundle.js +1 -0
  148. package/dist/{160.c46bfdf09357a4c62a53.bundle.js → 230.215c4242d4a205df5b8e.bundle.js} +1 -1
  149. package/dist/{161.0f35ee11981f0ea0455f.bundle.js → 231.fd7222ca89363294fe39.bundle.js} +1 -1
  150. package/dist/232.ddae678620e7c15b8ec4.bundle.js +1 -0
  151. package/dist/{163.38565d40ac5f71d1c875.bundle.js → 233.007908cb7a913f1554ed.bundle.js} +1 -1
  152. package/dist/234.de1618094d091408fd6d.bundle.js +1 -0
  153. package/dist/235.97d46a9b6277079ae6cc.bundle.js +1 -0
  154. package/dist/236.ec2ada8b5f2aec3204f5.bundle.js +1 -0
  155. package/dist/24.498f1aefa71ceb33d2f8.bundle.js +1 -0
  156. package/dist/242.2b2f21e1f841b827526e.bundle.js +1 -0
  157. package/dist/243.36fbc0c96d0a35048949.bundle.js +1 -0
  158. package/dist/244.526affae61c05ae944d3.bundle.js +1 -0
  159. package/dist/245.feedc08d977143faa08e.bundle.js +1 -0
  160. package/dist/246.136fac3b1ce27662490d.bundle.js +1 -0
  161. package/dist/{168.2d4b5a75da5430c73efc.bundle.js → 247.71aeac059bcf9ed9b392.bundle.js} +1 -1
  162. package/dist/{169.6897f56896e3664e8b53.bundle.js → 248.94d8fea9b5ce15519623.bundle.js} +1 -1
  163. package/dist/{170.d5c0d475c5b6ad84ef77.bundle.js → 249.234cb407b6a647179cf2.bundle.js} +1 -1
  164. package/dist/25.f5a19d06088f0938fc9f.bundle.js +1 -0
  165. package/dist/{171.60cdc91b2bf682a20911.bundle.js → 250.3ed03b7e55905888d992.bundle.js} +1 -1
  166. package/dist/{172.1fb9ead3e508a7cfa5f3.bundle.js → 251.efa949bd1ee44f4290ed.bundle.js} +1 -1
  167. package/dist/{173.95602c81a2692624a015.bundle.js → 252.5705d631c738e4d8e996.bundle.js} +1 -1
  168. package/dist/{174.aac1982e67b5ca1731c1.bundle.js → 253.8752156b82db62eb4c92.bundle.js} +1 -1
  169. package/dist/{175.5e49a28397900168f816.bundle.js → 254.986c95170a74cc76c5e5.bundle.js} +1 -1
  170. package/dist/{176.2e6d1a9f4eac4fdd8422.bundle.js → 255.53ff457cdf06dc0de427.bundle.js} +1 -1
  171. package/dist/{177.3b6aabf3c4db8519ea74.bundle.js → 256.52e7acbbd3e7dde0df9f.bundle.js} +1 -1
  172. package/dist/257.943f597bddc0d65103c5.bundle.js +1 -0
  173. package/dist/{179.784cbd536b8e636c1272.bundle.js → 258.db5554df6956ecfc7dec.bundle.js} +1 -1
  174. package/dist/259.2c88332b7f1b47935a47.bundle.js +1 -0
  175. package/dist/26.85a305c95834a8a1a05a.bundle.js +1 -0
  176. package/dist/260.d745422c537bdd9647bb.bundle.js +1 -0
  177. package/dist/261.7efff7f93f61f061f5ca.bundle.js +1 -0
  178. package/dist/{184.ff8a39692d0ff666c9e6.bundle.js → 262.3b9c687ab8c9b9282f5a.bundle.js} +1 -1
  179. package/dist/{185.8b9f0b866e848f8a1aac.bundle.js → 263.9c4ce329ffd095c5d1c6.bundle.js} +1 -1
  180. package/dist/{186.798880846274da7033da.bundle.js → 264.0504ff98a1b50e9d2486.bundle.js} +1 -1
  181. package/dist/{187.eb92a35d38294bc21703.bundle.js → 265.a0af2676b1495c6231cc.bundle.js} +1 -1
  182. package/dist/{188.641582484af80415d29a.bundle.js → 266.31dcc9c203106832e08a.bundle.js} +1 -1
  183. package/dist/{189.7ccbb0ef67513ae7001a.bundle.js → 267.3befe4deb9b75cd5d7ba.bundle.js} +1 -1
  184. package/dist/{190.a3609218c5d8e873a46f.bundle.js → 268.c7dc883261346f81be82.bundle.js} +1 -1
  185. package/dist/{191.4c817606bf66c16d9ad1.bundle.js → 269.601d4fc4300f4553d75c.bundle.js} +1 -1
  186. package/dist/27.92bfb161b420732902a3.bundle.js +1 -0
  187. package/dist/{192.21f366a1ea7e6905f120.bundle.js → 270.e9d338a5cf954fbc1f4c.bundle.js} +1 -1
  188. package/dist/{193.4d40b788bd7ddcf16788.bundle.js → 271.a88eeff63bbc87791af0.bundle.js} +1 -1
  189. package/dist/{194.0170093f1daf20e82b5f.bundle.js → 272.ddacc590a66bdb0fa651.bundle.js} +1 -1
  190. package/dist/{195.d7d8af61458f9416878f.bundle.js → 273.d45db281162abbe864ae.bundle.js} +1 -1
  191. package/dist/{196.6e6b7589cd1342a0b2b5.bundle.js → 274.eca3da80ab4f0b4a3263.bundle.js} +1 -1
  192. package/dist/{197.c071fa1fe9e081a3b053.bundle.js → 275.509ea766eda3bbcf1562.bundle.js} +1 -1
  193. package/dist/{198.3c5ca9ac5a745b4b23a1.bundle.js → 276.f816f19aaa4522373a5f.bundle.js} +1 -1
  194. package/dist/{199.00ac5221a334189ea09a.bundle.js → 277.6c6b5259fa26936adf41.bundle.js} +1 -1
  195. package/dist/{200.aa3f4dcf9cf98409dbf5.bundle.js → 278.bfc453e4fdb94806e6fc.bundle.js} +1 -1
  196. package/dist/{201.a1b147e78f43a3bc99c3.bundle.js → 279.855b2c767116d91fdc3b.bundle.js} +1 -1
  197. package/dist/28.2e0277168c8f14f9c085.bundle.js +1 -0
  198. package/dist/{202.20e71b18f57e7d234ff0.bundle.js → 280.95394d461866b83c32b7.bundle.js} +1 -1
  199. package/dist/{203.0219c2ba2d4fe4881af2.bundle.js → 281.fcaf9deb44f93c85ef68.bundle.js} +1 -1
  200. package/dist/{204.cc169603e18b84e7e65b.bundle.js → 282.bede8a18d3e678b7895d.bundle.js} +1 -1
  201. package/dist/{205.99fb3c89cd9b9183ddbf.bundle.js → 283.bf3ea5f6f6b8406e5401.bundle.js} +1 -1
  202. package/dist/{206.43b04d2170165e13353c.bundle.js → 284.3f34606cfbcefb0a1a47.bundle.js} +1 -1
  203. package/dist/{207.798c195e1d7d3f301131.bundle.js → 285.4e95ca9e283ddd26fcbf.bundle.js} +1 -1
  204. package/dist/{208.34f042066a757f4fd8c0.bundle.js → 286.8c8f50e9844881f0b028.bundle.js} +1 -1
  205. package/dist/{209.288844c6a42ff4d5685a.bundle.js → 287.23b580771ee0d5e65d41.bundle.js} +1 -1
  206. package/dist/288.6cef162ec3cec3cde603.bundle.js +1 -0
  207. package/dist/{211.d2721b9785e609e2f817.bundle.js → 289.c47fa5cd7d5468dce45f.bundle.js} +1 -1
  208. package/dist/29.128101fabb544e88e448.bundle.js +1 -0
  209. package/dist/{212.b6b19c939f21132b451c.bundle.js → 290.b9baf8eed99b4447f086.bundle.js} +1 -1
  210. package/dist/{213.5a5116f764e6357e53ab.bundle.js → 291.1e7bf6b667f7698ac645.bundle.js} +1 -1
  211. package/dist/{214.a2640be51c42d820bb83.bundle.js → 292.44bcf6642bd3fac703b4.bundle.js} +1 -1
  212. package/dist/{215.209396a71f130477e2b3.bundle.js → 293.184eb39d3229ef066269.bundle.js} +1 -1
  213. package/dist/{216.16e2e982acc750b4045a.bundle.js → 294.338c276decc123976f73.bundle.js} +1 -1
  214. package/dist/{217.8540eb1d1a0946e72dbf.bundle.js → 295.72eea8b2cf594acd85e6.bundle.js} +1 -1
  215. package/dist/{218.ef33580c82d20f39f75f.bundle.js → 296.8f11a500bce671ed75db.bundle.js} +1 -1
  216. package/dist/{219.1652bc940cdd0088dc18.bundle.js → 297.71b96380e1103cd792d9.bundle.js} +1 -1
  217. package/dist/{220.f8f9c348b1fc0cc72bd6.bundle.js → 298.39626a266f47903126bf.bundle.js} +1 -1
  218. package/dist/299.d3636e77b768f4300e8c.bundle.js +1 -0
  219. package/dist/3.e877f5e49ef930b8b905.bundle.js +1 -0
  220. package/dist/30.1ffda412dea3c5f55c24.bundle.js +1 -0
  221. package/dist/300.c9844b95b03ac7295e4f.bundle.js +1 -0
  222. package/dist/301.e9495589c306b342c312.bundle.js +1 -0
  223. package/dist/302.d16e044e23278bf1e922.bundle.js +1 -0
  224. package/dist/303.4ab6b30437bce5474d30.bundle.js +1 -0
  225. package/dist/304.e055e669c9bad5898984.bundle.js +1 -0
  226. package/dist/31.2c95be2edb9c756e0f13.bundle.js +1 -0
  227. package/dist/32.08cc7807b71cf869e6e2.bundle.js +1 -0
  228. package/dist/33.601eab9a8c9d80755599.bundle.js +1 -0
  229. package/dist/{23.87ca8226d464e3699b8e.bundle.js → 34.b03038da5530dcb82c85.bundle.js} +2 -2
  230. package/dist/{19.c2a5c3e7a49a4acba486.bundle.js → 35.d337b2f1aeac7bab3100.bundle.js} +2 -2
  231. package/dist/{26.6e06be7172a866ad45f9.bundle.js → 36.780bcf12c8d8b5742eac.bundle.js} +2 -2
  232. package/dist/{28.90b784e728e3d5e4c6aa.bundle.js → 37.2204724b4ae08556283e.bundle.js} +1 -1
  233. package/dist/38.0edff4c7b76c9652f664.bundle.js +1 -0
  234. package/dist/39.f691f87a4527e58da4a2.bundle.js +1 -0
  235. package/dist/4.fe432ceb2b88c03018b3.bundle.js +1 -0
  236. package/dist/40.53352fda81f370182e99.bundle.js +1 -0
  237. package/dist/41.5a0ecbdf78c48ddce365.bundle.js +1 -0
  238. package/dist/42.6a677110f335d516813b.bundle.js +1 -0
  239. package/dist/43.bcf30fa642d63c585962.bundle.js +1 -0
  240. package/dist/{35.e601e19e63c6ddaf2484.bundle.js → 44.f3060f0a04c90bc70a36.bundle.js} +1 -1
  241. package/dist/45.001b1bcbff1d7c9b3288.bundle.js +1 -0
  242. package/dist/46.7682ca54e79000d992ab.bundle.js +1 -0
  243. package/dist/47.7e030d52af57062c6527.bundle.js +1 -0
  244. package/dist/48.669aedf81599ca0aee35.bundle.js +1 -0
  245. package/dist/{37.085cdb373f74d55eee07.bundle.js → 49.319507fd2417a71a157e.bundle.js} +1 -1
  246. package/dist/5.f58f4e96c07a6a7a0e06.bundle.js +1 -0
  247. package/dist/50.91efd0f7c94e635eb31b.bundle.js +1 -0
  248. package/dist/51.9696bc200e07cfc15860.bundle.js +1 -0
  249. package/dist/52.37332ab2c0675e0a802c.bundle.js +1 -0
  250. package/dist/53.967c8f3d2a9f33fcfc27.bundle.js +1 -0
  251. package/dist/54.07a064723a033340c51b.bundle.js +1 -0
  252. package/dist/55.1f556c49966d089af28e.bundle.js +1 -0
  253. package/dist/56.0bfd1ac12b2c5f9116e5.bundle.js +1 -0
  254. package/dist/57.19a0ece12b6fb894221d.bundle.js +1 -0
  255. package/dist/58.b741d32027a50f883617.bundle.js +1 -0
  256. package/dist/{47.4fbfdaa63628c501a30c.bundle.js → 59.01fd6bb0dea0e31b8c98.bundle.js} +1 -1
  257. package/dist/6.0685b09a3646005a1521.bundle.js +1 -0
  258. package/dist/60.dd84d15683316fe6c548.bundle.js +1 -0
  259. package/dist/61.2fdefec6b0e4f2f01dc9.bundle.js +1 -0
  260. package/dist/62.3cda5cf1c8a74f8bccc6.bundle.js +1 -0
  261. package/dist/{51.514a339efd6cd11db0f8.bundle.js → 63.dbce2c16115eac52fed2.bundle.js} +1 -1
  262. package/dist/64.0b46f2876921c15c0f4d.bundle.js +1 -0
  263. package/dist/65.4c044f55fb8e826c87a0.bundle.js +1 -0
  264. package/dist/66.c8b9472b02654a17b61c.bundle.js +1 -0
  265. package/dist/67.958136cd17ad37887b60.bundle.js +1 -0
  266. package/dist/68.b4bf34276a3cab5e48bf.bundle.js +1 -0
  267. package/dist/69.68337b9a2e3104600ff6.bundle.js +1 -0
  268. package/dist/7.15f6406e6baaef520b7f.bundle.js +1 -0
  269. package/dist/{53.174d18435f7bf3bf05a0.bundle.js → 70.e04eced6ee3b7d712377.bundle.js} +1 -1
  270. package/dist/{54.7cb3bd3ae8055e350629.bundle.js → 71.0fbdedcc573e4e38ff6a.bundle.js} +1 -1
  271. package/dist/{55.f0762e755ba58cbaac26.bundle.js → 72.e71caf5330e0c1cece04.bundle.js} +1 -1
  272. package/dist/{56.3b0312e77f8607a4d957.bundle.js → 73.298162fe9ad207efe8a5.bundle.js} +1 -1
  273. package/dist/{57.dfb7a710da8ca09c725b.bundle.js → 74.b57c202b34d9d8effbcb.bundle.js} +1 -1
  274. package/dist/{58.ac0fa95bbbe4b2dfb0fc.bundle.js → 75.8be72a221b92aa667da7.bundle.js} +1 -1
  275. package/dist/{59.273ffcd48e856d2752ff.bundle.js → 76.0f45a150d03cf8aeeb9d.bundle.js} +1 -1
  276. package/dist/{60.00a29320ea162becd718.bundle.js → 77.257e393d86a8fb9f2102.bundle.js} +1 -1
  277. package/dist/{61.3794de8b6d022738bafa.bundle.js → 78.83432ef1cff39b57aa50.bundle.js} +1 -1
  278. package/dist/{62.cf39ad55adb1616560ec.bundle.js → 79.74e2421bfb8f6c563a99.bundle.js} +1 -1
  279. package/dist/8.df1e59fdf8864051f4b0.bundle.js +2 -0
  280. package/dist/{63.8880f667c958d12b338b.bundle.js → 80.53a2f5637376be338bb5.bundle.js} +1 -1
  281. package/dist/81.a48e2d16edd121965d2f.bundle.js +1 -0
  282. package/dist/82.bde6d42f833167581069.bundle.js +1 -0
  283. package/dist/83.4bb7fb45433f0902ba64.bundle.js +1 -0
  284. package/dist/84.3fe74c343dd811256a58.bundle.js +1 -0
  285. package/dist/85.e34e2854ea217304bf69.bundle.js +1 -0
  286. package/dist/{69.c5561c83fe410ea9a908.bundle.js → 86.b6a6584bb48c2eba7793.bundle.js} +1 -1
  287. package/dist/{70.f2557c225be5923bab24.bundle.js → 87.66c82919414d84bf1c91.bundle.js} +1 -1
  288. package/dist/88.a54c809c84dbef177321.bundle.js +1 -0
  289. package/dist/{72.0780a8424293909f94a4.bundle.js → 89.08dc723465581d17e18c.bundle.js} +1 -1
  290. package/dist/9.3890e642c0ae619d2c59.bundle.js +1 -0
  291. package/dist/90.82bdd586c3a8e362fd99.bundle.js +1 -0
  292. package/dist/{74.48e90caf0b5ecd351f1d.bundle.js → 91.743cdf86c0680be894c9.bundle.js} +1 -1
  293. package/dist/92.c68c7391efc7d3b46a0d.bundle.js +1 -0
  294. package/dist/93.daf27be7933412f1637f.bundle.js +1 -0
  295. package/dist/94.e7ab23159456b757afa9.bundle.js +1 -0
  296. package/dist/{78.66f3e9630550f20287ff.bundle.js → 95.522b5e309c1f6989ec42.bundle.js} +1 -1
  297. package/dist/96.e01346a08ab153a02364.bundle.js +1 -0
  298. package/dist/{80.8af0388db859fcc9fbf3.bundle.js → 97.f221163ec5e99caa0668.bundle.js} +1 -1
  299. package/dist/98.1f20ae086eeefbf60b9f.bundle.js +1 -0
  300. package/dist/{82.27bb51dfeb4898504e96.bundle.js → 99.c4df74a95a465a7bc7e6.bundle.js} +1 -1
  301. package/dist/bundle.18870411b75df6f0a8dc.bundle.js +89 -0
  302. package/dist/css/aclmanagement.css +184 -11
  303. package/dist/css/autocomplete-select.css +6 -1
  304. package/dist/css/bootstrap-graphdb-theme.css +71 -2
  305. package/dist/css/create-similarity-index.css +12 -0
  306. package/dist/css/explore.css +0 -3
  307. package/dist/css/graphs-config.css +13 -3
  308. package/dist/css/jdbc-create.css +8 -0
  309. package/dist/css/lib/ontotext-yasgui-web-component.css +427 -0
  310. package/dist/css/shepherd-custom.css +20 -4
  311. package/dist/css/similarity.css +0 -8
  312. package/dist/css/sparql-editor.css +49 -0
  313. package/dist/css/sparql-templates.css +3 -0
  314. package/dist/i18n/locale-en.json +42 -12
  315. package/dist/i18n/locale-fr.json +41 -11
  316. package/dist/index.html +5 -5
  317. package/dist/js/angular/core/directives/autocomplete/templates/autocomplete.html +18 -4
  318. package/dist/js/angular/core/directives/operations-statuses-monitor/templates/operations-statuses-monitor.html +1 -1
  319. package/dist/js/angular/core/directives/rdfresourcesearch/templates/rdfResourceSearchTemplate.html +1 -1
  320. package/dist/js/angular/core/directives/yasgui-component/templates/yasgui-component.html +18 -0
  321. package/dist/js/angular/import/templates/settingsModal.html +0 -2
  322. package/dist/js/angular/security/templates/user.html +1 -1
  323. package/dist/license-checker.json +102 -32
  324. package/dist/main.cd9080d130335332d006.css +1 -0
  325. package/dist/main.d3e9ca1041e746ba3275.bundle.js +1 -0
  326. package/dist/pages/aclmanagement.html +665 -152
  327. package/dist/pages/autocomplete.html +1 -1
  328. package/dist/pages/choose-repository-type.html +1 -1
  329. package/dist/pages/cluster-management/clusterInfo.html +8 -9
  330. package/dist/pages/create-index.html +245 -170
  331. package/dist/pages/dependencies.html +1 -1
  332. package/dist/pages/domainRangeInfo.html +2 -2
  333. package/dist/pages/edit.html +26 -17
  334. package/dist/pages/explore.html +74 -51
  335. package/dist/pages/export.html +1 -1
  336. package/dist/pages/find.html +1 -1
  337. package/dist/pages/graph-config/saveGraphConfig.html +213 -281
  338. package/dist/pages/graphs-visualizations.html +10 -11
  339. package/dist/pages/guides.html +1 -1
  340. package/dist/pages/import.html +1 -1
  341. package/dist/pages/jdbc-create.html +162 -118
  342. package/dist/pages/monitor/backup-and-restore.html +1 -1
  343. package/dist/pages/monitor/queries.html +1 -1
  344. package/dist/pages/monitor/resources.html +1 -1
  345. package/dist/pages/namespaces.html +2 -2
  346. package/dist/pages/plugins.html +1 -1
  347. package/dist/pages/rdfClassHierarchyInfo.html +7 -7
  348. package/dist/pages/rdfrank.html +2 -2
  349. package/dist/pages/repositories.html +1 -1
  350. package/dist/pages/repository.html +5 -2
  351. package/dist/pages/similarity-indexes.html +69 -101
  352. package/dist/pages/sparql-editor.html +26 -0
  353. package/dist/pages/sparql-template-create.html +49 -29
  354. package/dist/pages/sparql-templates.html +1 -1
  355. package/dist/pages/webapi.html +2 -2
  356. package/dist/plugins.js +167 -87
  357. package/dist/polyfills-dom.e5e420bcb04603449d09.bundle.js +19 -0
  358. package/dist/res/swagger/index.html +27 -27
  359. package/dist/{vendor.d1c629ceaacea40a5f4a.css → vendor.169ed6d7d226ea8551b7.css} +1 -1
  360. package/dist/{vendor.7b6ede99ef82acd3dcf5.bundle.js → vendor.32f2a17d79d66db88bba.bundle.js} +4 -4
  361. package/dist/vendors~polyfills-core-js.efe4b0ec258663b8b247.bundle.js +1 -0
  362. package/package.json +5 -3
  363. package/dist/0.f8448f998a59db17e94e.bundle.js +0 -25
  364. package/dist/1.46d9ecd4119bac145f3b.bundle.js +0 -81
  365. package/dist/100.aef098a33fbb925e0d2d.bundle.js +0 -1
  366. package/dist/101.42eacc63e0fb5834b78a.bundle.js +0 -1
  367. package/dist/103.f38f3cd69ff610955aaf.bundle.js +0 -1
  368. package/dist/104.2e21f1462021dca17db1.bundle.js +0 -1
  369. package/dist/106.23e14c6b280756d04533.bundle.js +0 -1
  370. package/dist/107.75e40619cb45972dc39f.bundle.js +0 -1
  371. package/dist/108.f09444e990531d27e0be.bundle.js +0 -1
  372. package/dist/109.ef97393181ee534042d8.bundle.js +0 -1
  373. package/dist/11.0fc995ac096734b915c6.bundle.js +0 -1
  374. package/dist/110.d59b8565d2255a282669.bundle.js +0 -1
  375. package/dist/111.fff9f089f65f01013923.bundle.js +0 -1
  376. package/dist/112.5bd3fcd7c37f1024fe26.bundle.js +0 -1
  377. package/dist/114.d78615087abe68db7b2f.bundle.js +0 -1
  378. package/dist/118.39c8b47405ab93c40847.bundle.js +0 -1
  379. package/dist/123.c6957ecb441d8a09932a.bundle.js +0 -1
  380. package/dist/124.27e85a0284e2ebeb7d6e.bundle.js +0 -1
  381. package/dist/136.908f1f6fe3054f99b560.bundle.js +0 -1
  382. package/dist/14.0bb211bcdc29c6d8b3b5.bundle.js +0 -29
  383. package/dist/144.3f85f8eacae521d52355.bundle.js +0 -1
  384. package/dist/145.9281069e9e77978b640a.bundle.js +0 -1
  385. package/dist/15.6a74adbd30b4d2930e10.bundle.js +0 -1
  386. package/dist/153.7a64973115bdaec26406.bundle.js +0 -1
  387. package/dist/155.a4511849c1001c5f2ba6.bundle.js +0 -1
  388. package/dist/158.640e412f6002ee1d7341.bundle.js +0 -1
  389. package/dist/16.2f60fbeaccd97aefaae2.bundle.js +0 -1
  390. package/dist/162.fef28120701e7d200b01.bundle.js +0 -1
  391. package/dist/164.b2116f472aa847618aee.bundle.js +0 -1
  392. package/dist/17.2bff7856b13fd72e2db4.bundle.js +0 -1
  393. package/dist/178.e10370553beb5c6bb839.bundle.js +0 -1
  394. package/dist/18.d6be3e6583bf3dacd54f.bundle.js +0 -2
  395. package/dist/180.d37db50f3ce1b3a04a65.bundle.js +0 -1
  396. package/dist/181.f307cabdc4ed7a10ff64.bundle.js +0 -1
  397. package/dist/182.e8fe148e90fcd334b9b9.bundle.js +0 -1
  398. package/dist/183.a086e00d4dc3c7855611.bundle.js +0 -1
  399. package/dist/2.78b4e53269171c9c08a5.bundle.js +0 -1
  400. package/dist/20.8fd969e3860ddffedcc3.bundle.js +0 -1
  401. package/dist/21.c981976c6528073c0a2f.bundle.js +0 -1
  402. package/dist/210.1ac38e393ca959703d4b.bundle.js +0 -1
  403. package/dist/22.9d339503774f4f6c0a8b.bundle.js +0 -1
  404. package/dist/221.b18a92f0ba880edaebbf.bundle.js +0 -1
  405. package/dist/222.a52ebecd1d5201437ebe.bundle.js +0 -1
  406. package/dist/24.9076b75f45ce0579f7be.bundle.js +0 -1
  407. package/dist/25.073791b8dd02c5b31183.bundle.js +0 -1
  408. package/dist/27.5152c2a1f3b1369e21b0.bundle.js +0 -1
  409. package/dist/29.e2309b858706718f1732.bundle.js +0 -1
  410. package/dist/3.cf89087c137e759ecd19.bundle.js +0 -27
  411. package/dist/30.32fb84930c42bae43a74.bundle.js +0 -1
  412. package/dist/31.31b7b4bd073b82c09fda.bundle.js +0 -1
  413. package/dist/32.6725d94946764db833b8.bundle.js +0 -1
  414. package/dist/33.fa9f0e662060f2e97267.bundle.js +0 -1
  415. package/dist/34.af22bc6d5ed2bcb72a09.bundle.js +0 -1
  416. package/dist/36.df47a70d8efbf1cd033b.bundle.js +0 -1
  417. package/dist/38.fc172c7b0d24ab0f8a35.bundle.js +0 -1
  418. package/dist/39.5ca9fa51ec3c63459317.bundle.js +0 -1
  419. package/dist/4.851f9ade6202116ecfb9.bundle.js +0 -1
  420. package/dist/40.309ec5212fd53fe696bb.bundle.js +0 -1
  421. package/dist/41.3870740f1d24570cb415.bundle.js +0 -1
  422. package/dist/42.b926c2c8620df5c7ed6d.bundle.js +0 -1
  423. package/dist/43.d4551e1f6cac0a1a77e5.bundle.js +0 -1
  424. package/dist/44.46c9e2d54a9f07d78368.bundle.js +0 -1
  425. package/dist/45.a916daee1f0c6873c890.bundle.js +0 -1
  426. package/dist/46.4f57238bd032edc81d6d.bundle.js +0 -1
  427. package/dist/48.3fbd50adcb0c7dd7ec60.bundle.js +0 -1
  428. package/dist/49.0707795b3b6e40387da8.bundle.js +0 -1
  429. package/dist/5.7cfbc07050f137932ffe.bundle.js +0 -1
  430. package/dist/50.8f6cc698b42c96f2b41f.bundle.js +0 -1
  431. package/dist/52.410a7d8b4cb433fb24ca.bundle.js +0 -1
  432. package/dist/6.c5eea752e1f541f494e8.bundle.js +0 -1
  433. package/dist/64.fdd90fedc8a5dc3cacaf.bundle.js +0 -1
  434. package/dist/65.cdc961a8042c385c49c6.bundle.js +0 -1
  435. package/dist/66.c3b906de2fcf69089b7b.bundle.js +0 -1
  436. package/dist/67.9c851e5930459a5f5903.bundle.js +0 -1
  437. package/dist/68.05bba948c414a1e21c8f.bundle.js +0 -1
  438. package/dist/71.e9c3c5ccc70f443c97cf.bundle.js +0 -1
  439. package/dist/73.57e88cee0af3f67aee77.bundle.js +0 -1
  440. package/dist/75.c75a824264d0e67421ed.bundle.js +0 -1
  441. package/dist/76.2ad0f5373462bc70bebf.bundle.js +0 -1
  442. package/dist/77.303a075d21928354102c.bundle.js +0 -1
  443. package/dist/79.29d39a29721f936ae688.bundle.js +0 -1
  444. package/dist/8.b5e29f80f8a5766d70d5.bundle.js +0 -2
  445. package/dist/81.2ff1f5047ab4e0591585.bundle.js +0 -1
  446. package/dist/83.a59d34bc50cf323af43d.bundle.js +0 -1
  447. package/dist/84.a4ee7bb5d3ed2e6ead5e.bundle.js +0 -1
  448. package/dist/85.1f1b07562fbf97ab3e11.bundle.js +0 -1
  449. package/dist/86.637667a4555ae621aff0.bundle.js +0 -1
  450. package/dist/87.b76338a62297ad83960b.bundle.js +0 -1
  451. package/dist/88.532e7295b49b1071d45c.bundle.js +0 -1
  452. package/dist/89.90bb1cf65f183ecce47c.bundle.js +0 -1
  453. package/dist/9.610b595b60a0fc51466a.bundle.js +0 -1
  454. package/dist/90.683c4d5b142356f274ef.bundle.js +0 -1
  455. package/dist/91.2437dfc2ea1bc89f53f3.bundle.js +0 -1
  456. package/dist/92.a12cfd3b602e98b344de.bundle.js +0 -1
  457. package/dist/93.a5cb6192d32cb016bb60.bundle.js +0 -1
  458. package/dist/94.f6a3e7628449796419b6.bundle.js +0 -1
  459. package/dist/95.15f0e472c49c81a68c3a.bundle.js +0 -1
  460. package/dist/96.2bf3b75fb0efb6b9e7e8.bundle.js +0 -1
  461. package/dist/97.bd1988af419f7373b569.bundle.js +0 -1
  462. package/dist/98.060c6842b3a8ed94dd20.bundle.js +0 -1
  463. package/dist/99.6360b70da56083cd76fe.bundle.js +0 -1
  464. package/dist/bundle.39b836d40f0926aeec16.bundle.js +0 -91
  465. package/dist/css/jdbc.css +0 -3
  466. package/dist/css/lib/yasqe.min.css +0 -570
  467. package/dist/css/lib/yasr.css +0 -1005
  468. package/dist/css/new-sparql.css +0 -223
  469. package/dist/css/yasr.custom.css +0 -222
  470. package/dist/js/angular/core/directives/queryeditor/templates/query-editor.html +0 -245
  471. package/dist/js/angular/core/directives/queryeditor/templates/query-sample.html +0 -44
  472. package/dist/main.3ac2b4b19f56209c6467.css +0 -1
  473. package/dist/main.948c3b96766ce09e145b.bundle.js +0 -1
  474. package/dist/pages/sparql.html +0 -56
@@ -1,4 +1,5 @@
1
- <link href="css/aclmanagement.css?v=2.5.1" rel="stylesheet"/>
1
+ <link href="css/aclmanagement.css?v=2.6.0-RC2" rel="stylesheet"/>
2
+ <link href="css/autocomplete-select.css?v=2.6.0-RC2" rel="stylesheet"/>
2
3
 
3
4
  <div class="acl-management-view">
4
5
  <h1 id="acl-management-view-title">
@@ -12,158 +13,670 @@
12
13
 
13
14
  <div core-errors></div>
14
15
 
15
- <div class="acl-management-container">
16
- <div ng-if="loading" onto-loader-new size="100" style="height: 75vh; display: flex;"></div>
16
+ <div class="acl-management-container" ng-if="getActiveRepository()">
17
+ <div class="acl-management-container">
18
+ <div class="pull-right">
19
+ <button ng-click="addRule(activeTabScope, 0)" ng-disabled="editedRuleIndex !== undefined"
20
+ class="btn btn-primary add-first-rule-btn"
21
+ gdb-tooltip="{{'acl_management.rulestable.actions.add_rule_first' | translate}}">
22
+ <em class="icon-plus"></em> Create rule
23
+ </button>
24
+ </div>
25
+ <ul class="nav nav-tabs acl-tabs">
26
+ <li class="statement-tab nav-item">
27
+ <a href="#" class="nav-link"
28
+ ng-click="switchTab($event, ACL_SCOPE.STATEMENT)"
29
+ ng-class="{'active': activeTabScope === ACL_SCOPE.STATEMENT, 'disabled': editedRuleIndex !== undefined}"><span>{{'acl_management.rulestable.tab.statement' | translate}}</span><i class="text-primary icon-exclamation" ng-if="dirtyScope.has(ACL_SCOPE.STATEMENT)"></i></a>
30
+ </li>
31
+ <li class="clear-graph-tab nav-item">
32
+ <a href="#" class="nav-link"
33
+ ng-click="switchTab($event, ACL_SCOPE.CLEAR_GRAPH)"
34
+ ng-class="{'active': activeTabScope === ACL_SCOPE.CLEAR_GRAPH, 'disabled': editedRuleIndex !== undefined}"><span>{{'acl_management.rulestable.tab.clear_graph' | translate}}</span><i class="text-primary icon-exclamation" ng-if="dirtyScope.has(ACL_SCOPE.CLEAR_GRAPH)"></i></a>
35
+ </li>
36
+ <li class="plugin-tab nav-item">
37
+ <a href="#" class="nav-link" ng-click="switchTab($event, ACL_SCOPE.PLUGIN)"
38
+ ng-class="{'active': activeTabScope === ACL_SCOPE.PLUGIN, 'disabled': editedRuleIndex !== undefined}"><span>{{'acl_management.rulestable.tab.plugin' | translate}}</span><i class="text-primary icon-exclamation" ng-if="dirtyScope.has(ACL_SCOPE.PLUGIN)"></i></a>
39
+ </li>
40
+ <li class="system-tab nav-item">
41
+ <a href="#" class="nav-link" ng-click="switchTab($event, ACL_SCOPE.SYSTEM)"
42
+ ng-class="{'active': activeTabScope === ACL_SCOPE.SYSTEM, 'disabled': editedRuleIndex !== undefined}"><span>{{'acl_management.rulestable.tab.system' | translate}}</span><i class="text-primary icon-exclamation" ng-if="dirtyScope.has(ACL_SCOPE.SYSTEM)"></i></a>
43
+ </li>
44
+ </ul>
45
+ <div ng-if="loading" onto-loader-new size="100" style="height: 75vh; display: flex;"></div>
17
46
 
18
- <form name="ruleData" novalidate ng-if="rulesModel && !loading">
19
- <table class="acl-rules table table-striped table-hover" aria-describedby="ACL rules table">
20
- <thead>
21
- <tr class="labels-row">
22
- <th scope="col" class="index-column">{{'acl_management.rulestable.column.index' | translate}}
23
- </th>
24
- <th scope="col" class="reorder-column"></th>
25
- <th scope="col" class="subject-column">{{'acl_management.rulestable.column.subject' | translate}}
26
- </th>
27
- <th scope="col" class="predicate-column">
28
- {{'acl_management.rulestable.column.predicate' | translate}}
29
- </th>
30
- <th scope="col" class="object-column">
31
- {{'acl_management.rulestable.column.object' | translate}}
32
- </th>
33
- <th scope="col" class="context-column">{{'acl_management.rulestable.column.context' | translate}}
34
- </th>
35
- <th scope="col" class="role-column">{{'acl_management.rulestable.column.role' | translate}}</th>
36
- <th scope="col" class="policy-column">
37
- {{'acl_management.rulestable.column.policy' | translate}}
38
- </th>
39
- <th scope="col" class="actions-column"></th>
40
- </tr>
41
- <tr>
42
- <th scope="colgroup" colspan="9" class="toolbar">
43
- <div ng-if="editedRuleIndex === undefined" class="pull-right">
44
- <button ng-click="addRule(0)" class="btn btn-link add-rule-btn"
45
- gdb-tooltip="{{'acl_management.rulestable.actions.add_rule' | translate}}">
46
- <em class="icon-plus"></em>
47
- </button>
48
- </div>
49
- </th>
50
- </tr>
51
- </thead>
52
- <tbody>
53
- <tr ng-if="!rulesModel.size()">
54
- <td colspan="9" class="no-data">
55
- {{'acl_management.rulestable.messages.no_data' | translate}}
56
- </td>
57
- </tr>
58
- <tr ng-repeat-start="rule in rulesModel.aclRules track by $index" ng-if="0"></tr>
59
- <tr ng-if="$index !== editedRuleIndex" class="acl-rule preview-rule-row"
60
- ng-class="{'selected': $index === selectedRule || $index === editedRuleIndex}">
61
- <td class="index-cell">{{$index}}</td>
62
- <td class="reorder-cell">
63
- <span ng-if="editedRuleIndex === undefined" class="reorder-actions-group">
64
- <button ng-click="moveUp($index)" ng-if="$index > 0" class="btn btn-link move-up-btn"
65
- gdb-tooltip="{{'acl_management.rulestable.actions.move_up' | translate}}">
66
- <em class="fa fa-caret-up"></em>
67
- </button>
68
- <button ng-click="moveDown($index)" ng-if="$index < rulesModel.size() - 1"
69
- class="btn btn-link move-down-btn"
70
- gdb-tooltip="{{'acl_management.rulestable.actions.move_down' | translate}}">
71
- <em class="fa fa-caret-down"></em>
72
- </button>
73
- </span>
74
- </td>
75
- <td class="subject-cell data">{{rule.subject}}</td>
76
- <td class="predicate-cell data">{{rule.predicate}}</td>
77
- <td class="object-cell data">{{rule.object}}</td>
78
- <td class="context-cell data">{{rule.context}}</td>
79
- <td class="role-cell data">{{rule.role}}</td>
80
- <td class="policy-cell data">{{rule.policy}}</td>
81
- <td class="actions-cell">
82
- <div ng-if="editedRuleIndex === undefined" class="crud-actions-group">
83
- <button ng-click="deleteRule($index)" class="btn btn-link delete-rule-btn"
84
- gdb-tooltip="{{'acl_management.rulestable.actions.delete_rule' | translate}}">
85
- <em class="icon-trash"></em>
86
- </button>
87
- <button ng-click="editRule($index)" class="btn btn-link edit-rule-btn"
88
- gdb-tooltip="{{'acl_management.rulestable.actions.edit_rule' | translate}}">
89
- <em class="icon-edit"></em>
90
- </button>
91
- <button ng-click="addRule($index + 1)" class="btn btn-link add-rule-btn"
92
- gdb-tooltip="{{'acl_management.rulestable.actions.add_rule' | translate}}">
93
- <em class="icon-plus"></em>
94
- </button>
95
- </div>
96
- </td>
97
- </tr>
98
- <tr ng-if="$index === editedRuleIndex" class="acl-rule edit-rule-row"
99
- ng-class="{'selected table-info': $index === editedRuleIndex}">
100
- <td>{{$index}}</td>
101
- <td class="reorder-cell"></td>
102
- <td class="data subject-cell">
103
- <autocomplete ng-model="rule.subject" name="subject" required
104
- style-class="form-control form-control-sm"
105
- namespaces="namespaces"
106
- autocomplete-status-loader="getAutocompletePromise"
107
- placeholder="{{'acl_management.rulestable.field_placeholders.subject' | translate}}"></autocomplete>
108
- <em></em>
109
- </td>
110
- <td class="data predicate-cell">
111
- <autocomplete ng-model="rule.predicate" name="predicate" required
112
- style-class="form-control form-control-sm"
113
- namespaces="namespaces"
114
- autocomplete-status-loader="getAutocompletePromise"
115
- placeholder="{{'acl_management.rulestable.field_placeholders.predicate' | translate}}"></autocomplete>
116
- <em></em>
117
- </td>
118
- <td class="data object-cell">
119
- <autocomplete ng-model="rule.object" name="object" required
120
- style-class="form-control form-control-sm"
121
- namespaces="namespaces"
122
- autocomplete-status-loader="getAutocompletePromise"
123
- placeholder="{{'acl_management.rulestable.field_placeholders.object' | translate}}"></autocomplete>
124
- <em></em>
125
- </td>
126
- <td class="data context-cell">
127
- <autocomplete ng-model="rule.context" name="context" required
128
- style-class="form-control form-control-sm"
129
- namespaces="namespaces"
130
- autocomplete-status-loader="getAutocompletePromise"
131
- placeholder="{{'acl_management.rulestable.field_placeholders.context' | translate}}"></autocomplete>
132
- <em></em>
133
- </td>
134
- <td class="data role-cell">
135
- <input type="text" name="role" required ng-model="rule.role" uppercased
136
- autocomplete="off" class="form-control form-control-sm"
137
- placeholder="{{'acl_management.rulestable.field_placeholders.role' | translate}}"/>
138
- <em></em>
139
- </td>
140
- <td class="data policy-cell">
141
- <select ng-model="rule.policy" class="form-control form-control-sm">
142
- <option selected>allow</option>
143
- <option>deny</option>
144
- </select>
145
- </td>
146
- <td class="actions-cell">
147
- <button ng-click="cancelEditing($index)" class="btn btn-link cancel-rule-editing-btn"
148
- gdb-tooltip="{{'acl_management.rulestable.actions.cancel_rule_editing' | translate}}">
149
- <em class="icon-close"></em>
150
- </button>
151
- <button ng-if="ruleData.$valid" ng-click="saveRule()"
152
- class="btn btn-link save-rule-btn"
153
- ng-disabled="!ruleData.$valid"
154
- gdb-tooltip="{{'acl_management.rulestable.actions.save_rule' | translate}}">
155
- <em class="icon-save"></em>
156
- </button>
157
- <em ng-if="!ruleData.$valid" class="icon-save icon-lg save-rule-disabled-btn"
158
- gdb-tooltip="{{'acl_management.rulestable.messages.invalid_form' | translate}}"></em>
159
- </td>
160
- </tr>
161
- <tr ng-repeat-end ng-if="0"></tr>
162
- </tbody>
163
- </table>
164
- </form>
165
-
166
- <div ng-if="editedRuleIndex === undefined && rulesModel && modelIsDirty" class="text-right">
47
+ <div ng-if="!loading" class="acl-scope-tabs" ng-class="isEditMode() ? 'edit-mode': 'preview-mode'">
48
+ <div class="table-responsive tab-pane fade in" ng-if="activeTabScope === ACL_SCOPE.STATEMENT" id="statementTab">
49
+ <form name="ruleData" novalidate ng-if="rulesModel.getRulesByScope(activeTabScope) && !loading">
50
+ <table class="acl-rules table table-striped table-hover" aria-describedby="ACL rules table">
51
+ <thead>
52
+ <tr class="labels-row">
53
+ <th scope="col" class="index-column">
54
+ {{'acl_management.rulestable.column.index' | translate}}
55
+ </th>
56
+ <th scope="col" class="reorder-column"></th>
57
+ <th scope="col" class="policy-column">
58
+ {{'acl_management.rulestable.column.policy' | translate}}
59
+ </th>
60
+ <th scope="col" class="role-column">
61
+ {{'acl_management.rulestable.column.role' | translate}}
62
+ </th>
63
+ <th scope="col" class="operation-column">
64
+ {{'acl_management.rulestable.column.operation' | translate}}
65
+ </th>
66
+ <th scope="col" class="subject-column">
67
+ {{'acl_management.rulestable.column.subject' | translate}}
68
+ </th>
69
+ <th scope="col" class="predicate-column">
70
+ {{'acl_management.rulestable.column.predicate' | translate}}
71
+ </th>
72
+ <th scope="col" class="object-column">
73
+ {{'acl_management.rulestable.column.object' | translate}}
74
+ </th>
75
+ <th scope="col" class="context-column">
76
+ {{'acl_management.rulestable.column.context' | translate}}
77
+ </th>
78
+ <th scope="col" class="actions-column"></th>
79
+ </tr>
80
+ </thead>
81
+ <tbody>
82
+ <tr ng-if="!rulesModel.size(activeTabScope)">
83
+ <td colspan="11" class="no-data">
84
+ {{'acl_management.rulestable.messages.no_data' | translate}}
85
+ </td>
86
+ </tr>
87
+ <tr ng-repeat-start="rule in rulesModel.getRulesByScope(activeTabScope) track by $index" ng-if="0"></tr>
88
+ <tr ng-if="$index !== editedRuleIndex" class="acl-rule preview-rule-row" capture-height="$index"
89
+ ng-class="{'selected': $index === selectedRule || $index === editedRuleIndex}">
90
+ <td class="index-cell">{{$index + 1}}</td>
91
+ <td class="reorder-cell">
92
+ <span ng-if="editedRuleIndex === undefined" class="reorder-actions-group">
93
+ <button ng-click="moveUp(activeTabScope, $index)" ng-if="$index > 0" class="btn btn-link move-up-btn"
94
+ gdb-tooltip="{{'acl_management.rulestable.actions.move_up' | translate}}">
95
+ <em class="fa fa-caret-up"></em>
96
+ </button>
97
+ <button ng-click="moveDown(activeTabScope, $index)" ng-if="$index < rulesModel.getRulesByScope(activeTabScope).length - 1"
98
+ class="btn btn-link move-down-btn"
99
+ gdb-tooltip="{{'acl_management.rulestable.actions.move_down' | translate}}">
100
+ <em class="fa fa-caret-down"></em>
101
+ </button>
102
+ </span>
103
+ </td>
104
+ <td class="policy-cell data">
105
+ <span class="acl-tag" ng-class="{'acl-tag-allow': rule.policy === 'allow','acl-tag-deny': rule.policy === 'deny'}">
106
+ <em ng-class="{'icon-tick': rule.policy === 'allow','fa fa-ban': rule.policy === 'deny'}"></em>
107
+ {{rule.policy}}
108
+ </span>
109
+ </td>
110
+ <td class="role-cell data">
111
+ <span class="acl-tag"
112
+ ng-class="{'acl-tag-role-negated': rule.roleWithoutCustomPrefix[0] === '!', 'acl-tag-role': rule.roleWithoutCustomPrefix[0] !== '!', 'wildcard-cell': rule.role === '*'}">
113
+ {{rule.roleWithoutCustomPrefix}}
114
+ </span>
115
+ </td>
116
+ <td class="operation-cell data">
117
+ <span class="acl-tag" ng-class="{'wildcard-cell': rule.operation === '*', 'acl-tag-read': rule.operation === 'read','acl-tag-write': rule.operation === 'write'}">
118
+ <em ng-class="{'icon-eye': rule.operation === 'read', 'icon-edit': rule.operation === 'write'}"></em>
119
+ {{rule.operation}}
120
+ </span>
121
+ </td>
122
+ <td class="subject-cell data" ng-class="{'wildcard-cell': rule.subject === '*'}">{{rule.subject}}</td>
123
+ <td class="predicate-cell data" ng-class="{'wildcard-cell': rule.predicate === '*'}">{{rule.predicate}}</td>
124
+ <td class="object-cell data" ng-class="{'wildcard-cell': rule.object === '*'}">{{rule.object}}</td>
125
+ <td class="context-cell data" ng-class="{'wildcard-cell': rule.context === '*', 'context-cell-special': !rule.context.startsWith('<') && rule.context !== '*'}">{{rule.context}}</td>
126
+ <td class="actions-cell">
127
+ <div ng-if="editedRuleIndex === undefined" class="crud-actions-group">
128
+ <button ng-click="editRule(activeTabScope, $index)" class="btn btn-link edit-rule-btn"
129
+ gdb-tooltip="{{'acl_management.rulestable.actions.edit_rule' | translate}}">
130
+ <em class="icon-edit"></em>
131
+ </button>
132
+ <button ng-click="addRule(activeTabScope, $index + 1)" class="btn btn-link add-rule-btn"
133
+ gdb-tooltip="{{'acl_management.rulestable.actions.add_rule_next' | translate}}">
134
+ <em class="icon-plus"></em>
135
+ </button>
136
+ <button ng-click="deleteRule(activeTabScope, $index)" class="btn btn-link delete-rule-btn secondary"
137
+ gdb-tooltip="{{'acl_management.rulestable.actions.delete_rule' | translate}}">
138
+ <em class="icon-trash"></em>
139
+ </button>
140
+ </div>
141
+ </td>
142
+ </tr>
143
+ <tr ng-if="$index === editedRuleIndex" class="acl-rule edit-rule-row" style="{{getRowHeight}}"
144
+ ng-class="{'selected table-info': $index === editedRuleIndex}">
145
+ <td class="index-cell">{{$index + 1}}</td>
146
+ <td class="reorder-cell"></td>
147
+ <td class="data policy-cell">
148
+ <select ng-model="rule.policy" ng-change="setDirty(activeTabScope)" class="form-control form-control-sm select-rule">
149
+ <option selected>allow</option>
150
+ <option>deny</option>
151
+ </select>
152
+ </td>
153
+ <td class="data role-cell">
154
+ <textarea type="text" name="role" required
155
+ ng-model="rule.role"
156
+ ng-change="setDirty(activeTabScope)"
157
+ ng-keypress="performSearchActionOnEnter($event, activeTabScope, ruleData)"
158
+ uppercased uppercase-placeholder="false"
159
+ custom-role-prefix auto-grow
160
+ autocomplete="off"
161
+ class="form-control form-control-sm textarea-edit"
162
+ placeholder="{{'acl_management.rulestable.field_placeholders.role' | translate}}">
163
+ </textarea>
164
+ <em></em>
165
+ </td>
166
+ <td class="data operation-cell">
167
+ <select ng-model="rule.operation" ng-change="setDirty(activeTabScope)" class="form-control form-control-sm select-rule">
168
+ <option selected>*</option>
169
+ <option>read</option>
170
+ <option>write</option>
171
+ </select>
172
+ </td>
173
+ <td class="data subject-cell">
174
+ <autocomplete ng-model="rule.subject" on-model-change="setDirty(activeTabScope)" name="subject"
175
+ keypress="performSearchActionOnEnter($event, activeTabScope, ruleData)"
176
+ multiline="true"
177
+ autoexpand="true"
178
+ defaultresults="DEFAULT_URI_VALUES"
179
+ required="true"
180
+ validate-uri="true"
181
+ validate-default-value="true"
182
+ validate-simple-rdf-star-value="true"
183
+ style-class="form-control form-control-sm"
184
+ namespaces="namespaces"
185
+ autocomplete-status-loader="getAutocompletePromise"
186
+ placeholder="{{'acl_management.rulestable.field_placeholders.subject' | translate}}"></autocomplete>
187
+ <em></em>
188
+ </td>
189
+ <td class="data predicate-cell">
190
+ <autocomplete ng-model="rule.predicate" on-model-change="setDirty(activeTabScope)" name="predicate"
191
+ keypress="performSearchActionOnEnter($event, activeTabScope, ruleData)"
192
+ multiline="true"
193
+ autoexpand="true"
194
+ defaultresults="DEFAULT_URI_VALUES"
195
+ required="true"
196
+ validate-uri="true"
197
+ validate-default-value="true"
198
+ validate-simple-rdf-star-value="true"
199
+ style-class="form-control form-control-sm"
200
+ namespaces="namespaces"
201
+ autocomplete-status-loader="getAutocompletePromise"
202
+ placeholder="{{'acl_management.rulestable.field_placeholders.predicate' | translate}}"></autocomplete>
203
+ <em></em>
204
+ </td>
205
+ <td class="data object-cell">
206
+ <autocomplete ng-model="rule.object" on-model-change="setDirty(activeTabScope)" name="object"
207
+ keypress="performSearchActionOnEnter($event, activeTabScope, ruleData)"
208
+ multiline="true"
209
+ autoexpand="true"
210
+ defaultresults="DEFAULT_URI_VALUES"
211
+ required="true"
212
+ validate-uri="true"
213
+ validate-default-value="true"
214
+ validate-literal-value="true"
215
+ style-class="form-control form-control-sm"
216
+ namespaces="namespaces"
217
+ autocomplete-status-loader="getAutocompletePromise"
218
+ placeholder="{{'acl_management.rulestable.field_placeholders.object' | translate}}"></autocomplete>
219
+ <em></em>
220
+ </td>
221
+ <td class="data context-cell">
222
+ <autocomplete ng-model="rule.context" on-model-change="setDirty(activeTabScope)" name="context"
223
+ keypress="performSearchActionOnEnter($event, activeTabScope, ruleData)"
224
+ multiline="true"
225
+ autoexpand="true"
226
+ defaultresults="DEFAULT_CONTEXT_VALUES"
227
+ required="true"
228
+ validate-uri="true"
229
+ validate-default-value="true"
230
+ style-class="form-control form-control-sm"
231
+ namespaces="namespaces"
232
+ autocomplete-status-loader="getAutocompletePromise"
233
+ placeholder="{{'acl_management.rulestable.field_placeholders.context' | translate}}"></autocomplete>
234
+ <em></em>
235
+ </td>
236
+ <td class="actions-cell">
237
+ <div class="crud-actions-group">
238
+ <button ng-click="cancelEditing(activeTabScope, $index)"
239
+ class="btn btn-link cancel-rule-editing-btn secondary"
240
+ gdb-tooltip="{{'acl_management.rulestable.actions.cancel_rule_editing' | translate}}">
241
+ <em class="icon-close"></em>
242
+ </button>
243
+ <button ng-click="saveRule(activeTabScope)"
244
+ class="btn btn-link save-rule-btn"
245
+ ng-disabled="!ruleData.$valid"
246
+ gdb-tooltip="{{ruleData.$valid ? 'acl_management.rulestable.actions.apply_rule' : 'acl_management.rulestable.messages.invalid_form' | translate}}">
247
+ <em class="icon-check"></em>
248
+ </button>
249
+ </div>
250
+ </td>
251
+ </tr>
252
+ <tr ng-repeat-end ng-if="0"></tr>
253
+ </tbody>
254
+ </table>
255
+ </form>
256
+ </div>
257
+ <div class="table-responsive tab-pane fade in" ng-if="activeTabScope === ACL_SCOPE.CLEAR_GRAPH" id="graphTab">
258
+ <form name="ruleData" novalidate ng-if="rulesModel && !loading">
259
+ <table class="acl-rules table table-striped table-hover" aria-describedby="ACL rules table">
260
+ <thead>
261
+ <tr class="labels-row">
262
+ <th scope="col" class="index-column">
263
+ {{'acl_management.rulestable.column.index' | translate}}
264
+ </th>
265
+ <th scope="col" class="reorder-column"></th>
266
+ <th scope="col" class="policy-column">
267
+ {{'acl_management.rulestable.column.policy' | translate}}
268
+ </th>
269
+ <th scope="col" class="role-column">
270
+ {{'acl_management.rulestable.column.role' | translate}}
271
+ </th>
272
+ <th scope="col" class="context-column">
273
+ {{'acl_management.rulestable.column.context' | translate}}
274
+ </th>
275
+ <th scope="col" class="empty-column"></th>
276
+ <th scope="col" class="actions-column"></th>
277
+ </tr>
278
+ </thead>
279
+ <tbody>
280
+ <tr ng-if="!rulesModel.size(activeTabScope)">
281
+ <td colspan="7" class="no-data">
282
+ {{'acl_management.rulestable.messages.no_data' | translate}}
283
+ </td>
284
+ </tr>
285
+ <tr ng-repeat-start="rule in rulesModel.getRulesByScope(activeTabScope) track by $index" ng-if="0"></tr>
286
+ <tr ng-if="$index !== editedRuleIndex" class="acl-rule preview-rule-row" capture-height="$index"
287
+ ng-class="{'selected': $index === selectedRule || $index === editedRuleIndex}">
288
+ <td class="index-cell">{{$index + 1}}</td>
289
+ <td class="reorder-cell">
290
+ <span ng-if="editedRuleIndex === undefined" class="reorder-actions-group">
291
+ <button ng-click="moveUp(activeTabScope, $index)" ng-if="$index > 0" class="btn btn-link move-up-btn"
292
+ gdb-tooltip="{{'acl_management.rulestable.actions.move_up' | translate}}">
293
+ <em class="fa fa-caret-up"></em>
294
+ </button>
295
+ <button ng-click="moveDown(activeTabScope, $index)" ng-if="$index < rulesModel.size(activeTabScope) - 1"
296
+ class="btn btn-link move-down-btn"
297
+ gdb-tooltip="{{'acl_management.rulestable.actions.move_down' | translate}}">
298
+ <em class="fa fa-caret-down"></em>
299
+ </button>
300
+ </span>
301
+ </td>
302
+ <td class="policy-cell data">
303
+ <span class="acl-tag" ng-class="{'acl-tag-allow': rule.policy === 'allow','acl-tag-deny': rule.policy === 'deny'}">
304
+ <em ng-class="{'icon-tick': rule.policy === 'allow','fa fa-ban': rule.policy === 'deny'}"></em>
305
+ {{rule.policy}}
306
+ </span>
307
+ </td>
308
+ <td class="role-cell data">
309
+ <span class="acl-tag" ng-class="{'acl-tag-role-negated': rule.roleWithoutCustomPrefix[0] === '!', 'acl-tag-role': rule.roleWithoutCustomPrefix[0] !== '!', 'wildcard-cell': rule.role === '*'}">
310
+ {{rule.roleWithoutCustomPrefix}}
311
+ </span>
312
+ </td>
313
+ <td class="context-cell data" ng-class="{'wildcard-cell': rule.context === '*', 'context-cell-special': !rule.context.startsWith('<') && rule.context !== '*'}">
314
+ {{rule.context}}
315
+ </td>
316
+ <td class="empty-cell"></td>
317
+ <td class="actions-cell">
318
+ <div ng-if="editedRuleIndex === undefined" class="crud-actions-group">
319
+ <button ng-click="editRule(activeTabScope, $index)" class="btn btn-link edit-rule-btn"
320
+ gdb-tooltip="{{'acl_management.rulestable.actions.edit_rule' | translate}}">
321
+ <em class="icon-edit"></em>
322
+ </button>
323
+ <button ng-click="addRule(activeTabScope, $index + 1)" class="btn btn-link add-rule-btn"
324
+ gdb-tooltip="{{'acl_management.rulestable.actions.add_rule_next' | translate}}">
325
+ <em class="icon-plus"></em>
326
+ </button>
327
+ <button ng-click="deleteRule(activeTabScope, $index)" class="btn btn-link delete-rule-btn secondary"
328
+ gdb-tooltip="{{'acl_management.rulestable.actions.delete_rule' | translate}}">
329
+ <em class="icon-trash"></em>
330
+ </button>
331
+ </div>
332
+ </td>
333
+ </tr>
334
+ <tr ng-if="$index === editedRuleIndex" class="acl-rule edit-rule-row" style="{{getRowHeight}}"
335
+ ng-class="{'selected table-info': $index === editedRuleIndex}">
336
+ <td class="index-cell">{{$index + 1}}</td>
337
+ <td class="reorder-cell"></td>
338
+ <td class="data policy-cell">
339
+ <select ng-model="rule.policy" ng-change="setDirty(activeTabScope)" class="form-control form-control-sm select-rule">
340
+ <option selected>allow</option>
341
+ <option>deny</option>
342
+ </select>
343
+ </td>
344
+ <td class="data role-cell">
345
+ <textarea type="text" name="role" required
346
+ ng-model="rule.role"
347
+ ng-change="setDirty(activeTabScope)"
348
+ ng-keypress="performSearchActionOnEnter($event, activeTabScope, ruleData)"
349
+ uppercased uppercase-placeholder="false"
350
+ custom-role-prefix auto-grow
351
+ autocomplete="off" class="form-control form-control-sm textarea-edit"
352
+ rows="1"
353
+ placeholder="{{'acl_management.rulestable.field_placeholders.role' | translate}}">
354
+ </textarea>
355
+ <em></em>
356
+ </td>
357
+ <td class="data context-cell">
358
+ <autocomplete ng-model="rule.context" on-model-change="setDirty(activeTabScope)" name="context"
359
+ keypress="performSearchActionOnEnter($event, activeTabScope, ruleData)"
360
+ multiline="true"
361
+ autoexpand="true"
362
+ defaultresults="DEFAULT_CLEAR_GRAPH_CONTEXT_VALUES"
363
+ required="true"
364
+ validate-uri="true"
365
+ validate-default-value="true"
366
+ style-class="form-control form-control-sm"
367
+ namespaces="namespaces"
368
+ autocomplete-status-loader="getAutocompletePromise"
369
+ placeholder="{{'acl_management.rulestable.field_placeholders.context' | translate}}"></autocomplete>
370
+ <em></em>
371
+ </td>
372
+ <td class="empty-cell"></td>
373
+ <td class="actions-cell">
374
+ <div class="crud-actions-group">
375
+ <button ng-click="cancelEditing(activeTabScope, $index)"
376
+ class="btn btn-link cancel-rule-editing-btn secondary"
377
+ gdb-tooltip="{{'acl_management.rulestable.actions.cancel_rule_editing' | translate}}">
378
+ <em class="icon-close"></em>
379
+ </button>
380
+ <button ng-click="saveRule(activeTabScope)"
381
+ class="btn btn-link save-rule-btn"
382
+ ng-disabled="!ruleData.$valid"
383
+ gdb-tooltip="{{ruleData.$valid ? 'acl_management.rulestable.actions.apply_rule' : 'acl_management.rulestable.messages.invalid_form' | translate}}">
384
+ <em class="icon-check"></em>
385
+ </button>
386
+ </div>
387
+ </td>
388
+ </tr>
389
+ <tr ng-repeat-end ng-if="0"></tr>
390
+ </tbody>
391
+ </table>
392
+ </form>
393
+ </div>
394
+ <div class="table-responsive tab-pane fade in" ng-if="activeTabScope === ACL_SCOPE.PLUGIN" id="pluginTab">
395
+ <form name="ruleData" novalidate ng-if="rulesModel && !loading">
396
+ <table class="acl-rules table table-striped table-hover" aria-describedby="ACL rules table">
397
+ <thead>
398
+ <tr class="labels-row">
399
+ <th scope="col" class="index-column">
400
+ {{'acl_management.rulestable.column.index' | translate}}
401
+ </th>
402
+ <th scope="col" class="reorder-column"></th>
403
+ <th scope="col" class="policy-column">
404
+ {{'acl_management.rulestable.column.policy' | translate}}
405
+ </th>
406
+ <th scope="col" class="role-column">
407
+ {{'acl_management.rulestable.column.role' | translate}}
408
+ </th>
409
+ <th scope="col" class="operation-column">
410
+ {{'acl_management.rulestable.column.operation' | translate}}
411
+ </th>
412
+ <th scope="col" class="plugin-column">
413
+ {{'acl_management.rulestable.column.plugin' | translate}}
414
+ </th>
415
+ <th scope="col" class="empty-column"></th>
416
+ <th scope="col" class="actions-column"></th>
417
+ </tr>
418
+ </thead>
419
+ <tbody>
420
+ <tr ng-if="!rulesModel.size(activeTabScope)">
421
+ <td colspan="8" class="no-data">
422
+ {{'acl_management.rulestable.messages.no_data' | translate}}
423
+ </td>
424
+ </tr>
425
+ <tr ng-repeat-start="rule in rulesModel.getRulesByScope(activeTabScope) track by $index" ng-if="0"></tr>
426
+ <tr ng-if="$index !== editedRuleIndex" class="acl-rule preview-rule-row" capture-height="$index"
427
+ ng-class="{'selected': $index === selectedRule || $index === editedRuleIndex}">
428
+ <td class="index-cell">{{$index + 1}}</td>
429
+ <td class="reorder-cell">
430
+ <span ng-if="editedRuleIndex === undefined" class="reorder-actions-group">
431
+ <button ng-click="moveUp(activeTabScope, $index)" ng-if="$index > 0" class="btn btn-link move-up-btn"
432
+ gdb-tooltip="{{'acl_management.rulestable.actions.move_up' | translate}}">
433
+ <em class="fa fa-caret-up"></em>
434
+ </button>
435
+ <button ng-click="moveDown(activeTabScope, $index)" ng-if="$index < rulesModel.size(activeTabScope) - 1"
436
+ class="btn btn-link move-down-btn"
437
+ gdb-tooltip="{{'acl_management.rulestable.actions.move_down' | translate}}">
438
+ <em class="fa fa-caret-down"></em>
439
+ </button>
440
+ </span>
441
+ </td>
442
+ <td class="policy-cell data">
443
+ <span class="acl-tag" ng-class="{'acl-tag-allow': rule.policy === 'allow','acl-tag-deny': rule.policy === 'deny'}">
444
+ <em ng-class="{'icon-tick': rule.policy === 'allow','fa fa-ban': rule.policy === 'deny'}"></em>
445
+ {{rule.policy}}
446
+ </span>
447
+ </td>
448
+ <td class="role-cell data">
449
+ <span class="acl-tag" ng-class="{'acl-tag-role-negated': rule.roleWithoutCustomPrefix[0] === '!', 'acl-tag-role': rule.roleWithoutCustomPrefix[0] !== '!', 'wildcard-cell': rule.role === '*'}">
450
+ {{rule.roleWithoutCustomPrefix}}
451
+ </span>
452
+ </td>
453
+ <td class="operation-cell data">
454
+ <span class="acl-tag" ng-class="{'wildcard-cell': rule.operation === '*', 'acl-tag-read': rule.operation === 'read','acl-tag-write': rule.operation === 'write'}">
455
+ <em ng-class="{'icon-eye': rule.operation === 'read', 'icon-edit': rule.operation === 'write'}"></em>
456
+ {{rule.operation}}
457
+ </span>
458
+ </td>
459
+ <td class="plugin-cell data" ng-class="{'wildcard-cell': rule.plugin === '*'}">
460
+ {{rule.plugin}}
461
+ </td>
462
+ <td class="empty-cell"></td>
463
+ <td class="actions-cell">
464
+ <div ng-if="editedRuleIndex === undefined" class="crud-actions-group">
465
+ <button ng-click="editRule(activeTabScope, $index)" class="btn btn-link edit-rule-btn"
466
+ gdb-tooltip="{{'acl_management.rulestable.actions.edit_rule' | translate}}">
467
+ <em class="icon-edit"></em>
468
+ </button>
469
+ <button ng-click="addRule(activeTabScope, $index + 1)" class="btn btn-link add-rule-btn"
470
+ gdb-tooltip="{{'acl_management.rulestable.actions.add_rule_next' | translate}}">
471
+ <em class="icon-plus"></em>
472
+ </button>
473
+ <button ng-click="deleteRule(activeTabScope, $index)" class="btn btn-link delete-rule-btn secondary"
474
+ gdb-tooltip="{{'acl_management.rulestable.actions.delete_rule' | translate}}">
475
+ <em class="icon-trash"></em>
476
+ </button>
477
+ </div>
478
+ </td>
479
+ </tr>
480
+ <tr ng-if="$index === editedRuleIndex" class="acl-rule edit-rule-row" style="{{getRowHeight}}"
481
+ ng-class="{'selected table-info': $index === editedRuleIndex}">
482
+ <td class="index-cell">{{$index + 1}}</td>
483
+ <td class="reorder-cell"></td>
484
+ <td class="data policy-cell">
485
+ <select ng-model="rule.policy" ng-change="setDirty(activeTabScope)" class="form-control form-control-sm select-rule">
486
+ <option selected>allow</option>
487
+ <option>deny</option>
488
+ </select>
489
+ </td>
490
+ <td class="data role-cell">
491
+ <textarea type="text" name="role" required
492
+ ng-model="rule.role"
493
+ ng-change="setDirty(activeTabScope)"
494
+ ng-keypress="performSearchActionOnEnter($event, activeTabScope, ruleData)"
495
+ uppercased uppercase-placeholder="false"
496
+ custom-role-prefix auto-grow
497
+ autocomplete="off"
498
+ class="form-control form-control-sm textarea-edit"
499
+ placeholder="{{'acl_management.rulestable.field_placeholders.role' | translate}}">
500
+ </textarea>
501
+ <em></em>
502
+ </td>
503
+ <td class="data operation-cell">
504
+ <select ng-model="rule.operation" ng-change="setDirty(activeTabScope)" class="form-control form-control-sm select-rule">
505
+ <option selected>*</option>
506
+ <option>read</option>
507
+ <option>write</option>
508
+ </select>
509
+ </td>
510
+ <td class="data plugin-cell">
511
+ <textarea type="text" name="plugin" required
512
+ ng-model="rule.plugin"
513
+ ng-change="setDirty(activeTabScope)"
514
+ ng-keypress="performSearchActionOnEnter($event, activeTabScope, ruleData)"
515
+ auto-grow
516
+ autocomplete="off"
517
+ class="form-control form-control-sm textarea-edit"
518
+ placeholder="{{'acl_management.rulestable.field_placeholders.plugin' | translate}}">
519
+ </textarea>
520
+ <em></em>
521
+ </td>
522
+ <td class="empty-cell"></td>
523
+ <td class="actions-cell">
524
+ <div class="crud-actions-group">
525
+ <button ng-click="cancelEditing(activeTabScope, $index)"
526
+ class="btn btn-link cancel-rule-editing-btn secondary"
527
+ gdb-tooltip="{{'acl_management.rulestable.actions.cancel_rule_editing' | translate}}">
528
+ <em class="icon-close"></em>
529
+ </button>
530
+ <button ng-click="saveRule(activeTabScope)"
531
+ class="btn btn-link save-rule-btn"
532
+ ng-disabled="!ruleData.$valid"
533
+ gdb-tooltip="{{ruleData.$valid ? 'acl_management.rulestable.actions.apply_rule' : 'acl_management.rulestable.messages.invalid_form' | translate}}">
534
+ <em class="icon-check"></em>
535
+ </button>
536
+ </div>
537
+ </td>
538
+ </tr>
539
+ <tr ng-repeat-end ng-if="0"></tr>
540
+ </tbody>
541
+ </table>
542
+ </form>
543
+ </div>
544
+ <div class="table-responsive tab-pane fade in" ng-if="activeTabScope === ACL_SCOPE.SYSTEM" id="systemTab">
545
+ <form name="ruleData" novalidate ng-if="rulesModel && !loading">
546
+ <table class="acl-rules table table-striped table-hover" aria-describedby="ACL rules table">
547
+ <thead>
548
+ <tr class="labels-row">
549
+ <th scope="col" class="index-column">
550
+ {{'acl_management.rulestable.column.index' | translate}}
551
+ </th>
552
+ <th scope="col" class="reorder-column"></th>
553
+ <th scope="col" class="policy-column">
554
+ {{'acl_management.rulestable.column.policy' | translate}}
555
+ </th>
556
+ <th scope="col" class="role-column">
557
+ {{'acl_management.rulestable.column.role' | translate}}
558
+ </th>
559
+ <th scope="col" class="operation-column">
560
+ {{'acl_management.rulestable.column.operation' | translate}}
561
+ </th>
562
+ <th scope="col" class="empty-column"></th>
563
+ <th scope="col" class="actions-column"></th>
564
+ </tr>
565
+ </thead>
566
+ <tbody>
567
+ <tr ng-if="!rulesModel.size(activeTabScope)">
568
+ <td colspan="7" class="no-data">
569
+ {{'acl_management.rulestable.messages.no_data' | translate}}
570
+ </td>
571
+ </tr>
572
+ <tr ng-repeat-start="rule in rulesModel.getRulesByScope(activeTabScope) track by $index" ng-if="0"></tr>
573
+ <tr ng-if="$index !== editedRuleIndex" class="acl-rule preview-rule-row" capture-height="$index"
574
+ ng-class="{'selected': $index === selectedRule || $index === editedRuleIndex}">
575
+ <td class="index-cell">{{$index + 1}}</td>
576
+ <td class="reorder-cell">
577
+ <span ng-if="editedRuleIndex === undefined" class="reorder-actions-group">
578
+ <button ng-click="moveUp(activeTabScope, $index)" ng-if="$index > 0" class="btn btn-link move-up-btn"
579
+ gdb-tooltip="{{'acl_management.rulestable.actions.move_up' | translate}}">
580
+ <em class="fa fa-caret-up"></em>
581
+ </button>
582
+ <button ng-click="moveDown(activeTabScope, $index)" ng-if="$index < rulesModel.size(activeTabScope) - 1"
583
+ class="btn btn-link move-down-btn"
584
+ gdb-tooltip="{{'acl_management.rulestable.actions.move_down' | translate}}">
585
+ <em class="fa fa-caret-down"></em>
586
+ </button>
587
+ </span>
588
+ </td>
589
+ <td class="policy-cell data">
590
+ <span class="acl-tag" ng-class="{'acl-tag-allow': rule.policy === 'allow','acl-tag-deny': rule.policy === 'deny'}">
591
+ <em ng-class="{'icon-tick': rule.policy === 'allow','fa fa-ban': rule.policy === 'deny'}"></em>
592
+ {{rule.policy}}
593
+ </span>
594
+ </td>
595
+ <td class="role-cell data">
596
+ <span class="acl-tag" ng-class="{'acl-tag-role-negated': rule.roleWithoutCustomPrefix[0] === '!', 'acl-tag-role': rule.roleWithoutCustomPrefix[0] !== '!', 'wildcard-cell': rule.role === '*'}">
597
+ {{rule.roleWithoutCustomPrefix}}
598
+ </span>
599
+ </td>
600
+ <td class="operation-cell data">
601
+ <span class="acl-tag" ng-class="{'wildcard-cell': rule.operation === '*', 'acl-tag-read': rule.operation === 'read','acl-tag-write': rule.operation === 'write'}">
602
+ <em ng-class="{'icon-eye': rule.operation === 'read', 'icon-edit': rule.operation === 'write'}"></em>
603
+ {{rule.operation}}
604
+ </span>
605
+ </td>
606
+ <td class="empty-cell"></td>
607
+ <td class="actions-cell">
608
+ <div ng-if="editedRuleIndex === undefined" class="crud-actions-group">
609
+ <button ng-click="editRule(activeTabScope, $index)" class="btn btn-link edit-rule-btn"
610
+ gdb-tooltip="{{'acl_management.rulestable.actions.edit_rule' | translate}}">
611
+ <em class="icon-edit"></em>
612
+ </button>
613
+ <button ng-click="addRule(activeTabScope, $index + 1)" class="btn btn-link add-rule-btn"
614
+ gdb-tooltip="{{'acl_management.rulestable.actions.add_rule_next' | translate}}">
615
+ <em class="icon-plus"></em>
616
+ </button>
617
+ <button ng-click="deleteRule(activeTabScope, $index)" class="btn btn-link delete-rule-btn secondary"
618
+ gdb-tooltip="{{'acl_management.rulestable.actions.delete_rule' | translate}}">
619
+ <em class="icon-trash"></em>
620
+ </button>
621
+ </div>
622
+ </td>
623
+ </tr>
624
+ <tr ng-if="$index === editedRuleIndex" class="acl-rule edit-rule-row" style="{{getRowHeight}}"
625
+ ng-class="{'selected table-info': $index === editedRuleIndex}">
626
+ <td class="index-cell">{{$index + 1}}</td>
627
+ <td class="reorder-cell"></td>
628
+ <td class="data policy-cell">
629
+ <select ng-model="rule.policy" ng-change="setDirty(activeTabScope)" class="form-control form-control-sm select-rule">
630
+ <option selected>allow</option>
631
+ <option>deny</option>
632
+ </select>
633
+ </td>
634
+ <td class="data role-cell">
635
+ <textarea type="text" name="role" required
636
+ ng-model="rule.role"
637
+ ng-change="setDirty(activeTabScope)"
638
+ ng-keypress="performSearchActionOnEnter($event, activeTabScope, ruleData)"
639
+ uppercased uppercase-placeholder="false"
640
+ custom-role-prefix auto-grow
641
+ autocomplete="off"
642
+ class="form-control form-control-sm textarea-edit"
643
+ placeholder="{{'acl_management.rulestable.field_placeholders.role' | translate}}">
644
+ </textarea>
645
+ <em></em>
646
+ </td>
647
+ <td class="data operation-cell">
648
+ <select ng-model="rule.operation" ng-change="setDirty(activeTabScope)" class="form-control form-control-sm select-rule">
649
+ <option selected>*</option>
650
+ <option>read</option>
651
+ <option>write</option>
652
+ </select>
653
+ </td>
654
+ <td class="empty-cell"></td>
655
+ <td class="actions-cell">
656
+ <div class="crud-actions-group">
657
+ <button ng-click="cancelEditing(activeTabScope, $index)"
658
+ class="btn btn-link cancel-rule-editing-btn secondary"
659
+ gdb-tooltip="{{'acl_management.rulestable.actions.cancel_rule_editing' | translate}}">
660
+ <em class="icon-close"></em>
661
+ </button>
662
+ <button ng-click="saveRule(activeTabScope)"
663
+ class="btn btn-link save-rule-btn"
664
+ ng-disabled="!ruleData.$valid"
665
+ gdb-tooltip="{{ruleData.$valid ? 'acl_management.rulestable.actions.apply_rule' : 'acl_management.rulestable.messages.invalid_form' | translate}}">
666
+ <em class="icon-check"></em>
667
+ </button>
668
+ </div>
669
+ </td>
670
+ </tr>
671
+ <tr ng-repeat-end ng-if="0"></tr>
672
+ </tbody>
673
+ </table>
674
+ </form>
675
+ </div>
676
+ </div>
677
+ </div>
678
+ <div ng-if="isEditMode()" class="acl-actions text-right">
679
+ <span class="message">{{'acl_management.rulestable.messages.save_acl_to_apply_rules' | translate}}</span>
167
680
  <button class="btn btn-secondary cancel-acl-save-btn"
168
681
  ng-click="cancelAclSave()">
169
682
  {{'acl_management.rulestable.actions.cancel_acl_saving' | translate}}