graphdb-workbench 2.6.0-TR5 → 2.6.0-TR7

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 (336) hide show
  1. package/dist/{0.f4fcc968e70c194653cc.bundle.js → 0.57d3540baa17edfe5cb2.bundle.js} +3 -3
  2. package/dist/{1.f6b2c2ec9b9107e1c1cf.bundle.js → 1.e03c90bd5954ca9b5fa7.bundle.js} +1 -1
  3. package/dist/{10.c44204b49d3d0e5f3586.bundle.js → 10.fcb4c283ed0e3ff77b9d.bundle.js} +1 -1
  4. package/dist/{101.792180d52f193af73851.bundle.js → 101.da23dac24536f74b5815.bundle.js} +1 -1
  5. package/dist/{103.003c9437b133d7386cd7.bundle.js → 103.6edf5a9611097aac7b0e.bundle.js} +1 -1
  6. package/dist/{105.428cfae2e35622a09adf.bundle.js → 105.8e0d511b2790a2c7a1f5.bundle.js} +1 -1
  7. package/dist/{107.fa002346dc2cbf38babf.bundle.js → 107.7e47259d1a1e92cc684a.bundle.js} +1 -1
  8. package/dist/11.e99d653419379ecf1b23.bundle.js +1 -0
  9. package/dist/{115.da8f18c87690182f62c5.bundle.js → 115.47fe6316b11ce761e8d3.bundle.js} +1 -1
  10. package/dist/{118.a0d9a38b711fc3cca1d9.bundle.js → 118.ce4cb2610bcae2cec5b4.bundle.js} +1 -1
  11. package/dist/{119.3ce487d3b4dec3a1ebb8.bundle.js → 119.771db56d499dcdf1c953.bundle.js} +1 -1
  12. package/dist/{11.5146ccccd430bce59f6c.bundle.js → 12.30df13cd275e9db26d08.bundle.js} +1 -1
  13. package/dist/{120.6fdb7331e091c5302dee.bundle.js → 120.3be53a400b5e5d0b8bbf.bundle.js} +1 -1
  14. package/dist/{121.6cefbcbe44a75b392d7c.bundle.js → 121.4493eca5616735378bb8.bundle.js} +1 -1
  15. package/dist/{122.686f06c7faf8f8c98687.bundle.js → 122.d5d3e1f5e5c8f632795f.bundle.js} +1 -1
  16. package/dist/{123.090530f002326e31c8da.bundle.js → 123.2610627b06c4276727b1.bundle.js} +1 -1
  17. package/dist/{124.39af3c3807a6213df250.bundle.js → 124.66c3ddc58390694a3a98.bundle.js} +1 -1
  18. package/dist/{125.09a453ee911c61c8e54f.bundle.js → 125.48215e946747137bf6c8.bundle.js} +1 -1
  19. package/dist/{126.3901e90cabc9fb6acd34.bundle.js → 126.119b23fe77d130cd15f2.bundle.js} +1 -1
  20. package/dist/{127.14af0104bc8eae5212a2.bundle.js → 127.8e57d1e19372e120aeba.bundle.js} +1 -1
  21. package/dist/{128.e6ad312fda9b1b008710.bundle.js → 128.96d9076518cacd42230d.bundle.js} +1 -1
  22. package/dist/{129.7be822ff3836c4a96b0f.bundle.js → 129.c8071eddb4e6ac450d14.bundle.js} +1 -1
  23. package/dist/{12.82edcf128bb2f847631a.bundle.js → 13.a8f91fd9198a469d445a.bundle.js} +1 -1
  24. package/dist/{130.b250969d9d357c414621.bundle.js → 130.4ef543acc845d7dfcc8d.bundle.js} +1 -1
  25. package/dist/131.e1a244126c43896cd7fe.bundle.js +1 -1
  26. package/dist/{132.c1194125bd174cd122f5.bundle.js → 132.3666a6511534abe54b6a.bundle.js} +1 -1
  27. package/dist/{133.e61d8e31a67b49babe8b.bundle.js → 133.cb22542677a1fde54231.bundle.js} +1 -1
  28. package/dist/{134.dbea969fb0ca97de78f5.bundle.js → 134.16abd209e3e07d89821b.bundle.js} +1 -1
  29. package/dist/{136.4a6162173a6064187640.bundle.js → 136.81439d8a1b2d7dfed6c7.bundle.js} +1 -1
  30. package/dist/{137.11ff15965cf2defde320.bundle.js → 137.ae6fae38c2b6fd89a566.bundle.js} +1 -1
  31. package/dist/{138.437038b4545aa84b0aea.bundle.js → 138.07fa96b665a491f213fc.bundle.js} +1 -1
  32. package/dist/{139.5108f259eef19522531c.bundle.js → 139.dc143faed80495c85bc3.bundle.js} +1 -1
  33. package/dist/{13.6e2d206f55eeb2c58b2b.bundle.js → 14.f2d6ffd1bd5125113712.bundle.js} +1 -1
  34. package/dist/{140.9da60ef8e6d66eebce65.bundle.js → 140.94d586ec81d9e3063c4f.bundle.js} +1 -1
  35. package/dist/{141.e848b82fc32897030166.bundle.js → 141.46aad99634d1bfe2b58a.bundle.js} +1 -1
  36. package/dist/{142.de1bd90ba51a07cb0770.bundle.js → 142.d2aaa85171c7449f2f85.bundle.js} +1 -1
  37. package/dist/{143.ab39264dcb27d84ba342.bundle.js → 143.802e7b37a5e69e8637a2.bundle.js} +1 -1
  38. package/dist/{144.1af28455b7f88263d094.bundle.js → 144.5f21450a9ba89abcb82f.bundle.js} +1 -1
  39. package/dist/{145.b2532f7224ac73a6f85b.bundle.js → 145.645969658a10c86c9ef2.bundle.js} +1 -1
  40. package/dist/{146.ddf0315d40625e7703c9.bundle.js → 146.da06a567fbb2421d8782.bundle.js} +1 -1
  41. package/dist/{147.f5015fb8107bcedc73e4.bundle.js → 147.31da28c0c793b6d4b3d9.bundle.js} +1 -1
  42. package/dist/{148.1f16c54079a0f3899b42.bundle.js → 148.6d7b7e06222ad071d0b4.bundle.js} +1 -1
  43. package/dist/149.e6ef25aca0b2356c2293.bundle.js +1 -0
  44. package/dist/{14.a0e40b38196775534ffd.bundle.js → 15.b7f9dea17c384ee4f501.bundle.js} +1 -1
  45. package/dist/{151.8c2a103d571efdb20406.bundle.js → 151.6352d1c723f9c08c2285.bundle.js} +1 -1
  46. package/dist/{152.d09e661c6885d0fd4db5.bundle.js → 152.0e861d13004eb057e32e.bundle.js} +1 -1
  47. package/dist/{153.c6c46e9cd2b75b8d2b59.bundle.js → 153.14519f8335c9c7e76492.bundle.js} +1 -1
  48. package/dist/{154.cc18596e631b221ed62e.bundle.js → 154.a4116ecb8a9036e69532.bundle.js} +1 -1
  49. package/dist/{155.d0a886e8e40917de6234.bundle.js → 155.c089ba425702a417c119.bundle.js} +1 -1
  50. package/dist/156.d6f702761bee674310b6.bundle.js +1 -0
  51. package/dist/{157.ee0613dff7135c3f2098.bundle.js → 157.aec7b9612e637437b517.bundle.js} +1 -1
  52. package/dist/{158.611a0eb34ab62473c484.bundle.js → 158.91fa1ebc27afd697c27f.bundle.js} +1 -1
  53. package/dist/{159.4ea4aa35775339504073.bundle.js → 159.035a1e31b7a3335ca885.bundle.js} +1 -1
  54. package/dist/{15.b1dc81c64646f2d3d0e5.bundle.js → 16.a91d31f0b9b876015299.bundle.js} +1 -1
  55. package/dist/{160.ac108cc51d02aac2fc8b.bundle.js → 160.772b960ac85fbfa35ee0.bundle.js} +1 -1
  56. package/dist/{161.57cef4573832d1320755.bundle.js → 161.7f9a2c46e4ceed3c1a1b.bundle.js} +1 -1
  57. package/dist/{164.9558c0ca0de60ee7b9b4.bundle.js → 164.746d5d3920914c734dad.bundle.js} +1 -1
  58. package/dist/{165.aca5b7165c2ed73cae5d.bundle.js → 165.27a6180d0f3d34f041ed.bundle.js} +1 -1
  59. package/dist/168.3e88b975a713f94e7d39.bundle.js +1 -0
  60. package/dist/17.f3951ee36cae3c2e59e2.bundle.js +3 -0
  61. package/dist/{170.12042b2adf9f1405e460.bundle.js → 170.4e527165141131f3fab5.bundle.js} +1 -1
  62. package/dist/{171.e0ac10b7480bb9441700.bundle.js → 171.dddfca13266402e1f383.bundle.js} +1 -1
  63. package/dist/{172.5c6bee523c00fb4daa15.bundle.js → 172.d614a13d7ddf1f24b035.bundle.js} +1 -1
  64. package/dist/{173.a83f9c43ab4bf61f4104.bundle.js → 173.17b872eb64767f4f0546.bundle.js} +1 -1
  65. package/dist/{174.480211e695062ce4252a.bundle.js → 174.bc53719a59976016e31e.bundle.js} +1 -1
  66. package/dist/{175.fff30d778760f6897bd4.bundle.js → 175.3b63253263f318574534.bundle.js} +1 -1
  67. package/dist/{176.ee5e5015df6aca9959a2.bundle.js → 176.3af968314539e2a18e7f.bundle.js} +1 -1
  68. package/dist/{177.cc5029975a445e4bfccc.bundle.js → 177.4b17d0269a1519575339.bundle.js} +1 -1
  69. package/dist/{178.edb53b573f3a6cd33493.bundle.js → 178.64d599a0c6df637717b4.bundle.js} +1 -1
  70. package/dist/18.ae49723fee4c6316d3a0.bundle.js +1 -0
  71. package/dist/180.93416941c0938f77058c.bundle.js +1 -0
  72. package/dist/{182.106ae65b17a3e9754926.bundle.js → 182.041784b0022a77256855.bundle.js} +1 -1
  73. package/dist/{183.01ecc1a7ce7eb7d9b974.bundle.js → 183.f5c5d51fb22c498fa505.bundle.js} +1 -1
  74. package/dist/{184.057f022b4011d7bed020.bundle.js → 184.e3f45487fb25f163475a.bundle.js} +1 -1
  75. package/dist/{185.466c659ef1965f2ef701.bundle.js → 185.4b8b11cf31d7fb573d19.bundle.js} +1 -1
  76. package/dist/{186.c04f46662785291b7e9d.bundle.js → 186.f75fd6491a001c966970.bundle.js} +1 -1
  77. package/dist/188.a2cfced84824c4dfe8a5.bundle.js +1 -0
  78. package/dist/{189.f1e5fc9741169924ff29.bundle.js → 189.8e5e3adedd441defe4c4.bundle.js} +1 -1
  79. package/dist/{18.e722865b04b652f8970e.bundle.js → 19.ecd29d95e3cb58e1be47.bundle.js} +1 -1
  80. package/dist/{190.dfaeddbcad8c0e001254.bundle.js → 190.66e3bdaa04b4decf2ba3.bundle.js} +1 -1
  81. package/dist/{191.f50da30e33eecd26c8b9.bundle.js → 191.9ef6c0f16573bdd9518d.bundle.js} +1 -1
  82. package/dist/{192.84ffbff6ec5459732bb2.bundle.js → 192.9ad3f67bf0b4fb24ddcf.bundle.js} +1 -1
  83. package/dist/193.536e27e756a0f3c43b78.bundle.js +1 -0
  84. package/dist/{196.94943b5752bc4046c421.bundle.js → 196.6d5d8cd75bca1a0b3dc7.bundle.js} +1 -1
  85. package/dist/{197.737429b676dad791bb61.bundle.js → 197.8ca96ca487a40fa840d8.bundle.js} +1 -1
  86. package/dist/{198.273667e3b4848f03aec4.bundle.js → 198.55aaef214f973f2fd765.bundle.js} +1 -1
  87. package/dist/{199.e42b2b8708b639977b6c.bundle.js → 199.78325ea1b608d918bace.bundle.js} +1 -1
  88. package/dist/{2.310db1ae6931f2dd9ca9.bundle.js → 2.3e6f434d5cdba922bb1d.bundle.js} +1 -1
  89. package/dist/{19.5d08deab5184853b6393.bundle.js → 20.5ca7e302158bd768359d.bundle.js} +1 -1
  90. package/dist/{200.5ccd58bcb786a3aa9db2.bundle.js → 200.3dd11bd82a04bd69210c.bundle.js} +1 -1
  91. package/dist/{202.5ddd817463478c082d5c.bundle.js → 202.68366d4b80b30a01bb64.bundle.js} +1 -1
  92. package/dist/{203.a253bb77cfbd200a8fe9.bundle.js → 203.32b1161ee403ee6a7a87.bundle.js} +1 -1
  93. package/dist/{205.a532ef8c828e60d01b4f.bundle.js → 205.32d53c454812ece54ad3.bundle.js} +1 -1
  94. package/dist/{206.831f119ddfcba90a2889.bundle.js → 206.b7693b489aab517013c0.bundle.js} +1 -1
  95. package/dist/{207.ca65da083199b31cc195.bundle.js → 207.90cd07e725f11e2955a9.bundle.js} +1 -1
  96. package/dist/{208.2163acbbc8b0aeb6584c.bundle.js → 208.c859bf3d849bb6a23309.bundle.js} +1 -1
  97. package/dist/{209.c8eecb8324f765952544.bundle.js → 209.71ae9f27360cea1fea35.bundle.js} +1 -1
  98. package/dist/{20.bde731dcca7f342acf68.bundle.js → 21.d5df29d93e8f06b119cd.bundle.js} +1 -1
  99. package/dist/210.ac3c6377ae376bb1af4b.bundle.js +1 -0
  100. package/dist/{210.a8c1addc746d89d73633.bundle.js → 211.0ec643f55b948a8f9f48.bundle.js} +1 -1
  101. package/dist/{211.e0f2b605b6a81a203458.bundle.js → 212.a4b953e7f5eb25d75fe7.bundle.js} +1 -1
  102. package/dist/{212.4da326611e6002c9c2a8.bundle.js → 213.a4bb72951f7027af40e7.bundle.js} +1 -1
  103. package/dist/{213.a8268f1f61b2176b92dd.bundle.js → 214.57cf0895f70c7c940ce5.bundle.js} +1 -1
  104. package/dist/{214.c1c2efc93995762c1ac4.bundle.js → 215.2715de57bc29ae12760a.bundle.js} +1 -1
  105. package/dist/{215.905b128ab98bd4521912.bundle.js → 216.481eecbf6ba93bcaf9cd.bundle.js} +1 -1
  106. package/dist/{216.c41fd749d42b7d65bc25.bundle.js → 217.38ab6d3450c36fe8104f.bundle.js} +1 -1
  107. package/dist/{217.27b22447a7ed0d57ca03.bundle.js → 218.060db62650e72ac409e6.bundle.js} +1 -1
  108. package/dist/{218.21b1a098906ba4f59b5b.bundle.js → 219.da0d3aa938ac7abd5fc4.bundle.js} +1 -1
  109. package/dist/{21.91e6246249804a16215b.bundle.js → 22.558319f1b7a334b4c6f7.bundle.js} +1 -1
  110. package/dist/{219.2fba636ee2c24dd370ab.bundle.js → 220.975a8d3d5bb4c9f98f03.bundle.js} +1 -1
  111. package/dist/{220.3e404fd2c0de6c12bc80.bundle.js → 221.db6ab18cac0e062988f2.bundle.js} +1 -1
  112. package/dist/{221.9a2787a1505b5188c589.bundle.js → 222.5ec7607217a3cb97b293.bundle.js} +1 -1
  113. package/dist/{222.b7946f33a448df025b38.bundle.js → 223.8518540ce17b71ee7d00.bundle.js} +1 -1
  114. package/dist/{223.50d9c9fd933c0ae8344a.bundle.js → 224.acc9afbc9e926356519a.bundle.js} +1 -1
  115. package/dist/{224.3cf5b67228a1bf323e7d.bundle.js → 225.ba9860341f9eba2c1f2d.bundle.js} +1 -1
  116. package/dist/226.0a305eb2e34c9d3fb3ce.bundle.js +1 -0
  117. package/dist/{226.a45e4111fc7719b70b30.bundle.js → 227.357506866df2e0ba1ae1.bundle.js} +1 -1
  118. package/dist/{227.0063ac22b03735d1c484.bundle.js → 228.21cb62126a898299b993.bundle.js} +1 -1
  119. package/dist/{228.34ff792425e1a94ef795.bundle.js → 229.227a956358ad27627e2c.bundle.js} +1 -1
  120. package/dist/{22.79d64e6a0014276afd25.bundle.js → 23.a73e0d554b13e8be6192.bundle.js} +1 -1
  121. package/dist/{229.2aaf7153eca94f924987.bundle.js → 230.215c4242d4a205df5b8e.bundle.js} +1 -1
  122. package/dist/{230.c167a3b5afe258c7eb5e.bundle.js → 231.fd7222ca89363294fe39.bundle.js} +1 -1
  123. package/dist/{231.d3e9131e097aff86d2c9.bundle.js → 232.a82bb60245703594146d.bundle.js} +1 -1
  124. package/dist/{232.1ff1ca7ec8d4e71c1e08.bundle.js → 233.04f3ef286087750260da.bundle.js} +1 -1
  125. package/dist/{233.9f0b45e9146094bf0ab5.bundle.js → 234.de1618094d091408fd6d.bundle.js} +1 -1
  126. package/dist/{234.1b006e1eccfae8deab58.bundle.js → 235.da3fa81ece977040e9ae.bundle.js} +1 -1
  127. package/dist/{235.874f99ec48b6fe3b0f42.bundle.js → 236.ec2ada8b5f2aec3204f5.bundle.js} +1 -1
  128. package/dist/{23.881396b18163b2bace23.bundle.js → 24.fb8fb91e17bebea57530.bundle.js} +1 -1
  129. package/dist/242.b5be51c553871ce3d83a.bundle.js +1 -0
  130. package/dist/{242.a2c83a62b7a9a948f580.bundle.js → 243.c56f69b8c7dd3a2be144.bundle.js} +1 -1
  131. package/dist/{243.ec935aaa1d2063278891.bundle.js → 244.d46b9193359e7de1daa3.bundle.js} +1 -1
  132. package/dist/{244.446031ee20e130f86bdd.bundle.js → 245.1ce3b6cc293a8c72b187.bundle.js} +1 -1
  133. package/dist/{245.7dca16b924adf8ecc6e5.bundle.js → 246.0cb817418790a596b441.bundle.js} +1 -1
  134. package/dist/{246.7238e0b73dbe1767f837.bundle.js → 247.71aeac059bcf9ed9b392.bundle.js} +1 -1
  135. package/dist/{247.f5076eb305cd4b4cf6a7.bundle.js → 248.94d8fea9b5ce15519623.bundle.js} +1 -1
  136. package/dist/{248.07fb03d85bc1cf09b1a4.bundle.js → 249.234cb407b6a647179cf2.bundle.js} +1 -1
  137. package/dist/{24.8822d2f08e25debdbcb9.bundle.js → 25.05618f7474a6e6d47ff2.bundle.js} +1 -1
  138. package/dist/{249.b6fcc2e80214b5180f67.bundle.js → 250.3ed03b7e55905888d992.bundle.js} +1 -1
  139. package/dist/{250.faaa5a64dc5e3e7b00e5.bundle.js → 251.efa949bd1ee44f4290ed.bundle.js} +1 -1
  140. package/dist/{251.87de84f5fdfd44c3d712.bundle.js → 252.5705d631c738e4d8e996.bundle.js} +1 -1
  141. package/dist/{252.c66fa9fc27496d3c2e62.bundle.js → 253.8752156b82db62eb4c92.bundle.js} +1 -1
  142. package/dist/{253.6181fab7ab394e2e743d.bundle.js → 254.986c95170a74cc76c5e5.bundle.js} +1 -1
  143. package/dist/{254.c84a792f00f4f70d6a46.bundle.js → 255.53ff457cdf06dc0de427.bundle.js} +1 -1
  144. package/dist/{255.74a4ae639e810e966f5f.bundle.js → 256.52e7acbbd3e7dde0df9f.bundle.js} +1 -1
  145. package/dist/257.1e51f84ae10ed1a8a23b.bundle.js +1 -0
  146. package/dist/{257.980dfb6a5918c59d6843.bundle.js → 258.db5554df6956ecfc7dec.bundle.js} +1 -1
  147. package/dist/{258.85cde4a85e59a91bc352.bundle.js → 259.2c88332b7f1b47935a47.bundle.js} +1 -1
  148. package/dist/{26.3da9878b094246494c5b.bundle.js → 26.4eeeb7afd51795af82d7.bundle.js} +1 -1
  149. package/dist/{259.104ce74ccc4acedd59e5.bundle.js → 260.d745422c537bdd9647bb.bundle.js} +1 -1
  150. package/dist/{260.64ddace970cd15fdad89.bundle.js → 261.7efff7f93f61f061f5ca.bundle.js} +1 -1
  151. package/dist/{261.4b8826aef8a67147f467.bundle.js → 262.3b9c687ab8c9b9282f5a.bundle.js} +1 -1
  152. package/dist/{262.6846a329ca45635aff03.bundle.js → 263.9c4ce329ffd095c5d1c6.bundle.js} +1 -1
  153. package/dist/{263.aa71db45a937bec12dd1.bundle.js → 264.0504ff98a1b50e9d2486.bundle.js} +1 -1
  154. package/dist/{264.74ff7008b3abc7720137.bundle.js → 265.a0af2676b1495c6231cc.bundle.js} +1 -1
  155. package/dist/{265.d1fcbddde417a81ca759.bundle.js → 266.31dcc9c203106832e08a.bundle.js} +1 -1
  156. package/dist/{266.e32d646f15dd0455c846.bundle.js → 267.3befe4deb9b75cd5d7ba.bundle.js} +1 -1
  157. package/dist/{267.db73af117a111b6283e4.bundle.js → 268.c7dc883261346f81be82.bundle.js} +1 -1
  158. package/dist/{268.852c72475991fcadac76.bundle.js → 269.aec62cb6b5fa398be182.bundle.js} +1 -1
  159. package/dist/{27.e3692a89fec5d18ac0a6.bundle.js → 27.e6c49ef111cabef46fd7.bundle.js} +1 -1
  160. package/dist/{269.601d4fc4300f4553d75c.bundle.js → 270.ac5c5d3247ad275e7009.bundle.js} +1 -1
  161. package/dist/{270.e9d338a5cf954fbc1f4c.bundle.js → 271.9a3928b874295c3742c9.bundle.js} +1 -1
  162. package/dist/{271.a88eeff63bbc87791af0.bundle.js → 272.1a054f1ad3341ea6a8bf.bundle.js} +1 -1
  163. package/dist/{272.ddacc590a66bdb0fa651.bundle.js → 273.a76e42437fb947cf800e.bundle.js} +1 -1
  164. package/dist/{273.d45db281162abbe864ae.bundle.js → 274.5c68c6d7373825aa4e86.bundle.js} +1 -1
  165. package/dist/{274.eca3da80ab4f0b4a3263.bundle.js → 275.e2dcae6396e8a69cfda6.bundle.js} +1 -1
  166. package/dist/{275.509ea766eda3bbcf1562.bundle.js → 276.7f9b39624632a68a5285.bundle.js} +1 -1
  167. package/dist/{276.f816f19aaa4522373a5f.bundle.js → 277.bfe0617252621ed4c42e.bundle.js} +1 -1
  168. package/dist/{277.6c6b5259fa26936adf41.bundle.js → 278.93d21415de115ff1f4ea.bundle.js} +1 -1
  169. package/dist/{278.bfc453e4fdb94806e6fc.bundle.js → 279.eae641def34a167d2281.bundle.js} +1 -1
  170. package/dist/{28.a1c16479ecde2830abc2.bundle.js → 28.9b2e80653eb69e4525ef.bundle.js} +1 -1
  171. package/dist/{279.660894fdbf2f0c17649a.bundle.js → 280.1df4667ec8bdeb6dfaea.bundle.js} +1 -1
  172. package/dist/{280.95394d461866b83c32b7.bundle.js → 281.53c031371f2bb364c04d.bundle.js} +1 -1
  173. package/dist/{281.fcaf9deb44f93c85ef68.bundle.js → 282.fe20f54cb2cbcce66407.bundle.js} +1 -1
  174. package/dist/{282.bede8a18d3e678b7895d.bundle.js → 283.207dc2ee5d4f42eb8843.bundle.js} +1 -1
  175. package/dist/{283.bf3ea5f6f6b8406e5401.bundle.js → 284.3f82d52f39f429a80a3d.bundle.js} +1 -1
  176. package/dist/{284.3f34606cfbcefb0a1a47.bundle.js → 285.001918dbfd9d06b076f5.bundle.js} +1 -1
  177. package/dist/{285.4e95ca9e283ddd26fcbf.bundle.js → 286.a942f86c8f772d2c5a97.bundle.js} +1 -1
  178. package/dist/{286.8c8f50e9844881f0b028.bundle.js → 287.494a03de1929e1d105ab.bundle.js} +1 -1
  179. package/dist/{287.23b580771ee0d5e65d41.bundle.js → 288.b2b166b7f54396a82703.bundle.js} +1 -1
  180. package/dist/{288.6cef162ec3cec3cde603.bundle.js → 289.7afbd014836c2b589df6.bundle.js} +1 -1
  181. package/dist/{29.6ed635488e6d980eb5bd.bundle.js → 29.a3413b59c038000244e5.bundle.js} +1 -1
  182. package/dist/{289.c47fa5cd7d5468dce45f.bundle.js → 290.8f09c520973805dc0b75.bundle.js} +1 -1
  183. package/dist/{290.b9baf8eed99b4447f086.bundle.js → 291.f74df165a765971f45f8.bundle.js} +1 -1
  184. package/dist/{291.1e7bf6b667f7698ac645.bundle.js → 292.c98a310d9505c88dbb03.bundle.js} +1 -1
  185. package/dist/{292.44bcf6642bd3fac703b4.bundle.js → 293.5927b1ccc8652a69f9f6.bundle.js} +1 -1
  186. package/dist/{293.184eb39d3229ef066269.bundle.js → 294.fa4adea2ba4209ed2948.bundle.js} +1 -1
  187. package/dist/{294.338c276decc123976f73.bundle.js → 295.101fa72149ab787e61be.bundle.js} +1 -1
  188. package/dist/{295.72eea8b2cf594acd85e6.bundle.js → 296.f771364da8206ec2bf47.bundle.js} +1 -1
  189. package/dist/{296.8f11a500bce671ed75db.bundle.js → 297.3860f145d5e36bd73827.bundle.js} +1 -1
  190. package/dist/{297.71b96380e1103cd792d9.bundle.js → 298.008ebf3a3821b3d63665.bundle.js} +1 -1
  191. package/dist/{298.39626a266f47903126bf.bundle.js → 299.ed41fda2bf4ed838a124.bundle.js} +1 -1
  192. package/dist/3.5b3776ce9f03e23885e4.bundle.js +1 -0
  193. package/dist/{30.44bca7542972f6b3dfdd.bundle.js → 30.b0601d9b2eb0378f357b.bundle.js} +1 -1
  194. package/dist/300.7182234269fde947567e.bundle.js +1 -0
  195. package/dist/301.2ec6cf72222278c83955.bundle.js +1 -0
  196. package/dist/{301.89817b62d8abddeb9ef6.bundle.js → 302.10346bda237ba9c799b7.bundle.js} +1 -1
  197. package/dist/{302.6e5d856b3a6452aad285.bundle.js → 303.859738ec0caf12df13cf.bundle.js} +1 -1
  198. package/dist/{303.cb8ce83eaeec1d60a91b.bundle.js → 304.cc77ddd04449a3441850.bundle.js} +1 -1
  199. package/dist/{304.44f9d85a298e4d2a96e4.bundle.js → 305.c75df156c0f68e0459c2.bundle.js} +1 -1
  200. package/dist/{31.3504d725fc47ccc4cf6e.bundle.js → 31.00357926a3dd506cfed4.bundle.js} +1 -1
  201. package/dist/{32.6e68fcd12b812d7ef110.bundle.js → 32.2dff690bb00caa029abd.bundle.js} +1 -1
  202. package/dist/{33.cfaee10812c318550e5f.bundle.js → 33.37ed81796994b7ed62c4.bundle.js} +1 -1
  203. package/dist/{35.1f0610f3ef68f5ae748b.bundle.js → 34.abf8789b45b8ea96ff18.bundle.js} +1 -1
  204. package/dist/{36.c95366030f375feebf58.bundle.js → 35.e25cce53f1c1db91b953.bundle.js} +2 -2
  205. package/dist/{37.8a72c5b02d9a8cea525d.bundle.js → 36.2c564976b0b096602ab8.bundle.js} +2 -2
  206. package/dist/{38.5e99f867ad78b753a9e3.bundle.js → 37.675f0007659d6dccbfb7.bundle.js} +1 -1
  207. package/dist/{39.de152b4cdf4a5c1b683e.bundle.js → 38.f34422a7ebc7fbd1a3d9.bundle.js} +1 -1
  208. package/dist/{40.eaffca0cb0ff48bcf1ad.bundle.js → 39.013faadc982d2e0d9336.bundle.js} +1 -1
  209. package/dist/{4.a9b9addabe299682e2db.bundle.js → 4.3ae49ec335f1df4b4021.bundle.js} +1 -1
  210. package/dist/{41.0f70e747c0ce2adeb892.bundle.js → 40.cef0c3d8ef5a88d4a6e8.bundle.js} +1 -1
  211. package/dist/{42.986eb41ddf5b20b3ed65.bundle.js → 41.69bf4dc04f2a78673ece.bundle.js} +1 -1
  212. package/dist/{44.4a453fec8635582957db.bundle.js → 42.cff7a32967655ea47a5d.bundle.js} +1 -1
  213. package/dist/{45.f882f7b2d642822a695b.bundle.js → 43.9d5fccb177630687a006.bundle.js} +1 -1
  214. package/dist/{46.b4c2ced99d40a6a0d7e8.bundle.js → 44.4557be8e879e9d9424d6.bundle.js} +1 -1
  215. package/dist/{47.c819440ce48f81103d6c.bundle.js → 45.ee8f8aae55544a60ac71.bundle.js} +1 -1
  216. package/dist/{48.787a854334d6be613e52.bundle.js → 46.65eadbfe8c59dc269d41.bundle.js} +1 -1
  217. package/dist/{49.b5e30b8eeb90887f40d9.bundle.js → 47.f9a994c85d53f6b9eb98.bundle.js} +1 -1
  218. package/dist/{50.a84c8678d3fb99d367a3.bundle.js → 48.736ef0fb5be450f7f88f.bundle.js} +1 -1
  219. package/dist/{51.9bf2eb5e9aee6e47dce8.bundle.js → 49.f7cdf694fb74c8356472.bundle.js} +1 -1
  220. package/dist/{5.6351f521493c43c63050.bundle.js → 5.dd3cfaf9a2a1592206f5.bundle.js} +1 -1
  221. package/dist/50.6f8fd26290d2e6983c3d.bundle.js +1 -0
  222. package/dist/51.36a5ca508d953a43df6d.bundle.js +1 -0
  223. package/dist/{53.65db41e3f5de23e93470.bundle.js → 52.0c98d51c1112e976cf19.bundle.js} +1 -1
  224. package/dist/{54.190cde911c86f6098c03.bundle.js → 53.4b5fe6ce05e0c783fe29.bundle.js} +1 -1
  225. package/dist/{55.a4e639a3cf8d6394f583.bundle.js → 54.aa3428ee30dd14e05d9f.bundle.js} +1 -1
  226. package/dist/{56.8b8304c9e1677c0609b4.bundle.js → 55.efa5ad31d67af2c744b2.bundle.js} +1 -1
  227. package/dist/{57.46d51e1b205cd2b954db.bundle.js → 56.ac94dd0ea4db2a581c35.bundle.js} +1 -1
  228. package/dist/{58.d93cd0394b7c824b6218.bundle.js → 57.9233b17159cc3c6945ef.bundle.js} +1 -1
  229. package/dist/{59.7d77aa2784e7e022be18.bundle.js → 58.8806cb9a47b2fc28bdfc.bundle.js} +1 -1
  230. package/dist/{60.616e268194e9d3ff78c9.bundle.js → 59.eb1a39fa936028cf3d6d.bundle.js} +1 -1
  231. package/dist/{6.26579c12647d6c6b883d.bundle.js → 6.9557b6506bf958c26a2a.bundle.js} +1 -1
  232. package/dist/{61.281713dbeef828f61ef4.bundle.js → 60.461c92385bbfc8190b68.bundle.js} +1 -1
  233. package/dist/61.f9061b24728ef92e2702.bundle.js +1 -0
  234. package/dist/{63.caedd750b8d925b3884f.bundle.js → 62.41d2c2ef3b10e249cc3d.bundle.js} +1 -1
  235. package/dist/{64.ce5e1880737a9009f455.bundle.js → 63.79ceab2871c4bf87e565.bundle.js} +1 -1
  236. package/dist/{65.f363b96aab81a9afcfeb.bundle.js → 64.e25269fafd7b80074f79.bundle.js} +1 -1
  237. package/dist/{66.886e9c833ac2a4285117.bundle.js → 65.274e72f7a969f86decfd.bundle.js} +1 -1
  238. package/dist/{67.58413e18a18b6c3491ab.bundle.js → 66.67b3d47091fe6530aa39.bundle.js} +1 -1
  239. package/dist/{68.e2c1f170e503742db62d.bundle.js → 67.e0f4b94ebc82fee55aca.bundle.js} +1 -1
  240. package/dist/{69.1cc712a030ba159a8eee.bundle.js → 68.1c621dfd5257b2c18e11.bundle.js} +1 -1
  241. package/dist/{70.fd6ce48c065f6d6ca1be.bundle.js → 69.1276f759153f8028a437.bundle.js} +1 -1
  242. package/dist/{7.c4d894cfc6de46836cf2.bundle.js → 7.215fb90676ad005678a5.bundle.js} +1 -1
  243. package/dist/{71.22d29a2c3b45cdb8db6b.bundle.js → 70.4d4e64191987cf37cdfa.bundle.js} +1 -1
  244. package/dist/{72.f37e9b32bb1b5bc8da00.bundle.js → 71.ba412850727546ca9e65.bundle.js} +1 -1
  245. package/dist/{73.3c5a92fc7f7b65c30f29.bundle.js → 72.38694f9e5cf82efcec93.bundle.js} +1 -1
  246. package/dist/{74.01483a71e6ea9d85d941.bundle.js → 73.6a1697ff88885fd26dc9.bundle.js} +1 -1
  247. package/dist/{75.02da7236184e532734be.bundle.js → 74.6fde68e288d8e4277ed6.bundle.js} +1 -1
  248. package/dist/{76.26c421b64edeff532469.bundle.js → 75.497bd1a7aea851d96296.bundle.js} +1 -1
  249. package/dist/{77.5e450bd5dac17c557330.bundle.js → 76.5e2b21f991515d0d19bf.bundle.js} +1 -1
  250. package/dist/{78.f1ee305cd48796bf2327.bundle.js → 77.90e14a1db3003d600a7f.bundle.js} +1 -1
  251. package/dist/{79.a659bc05ef4f5e52bc74.bundle.js → 78.4bbce98263e92664ab76.bundle.js} +1 -1
  252. package/dist/{80.ba4905a823602418c6e3.bundle.js → 79.57f1baf03c17fa5d4ecf.bundle.js} +1 -1
  253. package/dist/{8.93f30613ef312254f466.bundle.js → 8.31311bef7b4e3d07b172.bundle.js} +2 -2
  254. package/dist/{81.79228ba2adb69c088d21.bundle.js → 80.73b9a4e922936baa0574.bundle.js} +1 -1
  255. package/dist/{82.8fbc894bbfa93a7b6c1c.bundle.js → 81.22b0aca7b4f9137a0882.bundle.js} +1 -1
  256. package/dist/{83.ca9f674cbf261e5f4ce3.bundle.js → 82.4e90f4fa2c1642a82980.bundle.js} +1 -1
  257. package/dist/{84.88096c1b72d7ca7bdc19.bundle.js → 83.3dbe889b4ba264a9d674.bundle.js} +1 -1
  258. package/dist/84.833096ee7ee9d0b926e2.bundle.js +1 -0
  259. package/dist/85.172aa928154b446a004e.bundle.js +1 -0
  260. package/dist/{86.b7b440c2cec1ac557ea5.bundle.js → 86.b6a6584bb48c2eba7793.bundle.js} +1 -1
  261. package/dist/{87.83e65e9bd76636e8fcad.bundle.js → 87.66c82919414d84bf1c91.bundle.js} +1 -1
  262. package/dist/{89.f42b3f3e6f247ac33ff4.bundle.js → 89.08dc723465581d17e18c.bundle.js} +1 -1
  263. package/dist/{9.650b41093cbc97c6006b.bundle.js → 9.bb8dc22bb967a40f67fe.bundle.js} +2 -2
  264. package/dist/{91.6d80239d631b9b2bd70a.bundle.js → 91.743cdf86c0680be894c9.bundle.js} +1 -1
  265. package/dist/{95.ccbed2fd78413d54aeb7.bundle.js → 95.522b5e309c1f6989ec42.bundle.js} +1 -1
  266. package/dist/{96.9023753a94677af0e080.bundle.js → 96.b8ea5582fc702c107cfd.bundle.js} +1 -1
  267. package/dist/{97.2489e66d7b5b0391668a.bundle.js → 97.f221163ec5e99caa0668.bundle.js} +1 -1
  268. package/dist/{99.fd4dc8155c4218dd9bcc.bundle.js → 99.c4df74a95a465a7bc7e6.bundle.js} +1 -1
  269. package/dist/{bundle.30b37ffb9d522622d0bc.bundle.js → bundle.e8a8019cba24aec4c600.bundle.js} +12 -12
  270. package/dist/css/aclmanagement.css +123 -9
  271. package/dist/css/autocomplete-select.css +4 -0
  272. package/dist/css/lib/ontotext-yasgui-web-component.css +30 -15
  273. package/dist/i18n/locale-en.json +14 -4
  274. package/dist/i18n/locale-fr.json +14 -4
  275. package/dist/index.html +3 -3
  276. package/dist/js/angular/core/directives/autocomplete/templates/autocomplete.html +17 -4
  277. package/dist/js/angular/core/directives/operations-statuses-monitor/templates/operations-statuses-monitor.html +1 -1
  278. package/dist/js/angular/core/directives/rdfresourcesearch/templates/rdfResourceSearchTemplate.html +1 -1
  279. package/dist/js/angular/core/directives/yasgui-component/templates/yasgui-component.html +1 -1
  280. package/dist/js/angular/security/templates/user.html +1 -1
  281. package/dist/license-checker.json +4 -4
  282. package/dist/{main.8a31457c9bdc47873cdb.bundle.js → main.d3e9ca1041e746ba3275.bundle.js} +1 -1
  283. package/dist/pages/aclmanagement.html +637 -152
  284. package/dist/pages/autocomplete.html +1 -1
  285. package/dist/pages/choose-repository-type.html +1 -1
  286. package/dist/pages/cluster-management/clusterInfo.html +3 -3
  287. package/dist/pages/create-index.html +1 -1
  288. package/dist/pages/dependencies.html +1 -1
  289. package/dist/pages/domainRangeInfo.html +2 -2
  290. package/dist/pages/edit.html +1 -1
  291. package/dist/pages/explore.html +1 -1
  292. package/dist/pages/export.html +1 -1
  293. package/dist/pages/find.html +1 -1
  294. package/dist/pages/graph-config/saveGraphConfig.html +8 -8
  295. package/dist/pages/graphs-visualizations.html +7 -7
  296. package/dist/pages/guides.html +1 -1
  297. package/dist/pages/import.html +1 -1
  298. package/dist/pages/jdbc-create.html +1 -1
  299. package/dist/pages/monitor/backup-and-restore.html +1 -1
  300. package/dist/pages/monitor/queries.html +1 -1
  301. package/dist/pages/monitor/resources.html +1 -1
  302. package/dist/pages/namespaces.html +2 -2
  303. package/dist/pages/plugins.html +1 -1
  304. package/dist/pages/rdfClassHierarchyInfo.html +7 -7
  305. package/dist/pages/rdfrank.html +2 -2
  306. package/dist/pages/repositories.html +1 -1
  307. package/dist/pages/repository.html +5 -2
  308. package/dist/pages/similarity-indexes.html +1 -1
  309. package/dist/pages/sparql-editor.html +1 -1
  310. package/dist/pages/sparql-template-create.html +1 -1
  311. package/dist/pages/webapi.html +2 -2
  312. package/dist/{polyfills-dom.3d9430ad652b8849d9c8.bundle.js → polyfills-dom.c264909e933fbc136d2e.bundle.js} +1 -1
  313. package/dist/res/swagger/index.html +27 -27
  314. package/dist/{vendor.b99c14aacda51a87af4d.bundle.js → vendor.32f2a17d79d66db88bba.bundle.js} +4 -4
  315. package/dist/{vendors~polyfills-core-js.b69971238bbfb20c3ced.bundle.js → vendors~polyfills-core-js.4c9bf30520de19c215c1.bundle.js} +1 -1
  316. package/package.json +2 -2
  317. package/dist/149.749f040e637533f1c56e.bundle.js +0 -1
  318. package/dist/156.822ac06fd98b7d14e225.bundle.js +0 -1
  319. package/dist/16.69f4c076536929ddfa4d.bundle.js +0 -3
  320. package/dist/168.0bdbe3c5b2a7c91f2ecc.bundle.js +0 -1
  321. package/dist/17.42cec21515e92c5da3a7.bundle.js +0 -1
  322. package/dist/180.211540b35144d1f99967.bundle.js +0 -1
  323. package/dist/188.9a863f8952509f7da785.bundle.js +0 -1
  324. package/dist/193.dff62fca1dd97dcfc260.bundle.js +0 -1
  325. package/dist/225.481f1e3baa059ba308c9.bundle.js +0 -1
  326. package/dist/241.eb2cb8e56ba2e0ee054e.bundle.js +0 -1
  327. package/dist/25.e4d9b6b6aca698dc1ab3.bundle.js +0 -1
  328. package/dist/256.50bc8b11522ae3f34c5f.bundle.js +0 -1
  329. package/dist/299.d3636e77b768f4300e8c.bundle.js +0 -1
  330. package/dist/3.e9d89e89ed8f5a79c176.bundle.js +0 -1
  331. package/dist/300.c9844b95b03ac7295e4f.bundle.js +0 -1
  332. package/dist/34.a049f74a31933696d9b8.bundle.js +0 -1
  333. package/dist/43.c1c0a4a418b5aeb23cfb.bundle.js +0 -1
  334. package/dist/52.830826c2b3751ebc8c42.bundle.js +0 -1
  335. package/dist/62.a8e3e16457644c59557f.bundle.js +0 -1
  336. package/dist/85.20c3ba417d087bfb99ad.bundle.js +0 -1
@@ -1,4 +1,5 @@
1
- <link href="css/aclmanagement.css?v=2.6.0-TR5" rel="stylesheet"/>
1
+ <link href="css/aclmanagement.css?v=2.6.0-TR7" rel="stylesheet"/>
2
+ <link href="css/autocomplete-select.css?v=2.6.0-TR7" rel="stylesheet"/>
2
3
 
3
4
  <div class="acl-management-view">
4
5
  <h1 id="acl-management-view-title">
@@ -12,158 +13,642 @@
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' | translate}}">
22
+ <em class="icon-plus"></em> Create rule
23
+ </button>
24
+ </div>
25
+ <ul class="nav nav-tabs acl-tabs">
26
+ <li class="resource-tab nav-item">
27
+ <span class="nav-link" ng-click="switchTab(ACL_SCOPE.STATEMENT)" ng-class="activeTabScope === ACL_SCOPE.STATEMENT ? 'active':''">{{'acl_management.rulestable.tab.statement' | translate}} <span class="dirty-scope" ng-if="dirtyScope.has(ACL_SCOPE.STATEMENT)">*</span></span>
28
+ </li>
29
+ <li class="performance-tab nav-item">
30
+ <span class="nav-link" ng-click="switchTab(ACL_SCOPE.CLEAR_GRAPH)" ng-class="activeTabScope === ACL_SCOPE.CLEAR_GRAPH ? 'active':''">{{'acl_management.rulestable.tab.clear_graph' | translate}} <span class="dirty-scope" ng-if="dirtyScope.has(ACL_SCOPE.CLEAR_GRAPH)">*</span></span>
31
+ </li>
32
+ <li class="cluster-tab nav-item">
33
+ <span class="nav-link" ng-click="switchTab(ACL_SCOPE.PLUGIN)" ng-class="activeTabScope === ACL_SCOPE.PLUGIN ? 'active':''">{{'acl_management.rulestable.tab.plugin' | translate}} <span class="dirty-scope" ng-if="dirtyScope.has(ACL_SCOPE.PLUGIN)">*</span></span>
34
+ </li>
35
+ <li class="cluster-tab nav-item">
36
+ <span class="nav-link" ng-click="switchTab(ACL_SCOPE.SYSTEM)" ng-class="activeTabScope === ACL_SCOPE.SYSTEM ? 'active':''">{{'acl_management.rulestable.tab.system' | translate}} <span class="dirty-scope" ng-if="dirtyScope.has(ACL_SCOPE.SYSTEM)">*</span></span>
37
+ </li>
38
+ </ul>
39
+ <div ng-if="loading" onto-loader-new size="100" style="height: 75vh; display: flex;"></div>
17
40
 
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">
41
+ <div ng-if="!loading" class="acl-scope-tabs">
42
+ <div class="tab-pane fade in" ng-if="activeTabScope === ACL_SCOPE.STATEMENT" id="statementTab">
43
+ <form name="ruleData" novalidate ng-if="rulesModel.getRulesByScope(activeTabScope) && !loading">
44
+ <table class="acl-rules table table-striped table-hover" aria-describedby="ACL rules table">
45
+ <thead>
46
+ <tr class="labels-row">
47
+ <th scope="col" class="index-column">
48
+ {{'acl_management.rulestable.column.index' | translate}}
49
+ </th>
50
+ <th scope="col" class="reorder-column"></th>
51
+ <th scope="col" class="policy-column">
52
+ {{'acl_management.rulestable.column.policy' | translate}}
53
+ </th>
54
+ <th scope="col" class="role-column">
55
+ {{'acl_management.rulestable.column.role' | translate}}
56
+ </th>
57
+ <th scope="col" class="operation-column">
58
+ {{'acl_management.rulestable.column.operation' | translate}}
59
+ </th>
60
+ <th scope="col" class="subject-column">
61
+ {{'acl_management.rulestable.column.subject' | translate}}
62
+ </th>
63
+ <th scope="col" class="predicate-column">
64
+ {{'acl_management.rulestable.column.predicate' | translate}}
65
+ </th>
66
+ <th scope="col" class="object-column">
67
+ {{'acl_management.rulestable.column.object' | translate}}
68
+ </th>
69
+ <th scope="col" class="context-column">
70
+ {{'acl_management.rulestable.column.context' | translate}}
71
+ </th>
72
+ <th scope="col" class="actions-column"></th>
73
+ </tr>
74
+ </thead>
75
+ <tbody>
76
+ <tr ng-if="!rulesModel.size(activeTabScope)">
77
+ <td colspan="11" class="no-data">
78
+ {{'acl_management.rulestable.messages.no_data' | translate}}
79
+ </td>
80
+ </tr>
81
+ <tr ng-repeat-start="rule in rulesModel.getRulesByScope(activeTabScope) track by $index" ng-if="0"></tr>
82
+ <tr ng-if="$index !== editedRuleIndex" class="acl-rule preview-rule-row" capture-height="$index"
83
+ ng-class="{'selected': $index === selectedRule || $index === editedRuleIndex}">
84
+ <td class="index-cell">{{$index + 1}}</td>
85
+ <td class="reorder-cell">
86
+ <span ng-if="editedRuleIndex === undefined" class="reorder-actions-group">
87
+ <button ng-click="moveUp(activeTabScope, $index)" ng-if="$index > 0" class="btn btn-link move-up-btn"
88
+ gdb-tooltip="{{'acl_management.rulestable.actions.move_up' | translate}}">
89
+ <em class="fa fa-caret-up"></em>
90
+ </button>
91
+ <button ng-click="moveDown(activeTabScope, $index)" ng-if="$index < rulesModel.getRulesByScope(activeTabScope).length - 1"
92
+ class="btn btn-link move-down-btn"
93
+ gdb-tooltip="{{'acl_management.rulestable.actions.move_down' | translate}}">
94
+ <em class="fa fa-caret-down"></em>
95
+ </button>
96
+ </span>
97
+ </td>
98
+ <td class="policy-cell data">
99
+ <span class="acl-tag" ng-class="{'acl-tag-allow': rule.policy === 'allow','acl-tag-deny': rule.policy === 'deny'}">
100
+ <em ng-class="{'icon-tick': rule.policy === 'allow','fa fa-ban': rule.policy === 'deny'}"></em>
101
+ {{rule.policy}}
102
+ </span>
103
+ </td>
104
+ <td class="role-cell data">
105
+ <span class="acl-tag" ng-class="rule.roleWithoutCustomPrefix[0] === '!' ? 'acl-tag-role-negated' : 'acl-tag-role'">
106
+ {{rule.roleWithoutCustomPrefix}}
107
+ </span>
108
+ </td>
109
+ <td class="operation-cell data">
110
+ <span class="acl-tag" ng-class="{'wildcard-cell': rule.operation === '*', 'acl-tag-read': rule.operation === 'read','acl-tag-write': rule.operation === 'write'}">
111
+ <em ng-class="{'icon-eye': rule.operation === 'read', 'icon-edit': rule.operation === 'write'}"></em>
112
+ {{rule.operation}}
113
+ </span>
114
+ </td>
115
+ <td class="subject-cell data" ng-class="{'wildcard-cell': rule.subject === '*'}">{{rule.subject}}</td>
116
+ <td class="predicate-cell data" ng-class="{'wildcard-cell': rule.predicate === '*'}">{{rule.predicate}}</td>
117
+ <td class="object-cell data" ng-class="{'wildcard-cell': rule.object === '*'}">{{rule.object}}</td>
118
+ <td class="context-cell data" ng-class="{'wildcard-cell': rule.context === '*', 'context-cell-special': !rule.context.startsWith('<') && rule.context !== '*'}">{{rule.context}}</td>
119
+ <td class="actions-cell">
120
+ <div ng-if="editedRuleIndex === undefined" class="crud-actions-group">
121
+ <button ng-click="editRule(activeTabScope, $index)" class="btn btn-link edit-rule-btn"
122
+ gdb-tooltip="{{'acl_management.rulestable.actions.edit_rule' | translate}}">
123
+ <em class="icon-edit"></em>
124
+ </button>
125
+ <button ng-click="addRule(activeTabScope, $index + 1)" class="btn btn-link add-rule-btn"
126
+ gdb-tooltip="{{'acl_management.rulestable.actions.add_rule' | translate}}">
127
+ <em class="icon-plus"></em>
128
+ </button>
129
+ <button ng-click="deleteRule(activeTabScope, $index)" class="btn btn-link delete-rule-btn secondary"
130
+ gdb-tooltip="{{'acl_management.rulestable.actions.delete_rule' | translate}}">
131
+ <em class="icon-trash"></em>
132
+ </button>
133
+ </div>
134
+ </td>
135
+ </tr>
136
+ <tr ng-if="$index === editedRuleIndex" class="acl-rule edit-rule-row" style="{{getRowHeight}}"
137
+ ng-class="{'selected table-info': $index === editedRuleIndex}">
138
+ <td class="index-cell">{{$index + 1}}</td>
139
+ <td class="reorder-cell"></td>
140
+ <td class="data policy-cell">
141
+ <select ng-model="rule.policy" ng-change="setDirty(activeTabScope)" class="form-control form-control-sm select-rule">
142
+ <option selected>allow</option>
143
+ <option>deny</option>
144
+ </select>
145
+ </td>
146
+ <td class="data role-cell">
147
+ <textarea type="text" name="role" required
148
+ ng-model="rule.role"
149
+ ng-change="setDirty(activeTabScope)"
150
+ uppercased uppercase-placeholder="false"
151
+ custom-role-prefix auto-grow
152
+ autocomplete="off"
153
+ class="form-control form-control-sm textarea-edit"
154
+ placeholder="{{'acl_management.rulestable.field_placeholders.role' | translate}}">
155
+ </textarea>
156
+ <em></em>
157
+ </td>
158
+ <td class="data operation-cell">
159
+ <select ng-model="rule.operation" ng-change="setDirty(activeTabScope)" class="form-control form-control-sm select-rule">
160
+ <option selected>*</option>
161
+ <option>read</option>
162
+ <option>write</option>
163
+ </select>
164
+ </td>
165
+ <td class="data subject-cell">
166
+ <autocomplete ng-model="rule.subject" on-model-change="setDirty(activeTabScope)" name="subject" required
167
+ multiline="true"
168
+ autoexpand="true"
169
+ defaultresults="DEFAULT_URI_VALUES"
170
+ style-class="form-control form-control-sm"
171
+ namespaces="namespaces"
172
+ autocomplete-status-loader="getAutocompletePromise"
173
+ placeholder="{{'acl_management.rulestable.field_placeholders.subject' | translate}}"></autocomplete>
174
+ <em></em>
175
+ </td>
176
+ <td class="data predicate-cell">
177
+ <autocomplete ng-model="rule.predicate" on-model-change="setDirty(activeTabScope)" name="predicate" required
178
+ multiline="true"
179
+ autoexpand="true"
180
+ defaultresults="DEFAULT_URI_VALUES"
181
+ style-class="form-control form-control-sm"
182
+ namespaces="namespaces"
183
+ autocomplete-status-loader="getAutocompletePromise"
184
+ placeholder="{{'acl_management.rulestable.field_placeholders.predicate' | translate}}"></autocomplete>
185
+ <em></em>
186
+ </td>
187
+ <td class="data object-cell">
188
+ <autocomplete ng-model="rule.object" on-model-change="setDirty(activeTabScope)" name="object" required
189
+ multiline="true"
190
+ autoexpand="true"
191
+ defaultresults="DEFAULT_URI_VALUES"
192
+ style-class="form-control form-control-sm"
193
+ namespaces="namespaces"
194
+ autocomplete-status-loader="getAutocompletePromise"
195
+ placeholder="{{'acl_management.rulestable.field_placeholders.object' | translate}}"></autocomplete>
196
+ <em></em>
197
+ </td>
198
+ <td class="data context-cell">
199
+ <autocomplete ng-model="rule.context" on-model-change="setDirty(activeTabScope)" name="context" required
200
+ multiline="true"
201
+ autoexpand="true"
202
+ defaultresults="DEFAULT_CONTEXT_VALUES"
203
+ style-class="form-control form-control-sm"
204
+ namespaces="namespaces"
205
+ autocomplete-status-loader="getAutocompletePromise"
206
+ placeholder="{{'acl_management.rulestable.field_placeholders.context' | translate}}"></autocomplete>
207
+ <em></em>
208
+ </td>
209
+ <td class="actions-cell">
210
+ <div class="crud-actions-group">
211
+ <button ng-click="cancelEditing(activeTabScope, $index)"
212
+ class="btn btn-link cancel-rule-editing-btn"
213
+ gdb-tooltip="{{'acl_management.rulestable.actions.cancel_rule_editing' | translate}}">
214
+ <em class="icon-close"></em>
215
+ </button>
216
+ <button ng-if="ruleData.$valid" ng-click="saveRule(activeTabScope)"
217
+ class="btn btn-link save-rule-btn"
218
+ ng-disabled="!ruleData.$valid"
219
+ gdb-tooltip="{{'acl_management.rulestable.actions.apply_rule' | translate}}">
220
+ <em class="icon-check"></em>
221
+ </button>
222
+ <em ng-if="!ruleData.$valid" class="icon-check icon-lg save-rule-disabled-btn"
223
+ gdb-tooltip="{{'acl_management.rulestable.messages.invalid_form' | translate}}"></em>
224
+ </div>
225
+ </td>
226
+ </tr>
227
+ <tr ng-repeat-end ng-if="0"></tr>
228
+ </tbody>
229
+ </table>
230
+ </form>
231
+ </div>
232
+ <div class="tab-pane fade in" ng-if="activeTabScope === ACL_SCOPE.CLEAR_GRAPH" id="graphTab">
233
+ <form name="ruleData" novalidate ng-if="rulesModel && !loading">
234
+ <table class="acl-rules table table-striped table-hover" aria-describedby="ACL rules table">
235
+ <thead>
236
+ <tr class="labels-row">
237
+ <th scope="col" class="index-column">
238
+ {{'acl_management.rulestable.column.index' | translate}}
239
+ </th>
240
+ <th scope="col" class="reorder-column"></th>
241
+ <th scope="col" class="policy-column">
242
+ {{'acl_management.rulestable.column.policy' | translate}}
243
+ </th>
244
+ <th scope="col" class="role-column">
245
+ {{'acl_management.rulestable.column.role' | translate}}
246
+ </th>
247
+ <th scope="col" class="context-column">
248
+ {{'acl_management.rulestable.column.context' | translate}}
249
+ </th>
250
+ <th scope="col" class="empty-column"></th>
251
+ <th scope="col" class="actions-column"></th>
252
+ </tr>
253
+ </thead>
254
+ <tbody>
255
+ <tr ng-if="!rulesModel.size(activeTabScope)">
256
+ <td colspan="6" class="no-data">
257
+ {{'acl_management.rulestable.messages.no_data' | translate}}
258
+ </td>
259
+ </tr>
260
+ <tr ng-repeat-start="rule in rulesModel.getRulesByScope(activeTabScope) track by $index" ng-if="0"></tr>
261
+ <tr ng-if="$index !== editedRuleIndex" class="acl-rule preview-rule-row" capture-height="$index"
262
+ ng-class="{'selected': $index === selectedRule || $index === editedRuleIndex}">
263
+ <td class="index-cell">{{$index + 1}}</td>
264
+ <td class="reorder-cell">
265
+ <span ng-if="editedRuleIndex === undefined" class="reorder-actions-group">
266
+ <button ng-click="moveUp(activeTabScope, $index)" ng-if="$index > 0" class="btn btn-link move-up-btn"
267
+ gdb-tooltip="{{'acl_management.rulestable.actions.move_up' | translate}}">
268
+ <em class="fa fa-caret-up"></em>
269
+ </button>
270
+ <button ng-click="moveDown(activeTabScope, $index)" ng-if="$index < rulesModel.size(activeTabScope) - 1"
271
+ class="btn btn-link move-down-btn"
272
+ gdb-tooltip="{{'acl_management.rulestable.actions.move_down' | translate}}">
273
+ <em class="fa fa-caret-down"></em>
274
+ </button>
275
+ </span>
276
+ </td>
277
+ <td class="policy-cell data">
278
+ <span class="acl-tag" ng-class="{'acl-tag-allow': rule.policy === 'allow','acl-tag-deny': rule.policy === 'deny'}">
279
+ <em ng-class="{'icon-tick': rule.policy === 'allow','fa fa-ban': rule.policy === 'deny'}"></em>
280
+ {{rule.policy}}
281
+ </span>
282
+ </td>
283
+ <td class="role-cell data">
284
+ <span class="acl-tag" ng-class="rule.roleWithoutCustomPrefix[0] === '!' ? 'acl-tag-role-negated' : 'acl-tag-role'">
285
+ <em></em>{{rule.roleWithoutCustomPrefix}}
286
+ </span>
287
+ </td>
288
+ <td class="context-cell data" ng-class="{'wildcard-cell': rule.context === '*', 'context-cell-special': !rule.context.startsWith('<') && rule.context !== '*'}">
289
+ {{rule.context}}
290
+ </td>
291
+ <td class="empty-cell"></td>
292
+ <td class="actions-cell">
293
+ <div ng-if="editedRuleIndex === undefined" class="crud-actions-group">
294
+ <button ng-click="editRule(activeTabScope, $index)" class="btn btn-link edit-rule-btn"
295
+ gdb-tooltip="{{'acl_management.rulestable.actions.edit_rule' | translate}}">
296
+ <em class="icon-edit"></em>
297
+ </button>
298
+ <button ng-click="addRule(activeTabScope, $index + 1)" class="btn btn-link add-rule-btn"
299
+ gdb-tooltip="{{'acl_management.rulestable.actions.add_rule' | translate}}">
300
+ <em class="icon-plus"></em>
301
+ </button>
302
+ <button ng-click="deleteRule(activeTabScope, $index)" class="btn btn-link delete-rule-btn secondary"
303
+ gdb-tooltip="{{'acl_management.rulestable.actions.delete_rule' | translate}}">
304
+ <em class="icon-trash"></em>
305
+ </button>
306
+ </div>
307
+ </td>
308
+ </tr>
309
+ <tr ng-if="$index === editedRuleIndex" class="acl-rule edit-rule-row" style="{{getRowHeight}}"
310
+ ng-class="{'selected table-info': $index === editedRuleIndex}">
311
+ <td class="index-cell">{{$index + 1}}</td>
312
+ <td class="reorder-cell"></td>
313
+ <td class="data policy-cell">
314
+ <select ng-model="rule.policy" ng-change="setDirty(activeTabScope)" class="form-control form-control-sm select-rule">
315
+ <option selected>allow</option>
316
+ <option>deny</option>
317
+ </select>
318
+ </td>
319
+ <td class="data role-cell">
320
+ <textarea type="text" name="role" required
321
+ ng-model="rule.role"
322
+ ng-change="setDirty(activeTabScope)"
323
+ uppercased uppercase-placeholder="false"
324
+ custom-role-prefix auto-grow
325
+ autocomplete="off" class="form-control form-control-sm textarea-edit"
326
+ rows="1"
327
+ placeholder="{{'acl_management.rulestable.field_placeholders.role' | translate}}">
328
+ </textarea>
329
+ <em></em>
330
+ </td>
331
+ <td class="data context-cell">
332
+ <autocomplete ng-model="rule.context" on-model-change="setDirty(activeTabScope)" name="context" required
333
+ multiline="true"
334
+ autoexpand="true"
335
+ defaultresults="DEFAULT_CONTEXT_VALUES"
336
+ style-class="form-control form-control-sm"
337
+ namespaces="namespaces"
338
+ autocomplete-status-loader="getAutocompletePromise"
339
+ placeholder="{{'acl_management.rulestable.field_placeholders.context' | translate}}"></autocomplete>
340
+ <em></em>
341
+ </td>
342
+ <td class="empty-cell"></td>
343
+ <td class="actions-cell">
344
+ <div class="crud-actions-group">
345
+ <button ng-click="cancelEditing(activeTabScope, $index)"
346
+ class="btn btn-link cancel-rule-editing-btn"
347
+ gdb-tooltip="{{'acl_management.rulestable.actions.cancel_rule_editing' | translate}}">
348
+ <em class="icon-close"></em>
349
+ </button>
350
+ <button ng-if="ruleData.$valid" ng-click="saveRule(activeTabScope)"
351
+ class="btn btn-link save-rule-btn"
352
+ ng-disabled="!ruleData.$valid"
353
+ gdb-tooltip="{{'acl_management.rulestable.actions.apply_rule' | translate}}">
354
+ <em class="icon-check"></em>
355
+ </button>
356
+ <em ng-if="!ruleData.$valid" class="icon-check icon-lg save-rule-disabled-btn"
357
+ gdb-tooltip="{{'acl_management.rulestable.messages.invalid_form' | translate}}"></em>
358
+ </div>
359
+ </td>
360
+ </tr>
361
+ <tr ng-repeat-end ng-if="0"></tr>
362
+ </tbody>
363
+ </table>
364
+ </form>
365
+ </div>
366
+ <div class="tab-pane fade in" ng-if="activeTabScope === ACL_SCOPE.PLUGIN" id="pluginTab">
367
+ <form name="ruleData" novalidate ng-if="rulesModel && !loading">
368
+ <table class="acl-rules table table-striped table-hover" aria-describedby="ACL rules table">
369
+ <thead>
370
+ <tr class="labels-row">
371
+ <th scope="col" class="index-column">
372
+ {{'acl_management.rulestable.column.index' | translate}}
373
+ </th>
374
+ <th scope="col" class="reorder-column"></th>
375
+ <th scope="col" class="policy-column">
376
+ {{'acl_management.rulestable.column.policy' | translate}}
377
+ </th>
378
+ <th scope="col" class="role-column">
379
+ {{'acl_management.rulestable.column.role' | translate}}
380
+ </th>
381
+ <th scope="col" class="operation-column">
382
+ {{'acl_management.rulestable.column.operation' | translate}}
383
+ </th>
384
+ <th scope="col" class="plugin-column">
385
+ {{'acl_management.rulestable.column.plugin' | translate}}
386
+ </th>
387
+ <th scope="col" class="empty-column"></th>
388
+ <th scope="col" class="actions-column"></th>
389
+ </tr>
390
+ </thead>
391
+ <tbody>
392
+ <tr ng-if="!rulesModel.size(activeTabScope)">
393
+ <td colspan="7" class="no-data">
394
+ {{'acl_management.rulestable.messages.no_data' | translate}}
395
+ </td>
396
+ </tr>
397
+ <tr ng-repeat-start="rule in rulesModel.getRulesByScope(activeTabScope) track by $index" ng-if="0"></tr>
398
+ <tr ng-if="$index !== editedRuleIndex" class="acl-rule preview-rule-row" capture-height="$index"
399
+ ng-class="{'selected': $index === selectedRule || $index === editedRuleIndex}">
400
+ <td class="index-cell">{{$index + 1}}</td>
401
+ <td class="reorder-cell">
402
+ <span ng-if="editedRuleIndex === undefined" class="reorder-actions-group">
403
+ <button ng-click="moveUp(activeTabScope, $index)" ng-if="$index > 0" class="btn btn-link move-up-btn"
404
+ gdb-tooltip="{{'acl_management.rulestable.actions.move_up' | translate}}">
405
+ <em class="fa fa-caret-up"></em>
406
+ </button>
407
+ <button ng-click="moveDown(activeTabScope, $index)" ng-if="$index < rulesModel.size(activeTabScope) - 1"
408
+ class="btn btn-link move-down-btn"
409
+ gdb-tooltip="{{'acl_management.rulestable.actions.move_down' | translate}}">
410
+ <em class="fa fa-caret-down"></em>
411
+ </button>
412
+ </span>
413
+ </td>
414
+ <td class="policy-cell data">
415
+ <span class="acl-tag" ng-class="{'acl-tag-allow': rule.policy === 'allow','acl-tag-deny': rule.policy === 'deny'}">
416
+ <em ng-class="{'icon-tick': rule.policy === 'allow','fa fa-ban': rule.policy === 'deny'}"></em>
417
+ {{rule.policy}}
418
+ </span>
419
+ </td>
420
+ <td class="role-cell data">
421
+ <span class="acl-tag" ng-class="rule.roleWithoutCustomPrefix[0] === '!' ? 'acl-tag-role-negated' : 'acl-tag-role'">
422
+ {{rule.roleWithoutCustomPrefix}}
423
+ </span>
424
+ </td>
425
+ <td class="operation-cell data">
426
+ <span class="acl-tag" ng-class="{'wildcard-cell': rule.operation === '*', 'acl-tag-read': rule.operation === 'read','acl-tag-write': rule.operation === 'write'}">
427
+ <em ng-class="{'icon-eye': rule.operation === 'read', 'icon-edit': rule.operation === 'write'}"></em>
428
+ {{rule.operation}}
429
+ </span>
430
+ </td>
431
+ <td class="plugin-cell data" ng-class="{'wildcard-cell': rule.plugin === '*'}">
432
+ {{rule.plugin}}
433
+ </td>
434
+ <td class="empty-cell"></td>
435
+ <td class="actions-cell">
436
+ <div ng-if="editedRuleIndex === undefined" class="crud-actions-group">
437
+ <button ng-click="editRule(activeTabScope, $index)" class="btn btn-link edit-rule-btn"
438
+ gdb-tooltip="{{'acl_management.rulestable.actions.edit_rule' | translate}}">
439
+ <em class="icon-edit"></em>
440
+ </button>
441
+ <button ng-click="addRule(activeTabScope, $index + 1)" class="btn btn-link add-rule-btn"
442
+ gdb-tooltip="{{'acl_management.rulestable.actions.add_rule' | translate}}">
443
+ <em class="icon-plus"></em>
444
+ </button>
445
+ <button ng-click="deleteRule(activeTabScope, $index)" class="btn btn-link delete-rule-btn secondary"
446
+ gdb-tooltip="{{'acl_management.rulestable.actions.delete_rule' | translate}}">
447
+ <em class="icon-trash"></em>
448
+ </button>
449
+ </div>
450
+ </td>
451
+ </tr>
452
+ <tr ng-if="$index === editedRuleIndex" class="acl-rule edit-rule-row" style="{{getRowHeight}}"
453
+ ng-class="{'selected table-info': $index === editedRuleIndex}">
454
+ <td class="index-cell">{{$index + 1}}</td>
455
+ <td class="reorder-cell"></td>
456
+ <td class="data policy-cell">
457
+ <select ng-model="rule.policy" ng-change="setDirty(activeTabScope)" class="form-control form-control-sm select-rule">
458
+ <option selected>allow</option>
459
+ <option>deny</option>
460
+ </select>
461
+ </td>
462
+ <td class="data role-cell">
463
+ <textarea type="text" name="role" required
464
+ ng-model="rule.role"
465
+ ng-change="setDirty(activeTabScope)"
466
+ uppercased uppercase-placeholder="false"
467
+ custom-role-prefix auto-grow
468
+ autocomplete="off"
469
+ class="form-control form-control-sm textarea-edit"
470
+ placeholder="{{'acl_management.rulestable.field_placeholders.role' | translate}}">
471
+ </textarea>
472
+ <em></em>
473
+ </td>
474
+ <td class="data operation-cell">
475
+ <select ng-model="rule.operation" ng-change="setDirty(activeTabScope)" class="form-control form-control-sm select-rule">
476
+ <option selected>*</option>
477
+ <option>read</option>
478
+ <option>write</option>
479
+ </select>
480
+ </td>
481
+ <td class="data plugin-cell">
482
+ <textarea type="text" name="plugin" required
483
+ ng-model="rule.plugin"
484
+ ng-change="setDirty(activeTabScope)"
485
+ auto-grow
486
+ autocomplete="off"
487
+ class="form-control form-control-sm textarea-edit"
488
+ placeholder="{{'acl_management.rulestable.field_placeholders.plugin' | translate}}">
489
+ </textarea>
490
+ <em></em>
491
+ </td>
492
+ <td class="empty-cell"></td>
493
+ <td class="actions-cell">
494
+ <div class="crud-actions-group">
495
+ <button ng-click="cancelEditing(activeTabScope, $index)"
496
+ class="btn btn-link cancel-rule-editing-btn"
497
+ gdb-tooltip="{{'acl_management.rulestable.actions.cancel_rule_editing' | translate}}">
498
+ <em class="icon-close"></em>
499
+ </button>
500
+ <button ng-if="ruleData.$valid" ng-click="saveRule(activeTabScope)"
501
+ class="btn btn-link save-rule-btn"
502
+ ng-disabled="!ruleData.$valid"
503
+ gdb-tooltip="{{'acl_management.rulestable.actions.apply_rule' | translate}}">
504
+ <em class="icon-check"></em>
505
+ </button>
506
+ <em ng-if="!ruleData.$valid" class="icon-check icon-lg save-rule-disabled-btn"
507
+ gdb-tooltip="{{'acl_management.rulestable.messages.invalid_form' | translate}}"></em>
508
+ </div>
509
+ </td>
510
+ </tr>
511
+ <tr ng-repeat-end ng-if="0"></tr>
512
+ </tbody>
513
+ </table>
514
+ </form>
515
+ </div>
516
+ <div class="tab-pane fade in" ng-if="activeTabScope === ACL_SCOPE.SYSTEM" id="systemTab">
517
+ <form name="ruleData" novalidate ng-if="rulesModel && !loading">
518
+ <table class="acl-rules table table-striped table-hover" aria-describedby="ACL rules table">
519
+ <thead>
520
+ <tr class="labels-row">
521
+ <th scope="col" class="index-column">
522
+ {{'acl_management.rulestable.column.index' | translate}}
523
+ </th>
524
+ <th scope="col" class="reorder-column"></th>
525
+ <th scope="col" class="policy-column">
526
+ {{'acl_management.rulestable.column.policy' | translate}}
527
+ </th>
528
+ <th scope="col" class="role-column">
529
+ {{'acl_management.rulestable.column.role' | translate}}
530
+ </th>
531
+ <th scope="col" class="operation-column">
532
+ {{'acl_management.rulestable.column.operation' | translate}}
533
+ </th>
534
+ <th scope="col" class="empty-column"></th>
535
+ <th scope="col" class="actions-column"></th>
536
+ </tr>
537
+ </thead>
538
+ <tbody>
539
+ <tr ng-if="!rulesModel.size(activeTabScope)">
540
+ <td colspan="7" class="no-data">
541
+ {{'acl_management.rulestable.messages.no_data' | translate}}
542
+ </td>
543
+ </tr>
544
+ <tr ng-repeat-start="rule in rulesModel.getRulesByScope(activeTabScope) track by $index" ng-if="0"></tr>
545
+ <tr ng-if="$index !== editedRuleIndex" class="acl-rule preview-rule-row" capture-height="$index"
546
+ ng-class="{'selected': $index === selectedRule || $index === editedRuleIndex}">
547
+ <td class="index-cell">{{$index + 1}}</td>
548
+ <td class="reorder-cell">
549
+ <span ng-if="editedRuleIndex === undefined" class="reorder-actions-group">
550
+ <button ng-click="moveUp(activeTabScope, $index)" ng-if="$index > 0" class="btn btn-link move-up-btn"
551
+ gdb-tooltip="{{'acl_management.rulestable.actions.move_up' | translate}}">
552
+ <em class="fa fa-caret-up"></em>
553
+ </button>
554
+ <button ng-click="moveDown(activeTabScope, $index)" ng-if="$index < rulesModel.size(activeTabScope) - 1"
555
+ class="btn btn-link move-down-btn"
556
+ gdb-tooltip="{{'acl_management.rulestable.actions.move_down' | translate}}">
557
+ <em class="fa fa-caret-down"></em>
558
+ </button>
559
+ </span>
560
+ </td>
561
+ <td class="policy-cell data">
562
+ <span class="acl-tag" ng-class="{'acl-tag-allow': rule.policy === 'allow','acl-tag-deny': rule.policy === 'deny'}">
563
+ <em ng-class="{'icon-tick': rule.policy === 'allow','fa fa-ban': rule.policy === 'deny'}"></em>
564
+ {{rule.policy}}
565
+ </span>
566
+ </td>
567
+ <td class="role-cell data">
568
+ <span class="acl-tag" ng-class="rule.roleWithoutCustomPrefix[0] === '!' ? 'acl-tag-role-negated' : 'acl-tag-role'">
569
+ {{rule.roleWithoutCustomPrefix}}
570
+ </span>
571
+ </td>
572
+ <td class="operation-cell data">
573
+ <span class="acl-tag" ng-class="{'wildcard-cell': rule.operation === '*', 'acl-tag-read': rule.operation === 'read','acl-tag-write': rule.operation === 'write'}">
574
+ <em ng-class="{'icon-eye': rule.operation === 'read', 'icon-edit': rule.operation === 'write'}"></em>
575
+ {{rule.operation}}
576
+ </span>
577
+ </td>
578
+ <td class="empty-cell"></td>
579
+ <td class="actions-cell">
580
+ <div ng-if="editedRuleIndex === undefined" class="crud-actions-group">
581
+ <button ng-click="editRule(activeTabScope, $index)" class="btn btn-link edit-rule-btn"
582
+ gdb-tooltip="{{'acl_management.rulestable.actions.edit_rule' | translate}}">
583
+ <em class="icon-edit"></em>
584
+ </button>
585
+ <button ng-click="addRule(activeTabScope, $index + 1)" class="btn btn-link add-rule-btn"
586
+ gdb-tooltip="{{'acl_management.rulestable.actions.add_rule' | translate}}">
587
+ <em class="icon-plus"></em>
588
+ </button>
589
+ <button ng-click="deleteRule(activeTabScope, $index)" class="btn btn-link delete-rule-btn secondary"
590
+ gdb-tooltip="{{'acl_management.rulestable.actions.delete_rule' | translate}}">
591
+ <em class="icon-trash"></em>
592
+ </button>
593
+ </div>
594
+ </td>
595
+ </tr>
596
+ <tr ng-if="$index === editedRuleIndex" class="acl-rule edit-rule-row" style="{{getRowHeight}}"
597
+ ng-class="{'selected table-info': $index === editedRuleIndex}">
598
+ <td class="index-cell">{{$index + 1}}</td>
599
+ <td class="reorder-cell"></td>
600
+ <td class="data policy-cell">
601
+ <select ng-model="rule.policy" ng-change="setDirty(activeTabScope)" class="form-control form-control-sm select-rule">
602
+ <option selected>allow</option>
603
+ <option>deny</option>
604
+ </select>
605
+ </td>
606
+ <td class="data role-cell">
607
+ <textarea type="text" name="role" required
608
+ ng-model="rule.role"
609
+ ng-change="setDirty(activeTabScope)"
610
+ uppercased uppercase-placeholder="false"
611
+ custom-role-prefix auto-grow
612
+ autocomplete="off"
613
+ class="form-control form-control-sm textarea-edit"
614
+ placeholder="{{'acl_management.rulestable.field_placeholders.role' | translate}}">
615
+ </textarea>
616
+ <em></em>
617
+ </td>
618
+ <td class="data operation-cell">
619
+ <select ng-model="rule.operation" ng-change="setDirty(activeTabScope)" class="form-control form-control-sm select-rule">
620
+ <option selected>*</option>
621
+ <option>read</option>
622
+ <option>write</option>
623
+ </select>
624
+ </td>
625
+ <td class="empty-cell"></td>
626
+ <td class="actions-cell">
627
+ <div class="crud-actions-group">
628
+ <button ng-click="cancelEditing(activeTabScope, $index)"
629
+ class="btn btn-link cancel-rule-editing-btn"
630
+ gdb-tooltip="{{'acl_management.rulestable.actions.cancel_rule_editing' | translate}}">
631
+ <em class="icon-close"></em>
632
+ </button>
633
+ <button ng-if="ruleData.$valid" ng-click="saveRule(activeTabScope)"
634
+ class="btn btn-link save-rule-btn"
635
+ ng-disabled="!ruleData.$valid"
636
+ gdb-tooltip="{{'acl_management.rulestable.actions.apply_rule' | translate}}">
637
+ <em class="icon-check"></em>
638
+ </button>
639
+ <em ng-if="!ruleData.$valid" class="icon-check icon-lg save-rule-disabled-btn"
640
+ gdb-tooltip="{{'acl_management.rulestable.messages.invalid_form' | translate}}"></em>
641
+ </div>
642
+ </td>
643
+ </tr>
644
+ <tr ng-repeat-end ng-if="0"></tr>
645
+ </tbody>
646
+ </table>
647
+ </form>
648
+ </div>
649
+ </div>
650
+ </div>
651
+ <div ng-if="editedRuleIndex === undefined && rulesModel && modelIsDirty && dirtyScope.size > 0" class="text-right">
167
652
  <button class="btn btn-secondary cancel-acl-save-btn"
168
653
  ng-click="cancelAclSave()">
169
654
  {{'acl_management.rulestable.actions.cancel_acl_saving' | translate}}