graphdb-workbench 2.4.2-TR2 → 2.5.0-RC1

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 (331) hide show
  1. package/dist/0.b6f8b750a217ba7ccc09.bundle.js +25 -0
  2. package/dist/{0.c6e0a1afafc7ffdfaccc.bundle.js → 1.def08ec962ac2cae251e.bundle.js} +2 -2
  3. package/dist/10.3cfac1f6e9e8eb24044a.bundle.js +1 -0
  4. package/dist/{93.a66b80c93662e56ccc97.bundle.js → 100.30b22eaf2bc647082625.bundle.js} +1 -1
  5. package/dist/{94.e61e957dc3eeda570bfa.bundle.js → 101.4093fce7d4115fcf21dc.bundle.js} +1 -1
  6. package/dist/102.a98125e7cbe44cf536e2.bundle.js +1 -0
  7. package/dist/103.4d162f7df14c8d81157b.bundle.js +1 -0
  8. package/dist/104.f0696d49ede65b342317.bundle.js +1 -0
  9. package/dist/105.097830cf884ff7d82859.bundle.js +1 -0
  10. package/dist/106.2e488f1a9b4b22ad4026.bundle.js +1 -0
  11. package/dist/{100.63b83a1aaec9dec2a159.bundle.js → 107.0495c9673045f1f68bdf.bundle.js} +1 -1
  12. package/dist/{101.04c16567a76c2d46e334.bundle.js → 108.20ec9347815ab00c4f28.bundle.js} +1 -1
  13. package/dist/{102.2859258827e790c5fe06.bundle.js → 109.9699fc25bc788fe01bb3.bundle.js} +1 -1
  14. package/dist/11.0fc995ac096734b915c6.bundle.js +1 -0
  15. package/dist/{103.8d9dfc8dbeceed83ea4d.bundle.js → 110.f101a1762899931179a6.bundle.js} +1 -1
  16. package/dist/{104.6b5154dbe7983078d26a.bundle.js → 111.782fffba201a2ef304d0.bundle.js} +1 -1
  17. package/dist/{105.2a66bd0e522508ebd271.bundle.js → 112.529d6e279b6d0bbaff2e.bundle.js} +1 -1
  18. package/dist/{106.27c9e4f19d1f4638da85.bundle.js → 113.94c8128e0dc2ff349d42.bundle.js} +1 -1
  19. package/dist/{107.1cafdb62789a6d01efe3.bundle.js → 114.2fa7a38692c626887bfe.bundle.js} +1 -1
  20. package/dist/{108.99fadee1ed0c7110af9a.bundle.js → 115.8f90e89fb972eacc5c33.bundle.js} +1 -1
  21. package/dist/{109.058abd1bafecf89da08f.bundle.js → 116.dd7d9db80081251674c2.bundle.js} +1 -1
  22. package/dist/{110.63c5d2fc22ca73bc2161.bundle.js → 117.4d04f878d3c445436ca8.bundle.js} +1 -1
  23. package/dist/{111.57dcb90ea5fe513d6161.bundle.js → 118.64e18c42fdf042126161.bundle.js} +1 -1
  24. package/dist/{112.9bd920a0a14fde24231a.bundle.js → 119.252679fc95f75d2322e2.bundle.js} +1 -1
  25. package/dist/12.fadfcb50bfa4c59e0237.bundle.js +1 -0
  26. package/dist/{113.fe6efdeb16cea90aef64.bundle.js → 120.cafb2283bec468aa2519.bundle.js} +1 -1
  27. package/dist/{114.2f1bbfe1abb21122d2e1.bundle.js → 121.1a02aa06ad8e9d84e954.bundle.js} +1 -1
  28. package/dist/122.eb2e160340159c2c4985.bundle.js +1 -0
  29. package/dist/123.cbef889603b99ef4f91f.bundle.js +1 -0
  30. package/dist/{117.23e75248d8a499cef320.bundle.js → 124.cfdd9ffeb70ce673b073.bundle.js} +1 -1
  31. package/dist/{118.aa4d1a68202c7681e169.bundle.js → 125.c51d4597f707f4372ab2.bundle.js} +1 -1
  32. package/dist/{119.6eba5cf04079e83072ee.bundle.js → 126.c630f0e31c7c78b9aa3e.bundle.js} +1 -1
  33. package/dist/{120.0c5bcf54ab7e6114cded.bundle.js → 127.863991bbf25a97e3314b.bundle.js} +1 -1
  34. package/dist/{121.eb2e07b504cbc0c0e151.bundle.js → 128.d7c5c015003cb2b46a89.bundle.js} +1 -1
  35. package/dist/{122.13211f5eed5e4bf17a48.bundle.js → 129.7da368c0ddd3df0d59e7.bundle.js} +1 -1
  36. package/dist/{11.d13b4e6a939fc0b5a125.bundle.js → 13.def661d2d5c02515c46c.bundle.js} +1 -1
  37. package/dist/{123.8dbec2943eab449ea638.bundle.js → 130.6e96453e99a3061c00bc.bundle.js} +1 -1
  38. package/dist/{124.8e3d5ba12c298ea9a439.bundle.js → 131.7909b5b4a65805f2ac85.bundle.js} +1 -1
  39. package/dist/{125.2c1cfa4f1508591c2db9.bundle.js → 132.a32ce3ed762cdeeefcb1.bundle.js} +1 -1
  40. package/dist/{126.1e81957d72de76d2a7b5.bundle.js → 133.7c843ac99edfbc5a3c8a.bundle.js} +1 -1
  41. package/dist/{127.9a1e0e14854bba15d762.bundle.js → 134.284d6550bee70ebe9251.bundle.js} +1 -1
  42. package/dist/135.0d36b185dc9218339c4a.bundle.js +1 -0
  43. package/dist/{129.905991d7d0b2c8cdddac.bundle.js → 136.3d6bea5d79a265841cb8.bundle.js} +1 -1
  44. package/dist/{130.9aea5c200bad449041e5.bundle.js → 137.279f42cf9d6782fc9599.bundle.js} +1 -1
  45. package/dist/138.7710c7a2d9301fa1ba0e.bundle.js +1 -0
  46. package/dist/139.706b6304e0a555f094fe.bundle.js +1 -0
  47. package/dist/14.31d2e94567758be7f164.bundle.js +29 -0
  48. package/dist/{132.d3ba757be1f57238c518.bundle.js → 140.4f9cece7be0358701d6f.bundle.js} +1 -1
  49. package/dist/{133.7ff3260122aed5f9da82.bundle.js → 141.20c6975c04b7a8b03bf2.bundle.js} +1 -1
  50. package/dist/{134.937aed94c3cba12e70de.bundle.js → 142.b4e33c353e4600a26cbc.bundle.js} +1 -1
  51. package/dist/{135.e7ef2dedc3321ef31558.bundle.js → 143.f4779159a3520551a8c4.bundle.js} +1 -1
  52. package/dist/{136.50ad256ff91ae8bd138c.bundle.js → 144.1bfdb76f7a3b00ee8c5f.bundle.js} +1 -1
  53. package/dist/{137.802084605202b8b7aef1.bundle.js → 145.fcc303d9185be21b9b9c.bundle.js} +1 -1
  54. package/dist/{138.3d79db7fc7908d986c2d.bundle.js → 146.1cbe84062b34decf1bf3.bundle.js} +1 -1
  55. package/dist/{139.21dbd727f5f9bbadc865.bundle.js → 147.95390cc9a55229539b1f.bundle.js} +1 -1
  56. package/dist/148.be960c6fe1da736ee0b5.bundle.js +1 -0
  57. package/dist/{141.d48e599aa8dec29049e5.bundle.js → 149.37f9ad59acfc268a7a10.bundle.js} +1 -1
  58. package/dist/15.971b0860a2a52dbfb083.bundle.js +1 -0
  59. package/dist/{142.d5af4ebdde0264efdbe0.bundle.js → 150.4a1996f8b5e73257629d.bundle.js} +1 -1
  60. package/dist/{143.4a600ce8f1b38bc3c484.bundle.js → 151.4893fa9ae46505fd0984.bundle.js} +1 -1
  61. package/dist/{144.24d2001adcd0546ce679.bundle.js → 152.c38bf8cf6073904a8798.bundle.js} +1 -1
  62. package/dist/{145.2ca8245e03e22c0fd9ed.bundle.js → 153.6542f557e8593f077764.bundle.js} +1 -1
  63. package/dist/{146.0bf605fa5b7cc102937f.bundle.js → 154.d048716c519356d913f8.bundle.js} +1 -1
  64. package/dist/{147.c08eab536793c5ab07fc.bundle.js → 155.8546d392bf9b145a2c4f.bundle.js} +1 -1
  65. package/dist/{148.a55927446e6b202926f1.bundle.js → 156.ade46cc3994fa23e3d3d.bundle.js} +1 -1
  66. package/dist/{149.0f1210813636e6d0e48c.bundle.js → 157.88767bdc74fd85479c74.bundle.js} +1 -1
  67. package/dist/{150.7224dc087612aa0ff0c1.bundle.js → 158.a706d054b5030307f2db.bundle.js} +1 -1
  68. package/dist/{151.474f1a6c85c10e352bc4.bundle.js → 159.69da9cc4e42dc701c51f.bundle.js} +1 -1
  69. package/dist/16.9c43dc9fd9b55d8a62e1.bundle.js +1 -0
  70. package/dist/{152.1ef6bdbc8329b2a8d288.bundle.js → 160.ff49dd32481710bef803.bundle.js} +1 -1
  71. package/dist/{153.8fbeed8e7e94213c6df1.bundle.js → 161.acf9bbdba1fb013afd65.bundle.js} +1 -1
  72. package/dist/{154.384bdfe1f4b3fce850b0.bundle.js → 162.f926c1f8d1d138f3dab7.bundle.js} +1 -1
  73. package/dist/{155.68e389692623c7b68878.bundle.js → 163.0c1c472f03dc3d618e9b.bundle.js} +1 -1
  74. package/dist/{159.b791a62882176dc9a9b3.bundle.js → 167.e462d62423037c0d40c0.bundle.js} +1 -1
  75. package/dist/{160.847d226a7c31b8dd3dba.bundle.js → 168.3beb1e035ff7cd68ad79.bundle.js} +1 -1
  76. package/dist/{161.b255fab3ed77f7ac2230.bundle.js → 169.c1e6980e494d0dd7fbed.bundle.js} +1 -1
  77. package/dist/{17.7a20974aaea2122ed42f.bundle.js → 17.c0a7f71ce8def9c4bbba.bundle.js} +1 -1
  78. package/dist/{162.532b65eb7575ded1f259.bundle.js → 170.05a3c4fc28e95bc1edc7.bundle.js} +1 -1
  79. package/dist/171.a534f6bb8fa780cae3fc.bundle.js +1 -0
  80. package/dist/172.5110a57500642785a16d.bundle.js +1 -0
  81. package/dist/{165.83034f9c4e5a749e4123.bundle.js → 173.c51e8bb0068767048942.bundle.js} +1 -1
  82. package/dist/{166.b5734b2ae2128dc1f352.bundle.js → 174.cc90175a31559383d754.bundle.js} +1 -1
  83. package/dist/{167.39609d5258c038019b9e.bundle.js → 175.a11f1999fb4365d11d24.bundle.js} +1 -1
  84. package/dist/176.fef71fbe0d62c152fdb1.bundle.js +1 -0
  85. package/dist/{168.34a1790ea589d9926a97.bundle.js → 177.0715a1810f8429c70554.bundle.js} +1 -1
  86. package/dist/{169.45b7052421531eceff65.bundle.js → 178.90435d52f01c37292361.bundle.js} +1 -1
  87. package/dist/{170.e24cfa80d3f51df2b1b5.bundle.js → 179.8e7d41653fa7f48dacd4.bundle.js} +1 -1
  88. package/dist/{18.db18b987a6ea55fddc4a.bundle.js → 18.83a5f41e7ad020e6a0db.bundle.js} +2 -2
  89. package/dist/{171.49aabfdb3574cef3d14b.bundle.js → 180.e2df1dba837ce2244cb8.bundle.js} +1 -1
  90. package/dist/{172.17dfb02daf0edd4dcfda.bundle.js → 181.5e99efac9b40fcc83853.bundle.js} +1 -1
  91. package/dist/{173.5e3fea538a2a2d5b5c0c.bundle.js → 182.69036294c90d2a17f89f.bundle.js} +1 -1
  92. package/dist/183.efa62e319f31c417c0ca.bundle.js +1 -0
  93. package/dist/{175.1b84ab33587a120edf96.bundle.js → 184.552c2b2b052055836ce4.bundle.js} +1 -1
  94. package/dist/{176.8c5f2eac9630f47dcfe6.bundle.js → 185.3a6ad805beea5463bce4.bundle.js} +1 -1
  95. package/dist/{177.b4e1effc89e36a54d383.bundle.js → 186.143e5ad84b2c09e46e2f.bundle.js} +1 -1
  96. package/dist/{178.5878cdc649570bd1584c.bundle.js → 187.a0252349726fc1769062.bundle.js} +1 -1
  97. package/dist/{179.e3d0eb54e065b5d3a9b3.bundle.js → 188.027851ded787d03613e6.bundle.js} +1 -1
  98. package/dist/{180.253197fc8d3c22a436eb.bundle.js → 189.073d9c322abd0f32eeb2.bundle.js} +1 -1
  99. package/dist/{19.9a73670b7772d8bf1969.bundle.js → 19.363c9aa6e23edc2d4de3.bundle.js} +2 -2
  100. package/dist/{181.6647e03a6aef077b32de.bundle.js → 190.e7e71f5ff37cbf53818b.bundle.js} +1 -1
  101. package/dist/{182.a1fda6fcbab204e52e0c.bundle.js → 191.fa25315693e20379049a.bundle.js} +1 -1
  102. package/dist/{183.18cb5ff4f822a8fed662.bundle.js → 192.413cff782db89de0b18e.bundle.js} +1 -1
  103. package/dist/{184.f12257544b5398d3f2a3.bundle.js → 193.f91e9b04e7c557236b54.bundle.js} +1 -1
  104. package/dist/{185.14c3f0198be367d63776.bundle.js → 194.5950cac00640ecf44c8a.bundle.js} +1 -1
  105. package/dist/{186.0202fbf77a009c0044d1.bundle.js → 195.e29cc44cb556ad8ae365.bundle.js} +1 -1
  106. package/dist/{187.391e7d134c74be03ba3f.bundle.js → 196.ae170313a46e965c68f6.bundle.js} +1 -1
  107. package/dist/{188.ac13c63e6f27a377ba89.bundle.js → 197.2a95aa72f0947c45119e.bundle.js} +1 -1
  108. package/dist/{189.dddf3f9a7ebe12c03816.bundle.js → 198.3c7033f22651a01cac5f.bundle.js} +1 -1
  109. package/dist/{190.d7ad07ba4f1352960a8c.bundle.js → 199.06b3c496c200f8814c86.bundle.js} +1 -1
  110. package/dist/2.27244531b018542ba801.bundle.js +1 -0
  111. package/dist/{20.918905a6efc81c27dcf6.bundle.js → 20.633349dfb31fe077713c.bundle.js} +1 -1
  112. package/dist/{191.5d9d4325ae7b9ee2a4a9.bundle.js → 200.7a2b528816b82fe893d3.bundle.js} +1 -1
  113. package/dist/{192.633b1aba2828a7f05a5e.bundle.js → 201.084a4f3fd929961981e5.bundle.js} +1 -1
  114. package/dist/{193.1fbde1bb67cbf14b1790.bundle.js → 202.d0e7aecc14152039e4c4.bundle.js} +1 -1
  115. package/dist/203.f2febb8f757a973644fd.bundle.js +1 -0
  116. package/dist/{195.225e32febad8b009632d.bundle.js → 204.ae774828c8152331ad6d.bundle.js} +1 -1
  117. package/dist/{196.6bbcfa8da98327b65eb1.bundle.js → 205.b0c57328d5e105079c35.bundle.js} +1 -1
  118. package/dist/{197.541dd252fe17ef0e0f77.bundle.js → 206.7b699abfaf69be489e57.bundle.js} +1 -1
  119. package/dist/{198.63399ef675dbcd2056b7.bundle.js → 207.bf8c99978e5cc5c08406.bundle.js} +1 -1
  120. package/dist/{199.282d9b54b913bfc128d3.bundle.js → 208.5147a7c4dbfbd3eb0f69.bundle.js} +1 -1
  121. package/dist/{200.76fd30afe28687f92b15.bundle.js → 209.7e960699e4f4298009d8.bundle.js} +1 -1
  122. package/dist/21.15b9b8262f1964747bac.bundle.js +1 -0
  123. package/dist/{201.889e42d915554f3cd902.bundle.js → 210.56bbb4587d28942d3f1c.bundle.js} +1 -1
  124. package/dist/{202.05304444fcad7ed7158e.bundle.js → 211.a13bdb482ae7393d0ee6.bundle.js} +1 -1
  125. package/dist/{203.81ba13895d041a1a4300.bundle.js → 212.ed5d6787ec8aff33b1c8.bundle.js} +1 -1
  126. package/dist/{204.1f6da63d62a8a330ca43.bundle.js → 213.2e9d9ea422421a1e8151.bundle.js} +1 -1
  127. package/dist/214.076164b0af950e717af1.bundle.js +1 -0
  128. package/dist/{206.294496c4ba1c972bfad7.bundle.js → 215.6cde17d50370c0442e85.bundle.js} +1 -1
  129. package/dist/{207.898fb8ad46af1a86525d.bundle.js → 216.15c5469c56659f300b32.bundle.js} +1 -1
  130. package/dist/{208.51b02bb87aae392135d2.bundle.js → 217.43b77355f258b57a14f7.bundle.js} +1 -1
  131. package/dist/{209.a51458ccf909fbbc9b1f.bundle.js → 218.aea02c8376dc86418fbc.bundle.js} +1 -1
  132. package/dist/{210.337c0b7764194dc8cb4e.bundle.js → 219.516183464924beb9a706.bundle.js} +1 -1
  133. package/dist/{21.fa61daf65c6bc29e06a2.bundle.js → 22.aeefe163b545627f1d09.bundle.js} +1 -1
  134. package/dist/220.e275fe520fefab7af758.bundle.js +1 -0
  135. package/dist/221.dfb5409f0365f23033d6.bundle.js +1 -0
  136. package/dist/{22.3850ed5528218c3beb66.bundle.js → 23.3c999215eced890b5ff2.bundle.js} +2 -2
  137. package/dist/24.71d0d8b04b31afaf525d.bundle.js +1 -0
  138. package/dist/25.29c1a52c46ae6e5bf6e1.bundle.js +1 -0
  139. package/dist/{25.a5373b84a4b761ac765f.bundle.js → 26.0078e28534d9834ef61c.bundle.js} +2 -2
  140. package/dist/{26.60c61d8ca245bad6597d.bundle.js → 27.7041267ccea224c740bb.bundle.js} +1 -1
  141. package/dist/{28.79f65106f49c5036504b.bundle.js → 28.4e990f76e2e5e755d17a.bundle.js} +1 -1
  142. package/dist/29.724eaf5f0dfd2ac90279.bundle.js +1 -0
  143. package/dist/{2.888ee146d785447620e1.bundle.js → 3.e05ab735701193af6482.bundle.js} +3 -3
  144. package/dist/30.70aea4704eeccc7c7f4e.bundle.js +1 -0
  145. package/dist/31.b0832eb06dff577a2884.bundle.js +1 -0
  146. package/dist/{32.27c9ee63125cca89f908.bundle.js → 32.6725d94946764db833b8.bundle.js} +1 -1
  147. package/dist/{33.c659ec3148f68ca30b34.bundle.js → 33.6ed382c85a678d5aef03.bundle.js} +1 -1
  148. package/dist/34.a72a260f74aaba3b900f.bundle.js +1 -0
  149. package/dist/{35.0766d50ada31ef79b4b0.bundle.js → 35.c6277b1733bb56ebb77f.bundle.js} +1 -1
  150. package/dist/36.7ed08392620f744fa5fe.bundle.js +1 -0
  151. package/dist/{39.a5409bc3fec719768f37.bundle.js → 37.d9b0dd8e052ad9170f68.bundle.js} +1 -1
  152. package/dist/38.fc47c2dfe84f1191fc52.bundle.js +1 -0
  153. package/dist/{41.62789a75dd9dddbc1297.bundle.js → 39.5ca9fa51ec3c63459317.bundle.js} +1 -1
  154. package/dist/4.b2b47509992147defe13.bundle.js +1 -0
  155. package/dist/{42.0df0808308a3829462fb.bundle.js → 40.ed8046b6a9b0d3caf9be.bundle.js} +1 -1
  156. package/dist/{43.3876fb2ec9b5b6b646df.bundle.js → 41.aba092368b9345fe062a.bundle.js} +1 -1
  157. package/dist/42.3d78a3aa611c675962fb.bundle.js +1 -0
  158. package/dist/43.b526b62055ad7de96121.bundle.js +1 -0
  159. package/dist/44.46c9e2d54a9f07d78368.bundle.js +1 -0
  160. package/dist/45.92354ad019764175a9ed.bundle.js +1 -0
  161. package/dist/46.1cd4e185759ae8243acf.bundle.js +1 -0
  162. package/dist/{45.2b1cf89f777bb5fda383.bundle.js → 47.19d84d51353da324399f.bundle.js} +1 -1
  163. package/dist/{46.f07b159fc6cc07492e2b.bundle.js → 48.218e2aaabf74b9581a6c.bundle.js} +1 -1
  164. package/dist/49.c860016d29f0ce0ca57e.bundle.js +1 -0
  165. package/dist/5.5145784e4654d2e23e1c.bundle.js +1 -0
  166. package/dist/{48.345db2f50dae9ec7d11a.bundle.js → 50.5c0fcd0058f3a064e199.bundle.js} +1 -1
  167. package/dist/{49.b0d0df9a0bd2458a38f7.bundle.js → 51.4f3e41ab41b59f359e84.bundle.js} +1 -1
  168. package/dist/52.d4f5456a2472a9e53d04.bundle.js +1 -0
  169. package/dist/{51.9a911ea64d2bbe27a6b8.bundle.js → 53.cffe6e00dbc3ac17312f.bundle.js} +1 -1
  170. package/dist/{52.0673b651acdd40122168.bundle.js → 54.a7818f7324e13ec88c6b.bundle.js} +1 -1
  171. package/dist/55.ed4b4f736fe52e33a015.bundle.js +1 -0
  172. package/dist/56.97fbc0aa4335ce9cacbd.bundle.js +1 -0
  173. package/dist/57.489b2ca7bcd40b2cdbd1.bundle.js +1 -0
  174. package/dist/58.b0eb478bedabd86c9f51.bundle.js +1 -0
  175. package/dist/59.9cd6b16351fc69b0eddd.bundle.js +1 -0
  176. package/dist/6.b71c0688cf5a66986261.bundle.js +1 -0
  177. package/dist/60.8294eed673a656d9b671.bundle.js +1 -0
  178. package/dist/61.0bdd8867d31cfb74e765.bundle.js +1 -0
  179. package/dist/62.45480ced0d6b702e1ed1.bundle.js +1 -0
  180. package/dist/63.c9b275237948c9fe6cd1.bundle.js +1 -0
  181. package/dist/64.d88caab2c40224d5b6d1.bundle.js +1 -0
  182. package/dist/{62.3a5f8d2165a2f6058360.bundle.js → 65.afcbd04d22d792029cec.bundle.js} +1 -1
  183. package/dist/{63.2ea3fe6eb8be5ab57564.bundle.js → 66.f9d7ffae5780e1ae0073.bundle.js} +1 -1
  184. package/dist/67.102bfa70361d4e29e572.bundle.js +1 -0
  185. package/dist/{65.da0571f9102cc340a6b9.bundle.js → 68.05bba948c414a1e21c8f.bundle.js} +1 -1
  186. package/dist/{66.104f9f5e48af12f94fbe.bundle.js → 69.1255e8072e739c4b3486.bundle.js} +1 -1
  187. package/dist/{6.8ec0502f2e6517640ba2.bundle.js → 7.e6d49cdeb97a19ef9ae9.bundle.js} +1 -1
  188. package/dist/{67.fa36cb1b8e55e91d8850.bundle.js → 70.fe6fbd7331d2373c8a24.bundle.js} +1 -1
  189. package/dist/{68.1d425ce7da7058254c2f.bundle.js → 71.e9c3c5ccc70f443c97cf.bundle.js} +1 -1
  190. package/dist/{69.7816b63a19bf02451f5d.bundle.js → 72.6e8d51e0d240af360ab5.bundle.js} +1 -1
  191. package/dist/73.57e88cee0af3f67aee77.bundle.js +1 -0
  192. package/dist/{71.1d860b69a990d36ece53.bundle.js → 74.042e0bb0fcc0661d32b0.bundle.js} +1 -1
  193. package/dist/75.c75a824264d0e67421ed.bundle.js +1 -0
  194. package/dist/76.2ad0f5373462bc70bebf.bundle.js +1 -0
  195. package/dist/77.303a075d21928354102c.bundle.js +1 -0
  196. package/dist/{73.fe7ca97e0d6f3e83d9af.bundle.js → 78.569dd71e4cc7ac3a4383.bundle.js} +1 -1
  197. package/dist/79.29d39a29721f936ae688.bundle.js +1 -0
  198. package/dist/{7.39ff1f0ec65d7d7b73f5.bundle.js → 8.b9208e8a96195c97a70e.bundle.js} +2 -2
  199. package/dist/80.8af0388db859fcc9fbf3.bundle.js +1 -0
  200. package/dist/{74.02eb1c81c5a7b39d63be.bundle.js → 81.c378171b96d12cdf8bcc.bundle.js} +1 -1
  201. package/dist/{75.89f4b3371fc1c8679763.bundle.js → 82.27bb51dfeb4898504e96.bundle.js} +1 -1
  202. package/dist/83.a59d34bc50cf323af43d.bundle.js +1 -0
  203. package/dist/{77.122517ab9f81c08963fd.bundle.js → 84.a4ee7bb5d3ed2e6ead5e.bundle.js} +1 -1
  204. package/dist/{78.a1ebfb9feff3f6aaa5ba.bundle.js → 85.1f1b07562fbf97ab3e11.bundle.js} +1 -1
  205. package/dist/{79.cb33ee2df704588c0dee.bundle.js → 86.62f32aad4394438158a1.bundle.js} +1 -1
  206. package/dist/{80.28723cd3d93bd3fe3c1b.bundle.js → 87.7efe382329921dae6a63.bundle.js} +1 -1
  207. package/dist/88.f442fbeb61fe955ce244.bundle.js +1 -0
  208. package/dist/{82.63053f57c54f3870c6b4.bundle.js → 89.560e5a053d8dcbaca38a.bundle.js} +1 -1
  209. package/dist/{8.2b1b357b8afba4bd5dda.bundle.js → 9.20ca8dfe69566d4b4000.bundle.js} +1 -1
  210. package/dist/{83.0837870d0e1682a6487c.bundle.js → 90.3fedce156ebc83022f47.bundle.js} +1 -1
  211. package/dist/{84.160b1ea5b257276fe22f.bundle.js → 91.08b1de35f973e0283974.bundle.js} +1 -1
  212. package/dist/{85.32462b06fa1284fc2a87.bundle.js → 92.fcea4fdca795fa33f2fb.bundle.js} +1 -1
  213. package/dist/{86.399f5cbb00afc5ccccd7.bundle.js → 93.420c7a3794d642e35e63.bundle.js} +1 -1
  214. package/dist/94.cf5b0e70e34e60663eb5.bundle.js +1 -0
  215. package/dist/{88.738b3a2efa5ba9bfef71.bundle.js → 95.a6ad56ceb5d5a63c2b8d.bundle.js} +1 -1
  216. package/dist/{89.ecce6e48f1d5921ad7b9.bundle.js → 96.524be695eddce9b9905c.bundle.js} +1 -1
  217. package/dist/{90.052a76395eb9473edb9e.bundle.js → 97.7173fb835cc5b1ac4cda.bundle.js} +1 -1
  218. package/dist/{91.a6eb1cd89547ccc2da08.bundle.js → 98.18b00fa95b6f5b1cf072.bundle.js} +1 -1
  219. package/dist/{92.a76fcac9855d6ea43acc.bundle.js → 99.a89c13f7abc4e0374809.bundle.js} +1 -1
  220. package/dist/{bundle.a9867344f97149ebf778.bundle.js → bundle.e613b501c95eab6c69a3.bundle.js} +18 -18
  221. package/dist/css/clustermanagement.css +4 -0
  222. package/dist/css/graphs-vizualizations.css +1 -1
  223. package/dist/i18n/locale-en.json +14 -4
  224. package/dist/i18n/locale-fr.json +14 -4
  225. package/dist/index.html +3 -3
  226. package/dist/js/angular/clustermanagement/templates/modal/add-nodes-dialog.html +13 -6
  227. package/dist/js/angular/clustermanagement/templates/modal/cluster-create-dialog.html +15 -8
  228. package/dist/js/angular/clustermanagement/templates/modal/replace-nodes-dialog.html +86 -0
  229. package/dist/js/angular/core/directives/autocomplete/templates/autocomplete.html +1 -1
  230. package/dist/js/angular/core/directives/operations-statuses-monitor/templates/operations-statuses-monitor.html +1 -1
  231. package/dist/js/angular/core/directives/rdfresourcesearch/templates/rdfResourceSearchTemplate.html +1 -1
  232. package/dist/js/angular/core/templates/core-errors.html +10 -9
  233. package/dist/js/angular/import/templates/urlImport.html +1 -1
  234. package/dist/js/angular/security/templates/user.html +4 -1
  235. package/dist/js/angular/templates/modal/add-location.html +1 -5
  236. package/dist/license-checker-static.json +4 -4
  237. package/dist/license-checker.json +304 -255
  238. package/dist/{main.dc50b704432268af5a47.bundle.js → main.59cc940bfa0eccfd4250.bundle.js} +1 -1
  239. package/dist/pages/aclmanagement.html +1 -1
  240. package/dist/pages/autocomplete.html +1 -1
  241. package/dist/pages/choose-repository-type.html +1 -1
  242. package/dist/pages/cluster-management/clusterInfo.html +10 -5
  243. package/dist/pages/create-index.html +4 -4
  244. package/dist/pages/dependencies.html +1 -1
  245. package/dist/pages/domainRangeInfo.html +2 -2
  246. package/dist/pages/edit.html +1 -1
  247. package/dist/pages/explore.html +1 -1
  248. package/dist/pages/export.html +1 -1
  249. package/dist/pages/find.html +1 -1
  250. package/dist/pages/graph-config/saveGraphConfig.html +11 -11
  251. package/dist/pages/graphs-visualizations.html +7 -7
  252. package/dist/pages/guides.html +1 -1
  253. package/dist/pages/import.html +1 -1
  254. package/dist/pages/jdbc-create.html +5 -5
  255. package/dist/pages/monitor/backup-and-restore.html +1 -1
  256. package/dist/pages/monitor/queries.html +1 -1
  257. package/dist/pages/monitor/resources.html +31 -14
  258. package/dist/pages/namespaces.html +3 -3
  259. package/dist/pages/plugins.html +1 -1
  260. package/dist/pages/rdfClassHierarchyInfo.html +12 -12
  261. package/dist/pages/rdfrank.html +2 -2
  262. package/dist/pages/repositories.html +1 -3
  263. package/dist/pages/repository.html +1 -3
  264. package/dist/pages/similarity-indexes.html +1 -1
  265. package/dist/pages/sparql-template-create.html +5 -5
  266. package/dist/pages/sparql.html +3 -3
  267. package/dist/pages/webapi.html +2 -2
  268. package/dist/plugins.js +2 -0
  269. package/dist/res/swagger/index.html +27 -27
  270. package/dist/vendor.cb970154313e9e743bd3.bundle.js +27 -0
  271. package/package.json +3 -6
  272. package/dist/1.62d2152f08a53359457f.bundle.js +0 -1
  273. package/dist/10.2fd5d150b0f308c19b16.bundle.js +0 -1
  274. package/dist/115.a39103a5752b1dee21dd.bundle.js +0 -1
  275. package/dist/116.b3acff9003106b7f9b62.bundle.js +0 -1
  276. package/dist/12.dd3a24172cf3cdec30f0.bundle.js +0 -29
  277. package/dist/128.280921c83837d6b5ed1e.bundle.js +0 -1
  278. package/dist/13.3eb06b80cef486be700e.bundle.js +0 -1
  279. package/dist/131.80cb5a2bd108a4f0c74c.bundle.js +0 -1
  280. package/dist/14.82b9ba9a0a77131aa582.bundle.js +0 -1
  281. package/dist/140.e35e4a6421c31a6eb0d2.bundle.js +0 -1
  282. package/dist/15.b27c1c98f320b78e704c.bundle.js +0 -1
  283. package/dist/16.9f43f2a2cb3de6b50964.bundle.js +0 -1
  284. package/dist/163.18ce4731466e3c04fe13.bundle.js +0 -1
  285. package/dist/164.f26289867aedbaf63da2.bundle.js +0 -1
  286. package/dist/174.73ba2cba36d471c65a24.bundle.js +0 -1
  287. package/dist/194.409535e01db5b95f7902.bundle.js +0 -1
  288. package/dist/205.f57f57ac33eaff53b51d.bundle.js +0 -1
  289. package/dist/211.1f858cfbe1e9267dd629.bundle.js +0 -1
  290. package/dist/212.1c0e881dff8f75170f2a.bundle.js +0 -1
  291. package/dist/23.dc3e430b47f766cc2366.bundle.js +0 -1
  292. package/dist/24.4c9b73b3909403e82055.bundle.js +0 -1
  293. package/dist/27.56996601ec3795c65c3d.bundle.js +0 -1
  294. package/dist/29.3f41e0d8e9f58188a02b.bundle.js +0 -1
  295. package/dist/3.f2e3c8a056a0e0f1068c.bundle.js +0 -1
  296. package/dist/30.4712f3e92b6469d3d8dd.bundle.js +0 -1
  297. package/dist/31.a05a0072057c061cd0dc.bundle.js +0 -1
  298. package/dist/34.e5150a1b66426d5f5af7.bundle.js +0 -1
  299. package/dist/36.25471fd55c32f7f02568.bundle.js +0 -1
  300. package/dist/37.356f6302c079cea446b6.bundle.js +0 -1
  301. package/dist/38.94b303a3b944480a495a.bundle.js +0 -1
  302. package/dist/4.83e133ed3a567a27c699.bundle.js +0 -1
  303. package/dist/40.61f5dedc12beb42c1f44.bundle.js +0 -1
  304. package/dist/44.e63112a4f3ee65c29a0a.bundle.js +0 -1
  305. package/dist/47.1bacc6e38fde37677380.bundle.js +0 -1
  306. package/dist/5.93d75276b7a283deddc8.bundle.js +0 -1
  307. package/dist/50.f453781f031f1511a294.bundle.js +0 -1
  308. package/dist/53.9b5d43c58aa368765457.bundle.js +0 -1
  309. package/dist/54.028884d762d361c54c23.bundle.js +0 -1
  310. package/dist/55.4966f01604a6c84d301e.bundle.js +0 -1
  311. package/dist/56.da176c234be30906ed18.bundle.js +0 -1
  312. package/dist/57.413a1beccae08b5eb787.bundle.js +0 -1
  313. package/dist/58.8ba78ec049c5c97e4391.bundle.js +0 -1
  314. package/dist/59.25436d0038d7be337d24.bundle.js +0 -1
  315. package/dist/60.571f2c6fcdec505acb5a.bundle.js +0 -1
  316. package/dist/61.8dca89c50677ace894ee.bundle.js +0 -1
  317. package/dist/64.4e84a027a9f1d66a69db.bundle.js +0 -1
  318. package/dist/70.fcca4105919427b384ee.bundle.js +0 -1
  319. package/dist/72.25f264649b4e7f9dd670.bundle.js +0 -1
  320. package/dist/76.7d3ef13875f7533cc029.bundle.js +0 -1
  321. package/dist/81.e4cdfbb440c07a0f9d1e.bundle.js +0 -1
  322. package/dist/87.1a8b0b4fd818a413de82.bundle.js +0 -1
  323. package/dist/9.0e4d38f2390c619f5b26.bundle.js +0 -1
  324. package/dist/95.2c6ad9bc82627035b7ed.bundle.js +0 -1
  325. package/dist/96.0c1b0454a0595ac0b888.bundle.js +0 -1
  326. package/dist/97.f0e6133cd5a664499c6f.bundle.js +0 -1
  327. package/dist/98.1886caa9872ba5f2eb07.bundle.js +0 -1
  328. package/dist/99.42f11427ea2c99e9173b.bundle.js +0 -1
  329. package/dist/css/lib/bootstrap-switch/bootstrap-switch.min.css +0 -10
  330. package/dist/js/lib/nvd3/nv.d3.css +0 -653
  331. package/dist/vendor.c22e3aa91c9d63aeef57.bundle.js +0 -35
@@ -1 +1 @@
1
- (window.webpackJsonp=window.webpackJsonp||[]).push([[20,21,32,41,65,138],{136:function(e,t,s){"use strict";s.r(t);s(7),s(23),s(29),s(86),s(90),s(22);angular.module("graphdb.framework.aclmanagement",["ui.bootstrap","toastr","ngCookies","ngRoute","graphdb.framework.aclmanagement.controllers","graphdb.framework.core.services.repositories","graphdb.framework.core.directives","graphdb.framework.core.controllers"])},60:function(e,t,s){"use strict";s.r(t),s.d(t,"mapNamespacesResponse",(function(){return l}));const l=e=>e&&e.data?e.data.results.bindings.map(e=>({prefix:e.prefix.value,uri:e.namespace.value})):[]},64:function(e,t,s){"use strict";s.r(t),s.d(t,"mapAclRulesResponse",(function(){return r}));var l=s(65);const r=e=>{const t=new l.ACListModel;return e&&e.data&&e.data.forEach(e=>{t.appendNewRule(e.subject,e.predicate,e.object,e.context,e.role,e.policy)}),t}},65:function(e,t,s){"use strict";s.r(t),s.d(t,"ACListModel",(function(){return l})),s.d(t,"ACRuleModel",(function(){return r})),s.d(t,"ACL_POLICY",(function(){return o}));class l{constructor(e=[]){this._aclRules=e}size(){return this.aclRules.length}appendNewRule(e,t,s,l,o,n){this.aclRules.push(new r(e,t,s,l,o,n))}addRule(e){this.aclRules.splice(e,0,new r)}removeRule(e){this.aclRules.splice(e,1)}replaceRule(e,t){this.aclRules.splice(e,1,t)}getRule(e){return this.aclRules[e]}isRuleDuplicated(e){const t=this.aclRules[e];return this.aclRules.some((s,l)=>e!==l&&angular.equals(t,s))}getRuleCopy(e){const t=this.aclRules[e];return{subject:t.subject,predicate:t.predicate,object:t.object,context:t.context,role:t.role,policy:t.policy}}moveUp(e){const t=this.aclRules[e-1];this.aclRules[e-1]=this.aclRules[e],this.aclRules[e]=t}moveDown(e){const t=this.aclRules[e+1];this.aclRules[e+1]=this.aclRules[e],this.aclRules[e]=t}toJSON(){return this.aclRules.map(e=>({subject:e.subject,predicate:e.predicate,object:e.object,context:e.context,role:e.role,policy:e.policy}))}get aclRules(){return this._aclRules}set aclRules(e){this._aclRules=e}}class r{constructor(e="*",t="*",s="*",l="*",r="CUSTOM_",n=o.ALLOW){this._subject=e,this._predicate=t,this._object=s,this._context=l,this._role=r,this._policy=n}get subject(){return this._subject}set subject(e){this._subject=e}get predicate(){return this._predicate}set predicate(e){this._predicate=e}get object(){return this._object}set object(e){this._object=e}get context(){return this._context}set context(e){this._context=e}get role(){return this._role}set role(e){this._role=e}get policy(){return this._policy}set policy(e){this._policy=e}}const o={ALLOW:"allow",DENY:"deny"}},87:function(e,t,s){"use strict";s.r(t);s(64);angular.module("graphdb.framework.rest.aclmanagement.service",[]).factory("AclManagementRestService",l),l.$inject=["$http"];function l(e){return{getAcl:function(t){return e.get(`rest/repositories/${t}/acl`)},updateAcl:function(t,s){return e.put(`rest/repositories/${t}/acl`,s)}}}},90:function(e,t,s){"use strict";s.r(t);s(30),s(87);var l=s(64),r=s(85),o=s(60);function n(e,t,s,n,a,c,i,u,d){e.contextValue=void 0;const p=[];e.ruleData={},e.loading=!1,e.namespaces=[],e.rulesModel=void 0,e.rulesModelCopy=void 0,e.selectedRule=void 0,e.editedRuleIndex=void 0,e.editedRuleCopy=void 0,e.isNewRule=!1,e.modelIsDirty=!1,e.addRule=t=>{e.rulesModel.addRule(t),e.editedRuleIndex=t,e.isNewRule=!0,v()},e.editRule=t=>{e.editedRuleIndex=t,e.isNewRule=!1,e.editedRuleCopy=e.rulesModel.getRuleCopy(t),v()},e.deleteRule=t=>{i.openConfirmation(c.instant("common.confirm"),c.instant("acl_management.rulestable.messages.delete_rule_confirmation",{index:t}),()=>{e.rulesModel.removeRule(t),v()})},e.saveRule=()=>{e.rulesModel.isRuleDuplicated(e.editedRuleIndex)?f():(e.editedRuleIndex=void 0,e.isNewRule=!1,v())},e.cancelEditing=t=>{e.isNewRule?(e.rulesModel.removeRule(t),e.isNewRule=!1):(e.rulesModel.replaceRule(t,e.editedRuleCopy),e.editedRuleCopy=void 0),e.editedRuleIndex=void 0,v()},e.moveUp=t=>{e.rulesModel.moveUp(t),e.selectedRule=t-1,v()},e.moveDown=t=>{e.rulesModel.moveDown(t),e.selectedRule=t+1,v()},e.saveAcl=()=>{e.loading=!0,R().then(m).catch(e=>{const t=getError(e);s.error(t,c.instant("acl_management.errors.updating_rules"))}).finally(()=>{e.loading=!1})},e.cancelAclSave=()=>{i.openConfirmation(c.instant("common.confirm"),c.instant("acl_management.rulestable.messages.revert_acl_list"),()=>{g(),s.success(c.instant("acl_management.rulestable.messages.rules_reverted"))})};const m=()=>{const t=b();return n.getAcl(t).then(t=>{e.rulesModel=Object(l.mapAclRulesResponse)(t),e.rulesModelCopy=Object(l.mapAclRulesResponse)(t),v()}).catch(e=>{const t=getError(e);s.error(t,c.instant("acl_management.errors.loading_rules"))})},R=()=>{const t=b();return n.updateAcl(t,e.rulesModel.toJSON()).then(()=>{s.success(c.instant("acl_management.rulestable.messages.rules_updated"))})},g=()=>{b()&&(e.loading=!0,m().finally(()=>{e.loading=!1}))},h=()=>{g(),e.editedRuleIndex=void 0,e.modelIsDirty=!1,e.editedRuleCopy=void 0},v=()=>{e.modelIsDirty=!Object(r.isEqual)(e.rulesModel,e.rulesModelCopy)},b=()=>a.getActiveRepository(),f=()=>{s.error(c.instant("acl_management.errors.duplicated_rules"))},_=t=>{e.modelIsDirty&&(t.returnValue=!0)},w=()=>{window.removeEventListener("beforeunload",_),p.forEach(e=>e())},y=(s,l)=>{e.modelIsDirty&&(s.preventDefault(),i.openSimpleModal({title:c.instant("common.confirm"),message:c.instant("acl_management.rulestable.messages.unsaved_changes_confirmation"),warning:!0}).result.then((function(){w();const e=t.absUrl().length-t.url().length,s=l.substring(e);t.path(s)}),(function(){})))},j=()=>{e.getAutocompletePromise=d.checkAutocompleteStatus()};u.getNamespaces(a.getActiveRepository()).then(o.mapNamespacesResponse).then(t=>{e.namespaces=t}).catch(e=>{const t=getError(e);s.error(t,c.instant("error.getting.namespaces.for.repo"))}),p.push(e.$on("autocompleteStatus",j)),p.push(e.$watch(b,h)),p.push(e.$on("$locationChangeStart",y)),p.push(e.$on("$destroy",w)),window.addEventListener("beforeunload",_)}angular.module("graphdb.framework.aclmanagement.controllers",["graphdb.framework.rest.plugins.service","graphdb.framework.rest.aclmanagement.service"]).controller("AclManagementCtrl",n),n.$inject=["$scope","$location","toastr","AclManagementRestService","$repositories","$translate","ModalService","RDF4JRepositoriesRestService","AutocompleteRestService"]}}]);
1
+ (window.webpackJsonp=window.webpackJsonp||[]).push([[20,22,32,39,68,146],{145:function(e,t,s){"use strict";s.r(t);s(7),s(23),s(29),s(75),s(80),s(22);angular.module("graphdb.framework.aclmanagement",["ui.bootstrap","toastr","ngCookies","ngRoute","graphdb.framework.aclmanagement.controllers","graphdb.framework.core.services.repositories","graphdb.framework.core.directives","graphdb.framework.core.controllers"])},59:function(e,t,s){"use strict";s.r(t),s.d(t,"mapNamespacesResponse",(function(){return l}));const l=e=>e&&e.data?e.data.results.bindings.map(e=>({prefix:e.prefix.value,uri:e.namespace.value})):[]},62:function(e,t,s){"use strict";s.r(t),s.d(t,"mapAclRulesResponse",(function(){return r}));var l=s(63);const r=e=>{const t=new l.ACListModel;return e&&e.data&&e.data.forEach(e=>{t.appendNewRule(e.subject,e.predicate,e.object,e.context,e.role,e.policy)}),t}},63:function(e,t,s){"use strict";s.r(t),s.d(t,"ACListModel",(function(){return l})),s.d(t,"ACRuleModel",(function(){return r})),s.d(t,"ACL_POLICY",(function(){return o}));class l{constructor(e=[]){this._aclRules=e}size(){return this.aclRules.length}appendNewRule(e,t,s,l,o,n){this.aclRules.push(new r(e,t,s,l,o,n))}addRule(e){this.aclRules.splice(e,0,new r)}removeRule(e){this.aclRules.splice(e,1)}replaceRule(e,t){this.aclRules.splice(e,1,t)}getRule(e){return this.aclRules[e]}isRuleDuplicated(e){const t=this.aclRules[e];return this.aclRules.some((s,l)=>e!==l&&angular.equals(t,s))}getRuleCopy(e){const t=this.aclRules[e];return{subject:t.subject,predicate:t.predicate,object:t.object,context:t.context,role:t.role,policy:t.policy}}moveUp(e){const t=this.aclRules[e-1];this.aclRules[e-1]=this.aclRules[e],this.aclRules[e]=t}moveDown(e){const t=this.aclRules[e+1];this.aclRules[e+1]=this.aclRules[e],this.aclRules[e]=t}toJSON(){return this.aclRules.map(e=>({subject:e.subject,predicate:e.predicate,object:e.object,context:e.context,role:e.role,policy:e.policy}))}get aclRules(){return this._aclRules}set aclRules(e){this._aclRules=e}}class r{constructor(e="*",t="*",s="*",l="*",r="CUSTOM_",n=o.ALLOW){this._subject=e,this._predicate=t,this._object=s,this._context=l,this._role=r,this._policy=n}get subject(){return this._subject}set subject(e){this._subject=e}get predicate(){return this._predicate}set predicate(e){this._predicate=e}get object(){return this._object}set object(e){this._object=e}get context(){return this._context}set context(e){this._context=e}get role(){return this._role}set role(e){this._role=e}get policy(){return this._policy}set policy(e){this._policy=e}}const o={ALLOW:"allow",DENY:"deny"}},76:function(e,t,s){"use strict";s.r(t);s(62);angular.module("graphdb.framework.rest.aclmanagement.service",[]).factory("AclManagementRestService",l),l.$inject=["$http"];function l(e){return{getAcl:function(t){return e.get(`rest/repositories/${t}/acl`)},updateAcl:function(t,s){return e.put(`rest/repositories/${t}/acl`,s)}}}},80:function(e,t,s){"use strict";s.r(t);s(30),s(76);var l=s(62),r=s(74),o=s(59);function n(e,t,s,n,a,c,i,u,d){e.contextValue=void 0;const p=[];e.ruleData={},e.loading=!1,e.namespaces=[],e.rulesModel=void 0,e.rulesModelCopy=void 0,e.selectedRule=void 0,e.editedRuleIndex=void 0,e.editedRuleCopy=void 0,e.isNewRule=!1,e.modelIsDirty=!1,e.addRule=t=>{e.rulesModel.addRule(t),e.editedRuleIndex=t,e.isNewRule=!0,v()},e.editRule=t=>{e.editedRuleIndex=t,e.isNewRule=!1,e.editedRuleCopy=e.rulesModel.getRuleCopy(t),v()},e.deleteRule=t=>{i.openConfirmation(c.instant("common.confirm"),c.instant("acl_management.rulestable.messages.delete_rule_confirmation",{index:t}),()=>{e.rulesModel.removeRule(t),v()})},e.saveRule=()=>{e.rulesModel.isRuleDuplicated(e.editedRuleIndex)?f():(e.editedRuleIndex=void 0,e.isNewRule=!1,v())},e.cancelEditing=t=>{e.isNewRule?(e.rulesModel.removeRule(t),e.isNewRule=!1):(e.rulesModel.replaceRule(t,e.editedRuleCopy),e.editedRuleCopy=void 0),e.editedRuleIndex=void 0,v()},e.moveUp=t=>{e.rulesModel.moveUp(t),e.selectedRule=t-1,v()},e.moveDown=t=>{e.rulesModel.moveDown(t),e.selectedRule=t+1,v()},e.saveAcl=()=>{e.loading=!0,R().then(m).catch(e=>{const t=getError(e);s.error(t,c.instant("acl_management.errors.updating_rules"))}).finally(()=>{e.loading=!1})},e.cancelAclSave=()=>{i.openConfirmation(c.instant("common.confirm"),c.instant("acl_management.rulestable.messages.revert_acl_list"),()=>{g(),s.success(c.instant("acl_management.rulestable.messages.rules_reverted"))})};const m=()=>{const t=b();return n.getAcl(t).then(t=>{e.rulesModel=Object(l.mapAclRulesResponse)(t),e.rulesModelCopy=Object(l.mapAclRulesResponse)(t),v()}).catch(e=>{const t=getError(e);s.error(t,c.instant("acl_management.errors.loading_rules"))})},R=()=>{const t=b();return n.updateAcl(t,e.rulesModel.toJSON()).then(()=>{s.success(c.instant("acl_management.rulestable.messages.rules_updated"))})},g=()=>{b()&&(e.loading=!0,m().finally(()=>{e.loading=!1}))},h=()=>{g(),e.editedRuleIndex=void 0,e.modelIsDirty=!1,e.editedRuleCopy=void 0},v=()=>{e.modelIsDirty=!Object(r.isEqual)(e.rulesModel,e.rulesModelCopy)},b=()=>a.getActiveRepository(),f=()=>{s.error(c.instant("acl_management.errors.duplicated_rules"))},_=t=>{e.modelIsDirty&&(t.returnValue=!0)},w=()=>{window.removeEventListener("beforeunload",_),p.forEach(e=>e())},y=(s,l)=>{e.modelIsDirty&&(s.preventDefault(),i.openSimpleModal({title:c.instant("common.confirm"),message:c.instant("acl_management.rulestable.messages.unsaved_changes_confirmation"),warning:!0}).result.then((function(){w();const e=t.absUrl().length-t.url().length,s=l.substring(e);t.path(s)}),(function(){})))},j=()=>{e.getAutocompletePromise=d.checkAutocompleteStatus()};u.getNamespaces(a.getActiveRepository()).then(o.mapNamespacesResponse).then(t=>{e.namespaces=t}).catch(e=>{const t=getError(e);s.error(t,c.instant("error.getting.namespaces.for.repo"))}),p.push(e.$on("autocompleteStatus",j)),p.push(e.$watch(b,h)),p.push(e.$on("$locationChangeStart",y)),p.push(e.$on("$destroy",w)),window.addEventListener("beforeunload",_)}angular.module("graphdb.framework.aclmanagement.controllers",["graphdb.framework.rest.plugins.service","graphdb.framework.rest.aclmanagement.service"]).controller("AclManagementCtrl",n),n.$inject=["$scope","$location","toastr","AclManagementRestService","$repositories","$translate","ModalService","RDF4JRepositoriesRestService","AutocompleteRestService"]}}]);
@@ -1 +1 @@
1
- (window.webpackJsonp=window.webpackJsonp||[]).push([[191],{275:function(module,exports){module.exports=function(obj){obj||(obj={});var __t,__p="";with(obj)__p+='<div class="modal-header">\n <button type="button" class="close" ng-click="cancel()"></button>\n <h4 class="modal-title">{{\'import.settings\' | translate}}</h4>\n</div>\n<div class="modal-body">\n <form name="settingsForm" id="settingsForm" class="settings-form">\n <div class="form-horizontal">\n <div class="form-group row">\n <label class="col-lg-3 col-form-label">\n {{\'import.label.base.iri\' | translate}}\n <span class="btn btn-link p-0"\n uib-popover="{{\'import.popover.relative.iri\' | translate}}"\n popover-trigger="mouseenter"\n popover-placement="right">\n <em class="icon icon-info"></em>\n </span>\n </label>\n <div class="col-lg-9">\n <input validate-uri name="baseURI" type="text" ng-model="settings[\'baseURI\']" class="form-control"\n placeholder="http://exampleuri.com/examplepath">\n <div class="alert alert-danger" ng-show="hasError(settingsForm.$error.validateUri, \'baseURI\')">{{\'import.alert.not.valid.iri\' | translate}}\n </div>\n </div>\n </div>\n <div class="form-group row">\n <label class="col-lg-3 col-form-label">\n {{\'import.target.graphs\' | translate}}\n <span class="btn btn-link p-0"\n uib-popover="{{\'import.into.graphs\' | translate}}"\n popover-trigger="mouseenter"\n popover-placement="right">\n <em class="icon icon-info"></em>\n </span>\n </label>\n <div class="col-lg-9">\n <div>\n <label uib-popover="{{\'import.by.data.source\' | translate}}"\n popover-trigger="mouseenter">\n <input type="radio" class="from-data-btn" ng-model="target" value="data"\n ng-change="settingsForm.context.$setValidity(\'validateUri\', true)">\n {{\'import.from.data\' | translate}}\n </label>\n &nbsp;\n <label uib-popover="{{\'import.into.default.graph\' | translate}}"\n popover-trigger="mouseenter">\n <input type="radio" class="default-graph-btn" ng-model="target" value="default"\n ng-change="settingsForm.context.$setValidity(\'validateUri\', true)">\n {{\'import.default.graph\' | translate}}\n </label>\n &nbsp;\n <label uib-popover="{{\'import.into.user.graph\' | translate}}"\n popover-trigger="mouseenter">\n <input type="radio" class="named-graph-btn" ng-model="target" value="named" class="named-graph-option">\n {{\'import.named.graph\' | translate}}\n </label>\n </div>\n <div>\n <input validate-uri name="context" type="text" ng-required="target === \'named\'"\n ng-disabled="target !== \'named\'" ng-model="settings.context" class="form-control named-graph-input"\n placeholder="http://example.com/graph...">\n </div>\n </div>\n </div>\n <div class="form-group row">\n <div class="col-lg-9 offset-lg-3">\n <label class="col-form-label"\n uib-popover="{{isMultiple ? \'import.mode.not.supported.constraint\' : \'import.enable.replace.option\' | translate}}"\n popover-trigger="mouseenter"\n popover-placement="top">\n <input type="checkbox" class="existing-data-replacement" ng-model="enableReplace" ng-disabled="isMultiple">\n {{\'import.enter.replacement\' | translate}}\n </label>\n </div>\n </div>\n <div class="form-group row" ng-show="enableReplace">\n <label class="col-lg-3 col-form-label">\n {{\'import.replaced.graphs\' | translate}}\n <span class="btn btn-link p-0"\n uib-popover="{{\'import.replaced.graphs.for.update\' | translate}}"\n popover-trigger="mouseenter"\n popover-placement="right">\n <em class="icon icon-info"></em>\n </span>\n </label>\n <label class="col-lg-9 col-form-label" ng-show="target === \'default\' || target === \'named\'">\n <span ng-show="target === \'default\'">{{\'import.default.graph\' | translate}}</span>\n <span ng-show="target === \'named\'">{{settings.context}}</span>\n <span class="text-muted">{{\'import.same.as.target\' | translate}}</span>\n </label>\n <div class="col-lg-9" ng-show="target === \'data\'">\n <div class="row">\n <div class="col-lg-9">\n <input name="replaceGraph" ng-model="replaceGraph" type="text" class="replaced-graphs-input form-control"\n placeholder="http://example.com/graph..."\n ng-keypress="checkEnterReplaceGraph($event, replaceGraph)"\n uib-popover="{{\'import.graph.wildcard\' | translate}}"\n popover-placement="top"\n popover-trigger="mouseenter">\n </div>\n <div class="col-lg-3 col-lg-no-padding">\n <div class="btn-group" uib-dropdown>\n <button type="button" class="btn btn-primary add-graph-btn" ng-click="addReplaceGraph(replaceGraph)">\n <span class="icon-plus"></span> {{\'import.add.graph\' | translate}}\n </button>\n <button type="button" class="btn btn-primary dropdown-toggle-split dropdown-toggle"\n uib-dropdown-toggle>\n <span class="sr-only"></span>\n </button>\n <ul class="dropdown-menu" role="menu">\n <li>\n <button type="button" class="dropdown-item"\n ng-click="addReplaceGraph(\'default\')">{{\'import.add.default.graph\' | translate}}\n </button>\n </li>\n </ul>\n </div>\n </div>\n </div>\n <div>\n <table aria-describedby="Replaced graphs table">\n <tr>\n <th id="graphsColumn">\n <span ng-show="settings.replaceGraphs.length">{{\'import.replaced.graphs\' | translate}}</span>\n <span ng-show="!settings.replaceGraphs.length">{{\'import.no.replaced.graphs.added\' | translate}}</span>\n </th>\n </tr>\n <tr ng-repeat="g in settings.replaceGraphs">\n <td>\n <span ng-show="g !== \'default\'">{{g}}</span>\n <span ng-show="g === \'default\'">{{\'import.default.graph\' | translate}}</span>\n <button type="button" class="btn btn-link btn-sm secondary"\n ng-click="settings.replaceGraphs.splice($index, 1)">\n <em class="icon icon-trash"></em>\n </button>\n </td>\n </tr>\n </table>\n </div>\n </div>\n <div class="col-lg-9 offset-lg-3">\n <label class="col-form-label">\n <input type="checkbox" class="graph-replace-confirm-checkbox" ng-model="agree" ng-required="enableReplace">\n <strong>{{\'import.data.cleared.before.import\' | translate}}</strong>\n </label>\n </div>\n </div>\n <div class="text-xs-center">\n <button type="button" ng-click="switchParserSettings()" class="btn btn-link btn-sm toggle-advanced-settings">\n <span ng-hide="showAdvancedSettings">{{\'import.show.advance.settings\' | translate}}<em class="icon-caret-down"></em></span>\n <span ng-show="showAdvancedSettings">{{\'import.hide.advance.settings\' | translate}}<em class="icon-caret-up"></em></span>\n </button>\n </div>\n\n <div ng-show="hasParserSettings && showAdvancedSettings" class="advanced-settings">\n <div class="form-group row">\n <label class="col-lg-3 col-form-label">{{\'import.label.bnodes\' | translate}}</label>\n <div class="col-lg-9">\n <div>\n <label>\n <input name="preserveBNodeIDs" type="checkbox"\n ng-model="settings[\'parserSettings\'][\'preserveBNodeIds\']"\n uib-popover="{{\'import.assign.own.bnode.ids\' | translate}}"\n popover-trigger="mouseenter"\n popover-placement="bottom"> {{\'import.preserve.bnode.ids\' | translate}}\n </label>\n </div>\n </div>\n </div>\n <div class="form-group row">\n <label class="col-lg-3 col-form-label">{{\'import.label.datatype\' | translate}}</label>\n <div class="col-lg-9">\n <div>\n <label>\n <input name="failOnUnknownDataTypes" type="checkbox"\n ng-model="settings[\'parserSettings\'][\'failOnUnknownDataTypes\']"\n uib-popover="{{\'import.fail.unknown.datatype\' | translate}}"\n popover-trigger="mouseenter"\n popover-placement="bottom"> {{\'import.fail.parsing.if.unrecognised\' | translate}}\n </label>\n </div>\n <div>\n <label>\n <input name="verifyDataTypeValues" type="checkbox"\n ng-model="settings[\'parserSettings\'][\'verifyDataTypeValues\']"\n uib-popover="{{\'import.validate.recognised\' | translate}}"\n popover-trigger="mouseenter"\n popover-placement="bottom"> {{\'import.verify.recognised\' | translate}}\n </label>\n </div>\n <div>\n <label>\n <input name="normalizeDataTypeValues" type="checkbox"\n ng-model="settings[\'parserSettings\'][\'normalizeDataTypeValues\']"\n uib-popover="{{\'import.normalize.recognised\' | translate}}"\n popover-trigger="mouseenter"\n popover-placement="bottom"> {{\'import.normalize.recognised\' | translate}}\n </label>\n </div>\n </div>\n </div>\n\n <div class="form-group row">\n <label class="col-lg-3 col-form-label">{{\'import.language.tags\' | translate}}</label>\n <div class="col-lg-9">\n <div>\n <label>\n <input name="failOnUnknownLanguageTags" type="checkbox"\n ng-model="settings[\'parserSettings\'][\'failOnUnknownLanguageTags\']"\n uib-popover="{{\'import.fail.lang.unknown\' | translate}}"\n popover-trigger="mouseenter"\n popover-placement="bottom"> {{\'import.fail.parsing.lang.unknown\' | translate}}\n </label>\n </div>\n <div>\n <label>\n <input name="verifyLanguageTags" type="checkbox"\n ng-model="settings[\'parserSettings\'][\'verifyLanguageTags\']"\n uib-popover="{{\'import.validate.lang.tags\' | translate}}"\n popover-trigger="mouseenter"\n popover-placement="bottom"> {{\'import.verify.language\' | translate}}\n </label>\n </div>\n <div>\n <label>\n <input name="normalizeLanguageTags" type="checkbox"\n ng-model="settings[\'parserSettings\'][\'normalizeLanguageTags\']"\n uib-popover="{{\'import.normalize.lang.tags\' | translate}}"\n popover-trigger="mouseenter"\n popover-placement="bottom"> {{\'import.normalize.recognized.tags\' | translate}}\n </label>\n </div>\n </div>\n </div>\n\n <div class="form-group row">\n <label class="col-lg-3 col-form-label">{{\'import.error.handling\' | translate}}</label>\n <div class="col-lg-9">\n <label>\n <input name="stopOnError" type="checkbox"\n ng-model="settings[\'parserSettings\'][\'stopOnError\']"\n uib-popover="{{\'import.parser.stops.on.error\' | translate}}"\n popover-trigger="mouseenter"\n popover-placement="bottom"> {{\'import.should.stop.on.error\' | translate}}\n </label>\n </div>\n </div>\n </div>\n\n <div ng-show="showAdvancedSettings" class="form-group row">\n <label class="col-lg-3 col-form-label">{{\'import.debug.label\' | translate}}</label>\n <div class="col-lg-9 col-form-label">\n <input type="checkbox" ng-model="settings[\'forceSerial\']" id="force-serial">\n <label for="force-serial"\n uib-popover="{{\'import.forces.serial.statements\' | translate}}"\n popover-placement="bottom"\n popover-trigger="mouseenter">{{\'import.force.serial.pipeline\' | translate}}</label>\n </div>\n </div>\n\n\n </div>\n </form>\n</div>\n<div class="modal-footer">\n <button type="button" class="btn btn-link pull-left" ng-click="reset()">{{\'import.restore.defaults.btn\' | translate}}</button>\n <button type="button" class="btn btn-secondary" ng-click="cancel()" guide-selector="import-settings-cancel-button">{{\'common.cancel.btn\' | translate}}</button>\n <button type="submit" class="btn btn-primary import-settings-import-button" form="settingsForm" ng-click="ok()" guide-selector="import-settings-import-button"><span class="import"></span> {{\'common.import\' | translate}}</button>\n</div>\n';return __p}}}]);
1
+ (window.webpackJsonp=window.webpackJsonp||[]).push([[200],{284:function(module,exports){module.exports=function(obj){obj||(obj={});var __t,__p="";with(obj)__p+='<div class="modal-header">\n <button type="button" class="close" ng-click="cancel()"></button>\n <h4 class="modal-title">{{\'import.settings\' | translate}}</h4>\n</div>\n<div class="modal-body">\n <form name="settingsForm" id="settingsForm" class="settings-form">\n <div class="form-horizontal">\n <div class="form-group row">\n <label class="col-lg-3 col-form-label">\n {{\'import.label.base.iri\' | translate}}\n <span class="btn btn-link p-0"\n uib-popover="{{\'import.popover.relative.iri\' | translate}}"\n popover-trigger="mouseenter"\n popover-placement="right">\n <em class="icon icon-info"></em>\n </span>\n </label>\n <div class="col-lg-9">\n <input validate-uri name="baseURI" type="text" ng-model="settings[\'baseURI\']" class="form-control"\n placeholder="http://exampleuri.com/examplepath">\n <div class="alert alert-danger" ng-show="hasError(settingsForm.$error.validateUri, \'baseURI\')">{{\'import.alert.not.valid.iri\' | translate}}\n </div>\n </div>\n </div>\n <div class="form-group row">\n <label class="col-lg-3 col-form-label">\n {{\'import.target.graphs\' | translate}}\n <span class="btn btn-link p-0"\n uib-popover="{{\'import.into.graphs\' | translate}}"\n popover-trigger="mouseenter"\n popover-placement="right">\n <em class="icon icon-info"></em>\n </span>\n </label>\n <div class="col-lg-9">\n <div>\n <label uib-popover="{{\'import.by.data.source\' | translate}}"\n popover-trigger="mouseenter">\n <input type="radio" class="from-data-btn" ng-model="target" value="data"\n ng-change="settingsForm.context.$setValidity(\'validateUri\', true)">\n {{\'import.from.data\' | translate}}\n </label>\n &nbsp;\n <label uib-popover="{{\'import.into.default.graph\' | translate}}"\n popover-trigger="mouseenter">\n <input type="radio" class="default-graph-btn" ng-model="target" value="default"\n ng-change="settingsForm.context.$setValidity(\'validateUri\', true)">\n {{\'import.default.graph\' | translate}}\n </label>\n &nbsp;\n <label uib-popover="{{\'import.into.user.graph\' | translate}}"\n popover-trigger="mouseenter">\n <input type="radio" class="named-graph-btn" ng-model="target" value="named" class="named-graph-option">\n {{\'import.named.graph\' | translate}}\n </label>\n </div>\n <div>\n <input validate-uri name="context" type="text" ng-required="target === \'named\'"\n ng-disabled="target !== \'named\'" ng-model="settings.context" class="form-control named-graph-input"\n placeholder="http://example.com/graph...">\n </div>\n </div>\n </div>\n <div class="form-group row">\n <div class="col-lg-9 offset-lg-3">\n <label class="col-form-label"\n uib-popover="{{isMultiple ? \'import.mode.not.supported.constraint\' : \'import.enable.replace.option\' | translate}}"\n popover-trigger="mouseenter"\n popover-placement="top">\n <input type="checkbox" class="existing-data-replacement" ng-model="enableReplace" ng-disabled="isMultiple">\n {{\'import.enter.replacement\' | translate}}\n </label>\n </div>\n </div>\n <div class="form-group row" ng-show="enableReplace">\n <label class="col-lg-3 col-form-label">\n {{\'import.replaced.graphs\' | translate}}\n <span class="btn btn-link p-0"\n uib-popover="{{\'import.replaced.graphs.for.update\' | translate}}"\n popover-trigger="mouseenter"\n popover-placement="right">\n <em class="icon icon-info"></em>\n </span>\n </label>\n <label class="col-lg-9 col-form-label" ng-show="target === \'default\' || target === \'named\'">\n <span ng-show="target === \'default\'">{{\'import.default.graph\' | translate}}</span>\n <span ng-show="target === \'named\'">{{settings.context}}</span>\n <span class="text-muted">{{\'import.same.as.target\' | translate}}</span>\n </label>\n <div class="col-lg-9" ng-show="target === \'data\'">\n <div class="row">\n <div class="col-lg-9">\n <input name="replaceGraph" ng-model="replaceGraph" type="text" class="replaced-graphs-input form-control"\n placeholder="http://example.com/graph..."\n ng-keypress="checkEnterReplaceGraph($event, replaceGraph)"\n uib-popover="{{\'import.graph.wildcard\' | translate}}"\n popover-placement="top"\n popover-trigger="mouseenter">\n </div>\n <div class="col-lg-3 col-lg-no-padding">\n <div class="btn-group" uib-dropdown>\n <button type="button" class="btn btn-primary add-graph-btn" ng-click="addReplaceGraph(replaceGraph)">\n <span class="icon-plus"></span> {{\'import.add.graph\' | translate}}\n </button>\n <button type="button" class="btn btn-primary dropdown-toggle-split dropdown-toggle"\n uib-dropdown-toggle>\n <span class="sr-only"></span>\n </button>\n <ul class="dropdown-menu" role="menu">\n <li>\n <button type="button" class="dropdown-item"\n ng-click="addReplaceGraph(\'default\')">{{\'import.add.default.graph\' | translate}}\n </button>\n </li>\n </ul>\n </div>\n </div>\n </div>\n <div>\n <table aria-describedby="Replaced graphs table">\n <tr>\n <th id="graphsColumn">\n <span ng-show="settings.replaceGraphs.length">{{\'import.replaced.graphs\' | translate}}</span>\n <span ng-show="!settings.replaceGraphs.length">{{\'import.no.replaced.graphs.added\' | translate}}</span>\n </th>\n </tr>\n <tr ng-repeat="g in settings.replaceGraphs">\n <td>\n <span ng-show="g !== \'default\'">{{g}}</span>\n <span ng-show="g === \'default\'">{{\'import.default.graph\' | translate}}</span>\n <button type="button" class="btn btn-link btn-sm secondary"\n ng-click="settings.replaceGraphs.splice($index, 1)">\n <em class="icon icon-trash"></em>\n </button>\n </td>\n </tr>\n </table>\n </div>\n </div>\n <div class="col-lg-9 offset-lg-3">\n <label class="col-form-label">\n <input type="checkbox" class="graph-replace-confirm-checkbox" ng-model="agree" ng-required="enableReplace">\n <strong>{{\'import.data.cleared.before.import\' | translate}}</strong>\n </label>\n </div>\n </div>\n <div class="text-xs-center">\n <button type="button" ng-click="switchParserSettings()" class="btn btn-link btn-sm toggle-advanced-settings">\n <span ng-hide="showAdvancedSettings">{{\'import.show.advance.settings\' | translate}}<em class="icon-caret-down"></em></span>\n <span ng-show="showAdvancedSettings">{{\'import.hide.advance.settings\' | translate}}<em class="icon-caret-up"></em></span>\n </button>\n </div>\n\n <div ng-show="hasParserSettings && showAdvancedSettings" class="advanced-settings">\n <div class="form-group row">\n <label class="col-lg-3 col-form-label">{{\'import.label.bnodes\' | translate}}</label>\n <div class="col-lg-9">\n <div>\n <label>\n <input name="preserveBNodeIDs" type="checkbox"\n ng-model="settings[\'parserSettings\'][\'preserveBNodeIds\']"\n uib-popover="{{\'import.assign.own.bnode.ids\' | translate}}"\n popover-trigger="mouseenter"\n popover-placement="bottom"> {{\'import.preserve.bnode.ids\' | translate}}\n </label>\n </div>\n </div>\n </div>\n <div class="form-group row">\n <label class="col-lg-3 col-form-label">{{\'import.label.datatype\' | translate}}</label>\n <div class="col-lg-9">\n <div>\n <label>\n <input name="failOnUnknownDataTypes" type="checkbox"\n ng-model="settings[\'parserSettings\'][\'failOnUnknownDataTypes\']"\n uib-popover="{{\'import.fail.unknown.datatype\' | translate}}"\n popover-trigger="mouseenter"\n popover-placement="bottom"> {{\'import.fail.parsing.if.unrecognised\' | translate}}\n </label>\n </div>\n <div>\n <label>\n <input name="verifyDataTypeValues" type="checkbox"\n ng-model="settings[\'parserSettings\'][\'verifyDataTypeValues\']"\n uib-popover="{{\'import.validate.recognised\' | translate}}"\n popover-trigger="mouseenter"\n popover-placement="bottom"> {{\'import.verify.recognised\' | translate}}\n </label>\n </div>\n <div>\n <label>\n <input name="normalizeDataTypeValues" type="checkbox"\n ng-model="settings[\'parserSettings\'][\'normalizeDataTypeValues\']"\n uib-popover="{{\'import.normalize.recognised\' | translate}}"\n popover-trigger="mouseenter"\n popover-placement="bottom"> {{\'import.normalize.recognised\' | translate}}\n </label>\n </div>\n </div>\n </div>\n\n <div class="form-group row">\n <label class="col-lg-3 col-form-label">{{\'import.language.tags\' | translate}}</label>\n <div class="col-lg-9">\n <div>\n <label>\n <input name="failOnUnknownLanguageTags" type="checkbox"\n ng-model="settings[\'parserSettings\'][\'failOnUnknownLanguageTags\']"\n uib-popover="{{\'import.fail.lang.unknown\' | translate}}"\n popover-trigger="mouseenter"\n popover-placement="bottom"> {{\'import.fail.parsing.lang.unknown\' | translate}}\n </label>\n </div>\n <div>\n <label>\n <input name="verifyLanguageTags" type="checkbox"\n ng-model="settings[\'parserSettings\'][\'verifyLanguageTags\']"\n uib-popover="{{\'import.validate.lang.tags\' | translate}}"\n popover-trigger="mouseenter"\n popover-placement="bottom"> {{\'import.verify.language\' | translate}}\n </label>\n </div>\n <div>\n <label>\n <input name="normalizeLanguageTags" type="checkbox"\n ng-model="settings[\'parserSettings\'][\'normalizeLanguageTags\']"\n uib-popover="{{\'import.normalize.lang.tags\' | translate}}"\n popover-trigger="mouseenter"\n popover-placement="bottom"> {{\'import.normalize.recognized.tags\' | translate}}\n </label>\n </div>\n </div>\n </div>\n\n <div class="form-group row">\n <label class="col-lg-3 col-form-label">{{\'import.error.handling\' | translate}}</label>\n <div class="col-lg-9">\n <label>\n <input name="stopOnError" type="checkbox"\n ng-model="settings[\'parserSettings\'][\'stopOnError\']"\n uib-popover="{{\'import.parser.stops.on.error\' | translate}}"\n popover-trigger="mouseenter"\n popover-placement="bottom"> {{\'import.should.stop.on.error\' | translate}}\n </label>\n </div>\n </div>\n </div>\n\n <div ng-show="showAdvancedSettings" class="form-group row">\n <label class="col-lg-3 col-form-label">{{\'import.debug.label\' | translate}}</label>\n <div class="col-lg-9 col-form-label">\n <input type="checkbox" ng-model="settings[\'forceSerial\']" id="force-serial">\n <label for="force-serial"\n uib-popover="{{\'import.forces.serial.statements\' | translate}}"\n popover-placement="bottom"\n popover-trigger="mouseenter">{{\'import.force.serial.pipeline\' | translate}}</label>\n </div>\n </div>\n\n\n </div>\n </form>\n</div>\n<div class="modal-footer">\n <button type="button" class="btn btn-link pull-left" ng-click="reset()">{{\'import.restore.defaults.btn\' | translate}}</button>\n <button type="button" class="btn btn-secondary" ng-click="cancel()" guide-selector="import-settings-cancel-button">{{\'common.cancel.btn\' | translate}}</button>\n <button type="submit" class="btn btn-primary import-settings-import-button" form="settingsForm" ng-click="ok()" guide-selector="import-settings-import-button"><span class="import"></span> {{\'common.import\' | translate}}</button>\n</div>\n';return __p}}}]);
@@ -1 +1 @@
1
- (window.webpackJsonp=window.webpackJsonp||[]).push([[192],{276:function(module,exports){module.exports=function(obj){obj||(obj={});var __t,__p="";with(obj)__p+='<div class="modal-header">\n <button type="button" class="close" ng-click="cancel()"></button>\n <h4 class="modal-title">{{\'import.rdf.from.snippet\' | translate}}</h4>\n</div>\n\n<div class="modal-body">\n <div class="form-group">\n <textarea id="wb-import-textarea" class="form-control" rows="10" ng-model="rdfText"\n placeholder="{{\'text.snippet.text.aria.placeholder\' | translate}}"\n uib-popover="{{\'import.rdf.data.here\' | translate}}"\n popover-placement="bottom"\n popover-trigger="focus"></textarea>\n </div>\n</div>\n\n<div class="modal-footer">\n <div class="mb-1">\n <span\n uib-popover="{{\'import.enable.for.auto.start\' | translate}}"\n popover-trigger="mouseenter"\n popover-placement="top">\n <input id="import-now-checkbox" type="checkbox" ng-model="startImport"/>\n <label for="import-now-checkbox">{{\'import.auto.start\' | translate}}</label>\n </span>\n </div>\n <div>\n <button type="button" ng-click="cancel()" class="btn btn-secondary">{{\'common.cancel.btn\' | translate}}</button>\n <div class="btn-group import-format-dropdown" uib-dropdown>\n <button type="button" class="btn btn-secondary dropdown-toggle import-format-dropdown-btn" uib-dropdown-toggle>\n {{\'import.format\' | translate}}: {{importFormat.name}}\n </button>\n <ul class="dropdown-menu" role="menu">\n <li ng-repeat="format in importFormats">\n <a ng-click="setFormat(format)" class="dropdown-item">{{format.name}}</a>\n </li>\n </ul>\n </div>\n <button id="wb-import-importText" class="btn btn-primary" type="button"\n ng-click="ok()">\n <em class="icon-import"></em>{{\'common.import\' | translate}}\n </button>\n </div>\n</div>\n';return __p}}}]);
1
+ (window.webpackJsonp=window.webpackJsonp||[]).push([[201],{285:function(module,exports){module.exports=function(obj){obj||(obj={});var __t,__p="";with(obj)__p+='<div class="modal-header">\n <button type="button" class="close" ng-click="cancel()"></button>\n <h4 class="modal-title">{{\'import.rdf.from.snippet\' | translate}}</h4>\n</div>\n\n<div class="modal-body">\n <div class="form-group">\n <textarea id="wb-import-textarea" class="form-control" rows="10" ng-model="rdfText"\n placeholder="{{\'text.snippet.text.aria.placeholder\' | translate}}"\n uib-popover="{{\'import.rdf.data.here\' | translate}}"\n popover-placement="bottom"\n popover-trigger="focus"></textarea>\n </div>\n</div>\n\n<div class="modal-footer">\n <div class="mb-1">\n <span\n uib-popover="{{\'import.enable.for.auto.start\' | translate}}"\n popover-trigger="mouseenter"\n popover-placement="top">\n <input id="import-now-checkbox" type="checkbox" ng-model="startImport"/>\n <label for="import-now-checkbox">{{\'import.auto.start\' | translate}}</label>\n </span>\n </div>\n <div>\n <button type="button" ng-click="cancel()" class="btn btn-secondary">{{\'common.cancel.btn\' | translate}}</button>\n <div class="btn-group import-format-dropdown" uib-dropdown>\n <button type="button" class="btn btn-secondary dropdown-toggle import-format-dropdown-btn" uib-dropdown-toggle>\n {{\'import.format\' | translate}}: {{importFormat.name}}\n </button>\n <ul class="dropdown-menu" role="menu">\n <li ng-repeat="format in importFormats">\n <a ng-click="setFormat(format)" class="dropdown-item">{{format.name}}</a>\n </li>\n </ul>\n </div>\n <button id="wb-import-importText" class="btn btn-primary" type="button"\n ng-click="ok()">\n <em class="icon-import"></em>{{\'common.import\' | translate}}\n </button>\n </div>\n</div>\n';return __p}}}]);
@@ -1 +1 @@
1
- (window.webpackJsonp=window.webpackJsonp||[]).push([[193],{277:function(module,exports){module.exports=function(obj){obj||(obj={});var __t,__p="";with(obj)__p+="<div class=\"ot-view-info\">\n <h4>{{'import.rdf.local.url.paste.data' | translate}}</h4>\n <p>\n {{'import.to.reimport' | translate}}<br>\n {{'import.file.size.limit.control' | translate}}<em>graphdb.workbench.maxUploadSize</em>{{'import.property' | translate}}.\n </p>\n <div ng-include=\"commonUrl\">\n </div>\n</div>\n";return __p}}}]);
1
+ (window.webpackJsonp=window.webpackJsonp||[]).push([[202],{286:function(module,exports){module.exports=function(obj){obj||(obj={});var __t,__p="";with(obj)__p+="<div class=\"ot-view-info\">\n <h4>{{'import.rdf.local.url.paste.data' | translate}}</h4>\n <p>\n {{'import.to.reimport' | translate}}<br>\n {{'import.file.size.limit.control' | translate}}<em>graphdb.workbench.maxUploadSize</em>{{'import.property' | translate}}.\n </p>\n <div ng-include=\"commonUrl\">\n </div>\n</div>\n";return __p}}}]);
@@ -0,0 +1 @@
1
+ (window.webpackJsonp=window.webpackJsonp||[]).push([[203],{287:function(module,exports){module.exports=function(obj){obj||(obj={});var __t,__p="";with(obj)__p+='<div class="modal-header">\n <button type="button" class="close" ng-click="cancel()"></button>\n <h4 class="modal-title">{{\'import.data.from.url\' | translate}}</h4>\n</div>\n\n<div class="modal-body">\n <form name="urlForm" class="url-import-form" ng-submit="importUrlForm($event)" ng-hide="loader" novalidate>\n <div class="input-group mb-1">\n <input required validate-uri id="dataUrl" name="dataUrl" placeholder="{{\'url.import.input.placeholder\' | translate}}"\n ng-model="dataUrl" class="form-control"\n uib-popover="{{\'import.supported.url.with.rdf\' | translate}} {{fileFormatsHuman}}. "\n popover-placement="bottom"\n popover-trigger="focus">\n </div>\n <div class="text-danger" ng-show="urlForm.dataUrl.$error.validateUri">\n {{\'import.invalid.url\' | translate}}\n </div>\n </form>\n</div>\n\n<div class="modal-footer">\n <div class="mb-1">\n <span uib-popover="{{\'import.enable.for.auto.start\' | translate}}"\n popover-trigger="mouseenter"\n popover-placement="top">\n <input id="import-now-checkbox" type="checkbox" ng-model="startImport"/>\n <label for="import-now-checkbox">"{{\'import.auto.start\' | translate}}</label>\n </span>\n </div>\n <div>\n <button type="button" ng-click="cancel()" class="btn btn-secondary">{{\'common.cancel.btn\' | translate}}</button>\n <div class="btn-group import-format-dropdown" uib-dropdown>\n <button class="btn btn-secondary dropdown-toggle import-format-dropdown-btn" uib-dropdown-toggle>\n {{\'import.format\' | translate}}: {{importFormat.name}}\n </button>\n <ul class="dropdown-menu" role="menu">\n <li><a ng-click="importFormat = {name: \'Auto\', type: \'\'}"\n class="dropdown-item">Auto</a></li>\n <li><a ng-click="importFormat = {name: \'RDF/JSON\', type: \'application/rdf+json\'}"\n class="dropdown-item">RDF/JSON</a></li>\n <li><a ng-click="importFormat = {name: \'JSON-LD\', type: \'application/ld+json\'}"\n class="dropdown-item">JSON-LD</a></li>\n <li><a ng-click="importFormat = {name: \'NDJSON-LD\', type: \'application/x-ld+NDjson\'}"\n class="dropdown-item">NDJSON-LD</a></li>\n <li><a ng-click="importFormat = {name: \'RDF/XML\', type: \'application/rdf+xml\'}"\n class="dropdown-item">RDF/XML</a></li>\n <li><a ng-click="importFormat = {name: \'N3\', type: \'text/rdf+n3\'}"\n class="dropdown-item">N3</a></li>\n <li><a ng-click="importFormat = {name: \'N-Triples\', type: \'text/plain\'}"\n class="dropdown-item">N-Triples</a></li>\n <li><a ng-click="importFormat = {name: \'N-Quads\', type: \'text/x-nquads\'}"\n class="dropdown-item">N-Quads</a></li>\n <li><a ng-click="importFormat = {name: \'Turtle\', type: \'text/turtle\'}"\n class="dropdown-item">Turtle</a></li>\n <li><a ng-click="importFormat = {name: \'Turtle*\', type: \'application/x-turtlestar\'}"\n class="dropdown-item">Turtle*</a></li>\n <li><a ng-click="importFormat = {name: \'TriX\', type: \'application/trix\'}"\n class="dropdown-item">TriX</a></li>\n <li><a ng-click="importFormat = {name: \'TriG\', type: \'application/x-trig\'}"\n class="dropdown-item">TriG</a></li>\n <li><a ng-click="importFormat = {name: \'TriG*\', type: \'application/x-trigstar\'}"\n class="dropdown-item">TriG*</a></li>\n <li><a ng-click="importFormat = {name: \'BinaryRDF\', type: \'application/x-binary-rdf\'}"\n class="dropdown-item">BinaryRDF</a></li>\n </ul>\n </div>\n <button id="wb-import-importUrl" ng-disabled="urlForm.$invalid" ng-click="ok()" class="btn btn-primary">\n <span class="icon-import"></span> {{\'common.import\' | translate}}\n </button>\n </div>\n</div>\n';return __p}}}]);
@@ -1 +1 @@
1
- (window.webpackJsonp=window.webpackJsonp||[]).push([[195],{279:function(module,exports){module.exports=function(obj){obj||(obj={});var __t,__p="";with(obj)__p+='<div class="form-group mb-2 mt-1">\n\t<label>{{list.name.split(" ")[0]}}</label>\n\t<div>\n\t\t<tags-input class="wb-tags-input" ng-model="list.elements" min-length="3" add-on-space="true"\n\t\t\t\t\tadd-on-comma="true" placeholder="{{\'common.add\' | translate}} {{list.name}}"\n\t\t\t\t\ton-tag-added="addToList(list, $tag)"\n\t\t\t\t\ton-tag-removed="deleteFromList(list, $tag)"></tags-input>\n\t</div>\n</div>\n';return __p}}}]);
1
+ (window.webpackJsonp=window.webpackJsonp||[]).push([[204],{288:function(module,exports){module.exports=function(obj){obj||(obj={});var __t,__p="";with(obj)__p+='<div class="form-group mb-2 mt-1">\n\t<label>{{list.name.split(" ")[0]}}</label>\n\t<div>\n\t\t<tags-input class="wb-tags-input" ng-model="list.elements" min-length="3" add-on-space="true"\n\t\t\t\t\tadd-on-comma="true" placeholder="{{\'common.add\' | translate}} {{list.name}}"\n\t\t\t\t\ton-tag-added="addToList(list, $tag)"\n\t\t\t\t\ton-tag-removed="deleteFromList(list, $tag)"></tags-input>\n\t</div>\n</div>\n';return __p}}}]);
@@ -1 +1 @@
1
- (window.webpackJsonp=window.webpackJsonp||[]).push([[196],{280:function(module,exports){module.exports=function(obj){obj||(obj={});var __t,__p="";with(obj)__p+='<div id="fedx-content" class="pt-1">\n <div id="fedx-members">\n <div class="form-repo-members col-md-6 col-lg-5 col-xl-4 mb-1">\n <h4>{{\'fedx.repo.federation.members\' | translate}}</h4>\n <div class="alert alert-warning" ng-if="fedxMembers.length === 0">{{\'fedx.repo.no.members.warning\' | translate}}</div>\n <ul id="fedx-members-table" class="list-group" aria-describedby="Repositories table">\n <li class="list-group-item list-group-item-action d-flex justify-content-between align-items-center repository"\n ng-repeat="member in fedxMembers | orderBy: [\'type === \\\'system\\\'\', \'endpoint\', \'repositoryServer\', \'repositoryName\'] : true ">\n <div class="name">\n <span class="multiline-text multilined">\n <em ng-class="getMemberIcon(member)" class="fedx-repo-member-icon"></em>\n {{resolveName(member)}}\n </span>\n <span class="icon-warning" ng-if="!checkIfRepoExist(member)" gdb-tooltip="{{\'repoTooltips.fedx.repositoryNotExistWarning\' | translate}}"> </span>\n </div>\n <div class="actions">\n <button class="btn btn-link p-0 edit-repository-btn" type="button">\n <span id="{{member.repositoryName}}-icon-edit" class="icon-edit"\n ng-click="editFedXRepository(member)"\n ng-if="member.store !== \'NativeStore\'"\n gdb-tooltip="{{\'repoTooltips.editRepository\' | translate}}"></span>\n </button>\n <button class="btn btn-link p-0 secondary" type="button">\n <span id="{{member.repositoryName}}-icon-close" ng-click="removeMember(member)"\n class="icon-close"\n gdb-tooltip="{{\'repoTooltips.fedx.removeMember\' | translate}}"></span>\n </button>\n <button class="btn btn-link p-0 secondary">\n <span id="{{member.repositoryName}}-icon-writable"\n ng-click="setWritableRepo(member)"\n class="icon-import{{getActiveClass(member)}}"\n gdb-tooltip="{{\'repoTooltips.fedx.setAsWritable\' | translate}}"></span>\n </button>\n </div>\n </li>\n </ul>\n </div>\n <div class="col-md-4 col-lg-3 col-xl-3 mb-1">\n <div class="attached-header">{{\'fedx.repo.local.attached.header\' | translate}}</div>\n <div class="form-local-repos pre-scrollable locations-list">\n <div class="location-item hoverable"\n ng-repeat="repository in knownRepos | orderBy: [\'type === \\\'system\\\'\', \'location\', \'id\']"\n ng-if="repository.type !== \'fedx\'"\n id="{{repository.id}}-local-repo">\n\n <a id="{{repository.id}}-a"\n ng-click="addMember(repository)"\n gdb-tooltip="{{\'repoTooltips.fedx.localReposInstructions\' | translate}}">\n <span class="multiline-text">\n <em ng-class="\'icon-repo-\' + repository.type" class="fedx-repo-member-icon"></em>\n {{repository.id}}\n </span>\n <span class="small"><small> &middot; {{getRepositoryServer(repository)}}</small></span>\n </a>\n </div>\n </div>\n <button type="button" id="addFedXRepository" ng-click="addRemoteMember()" class="btn btn-primary">\n <span class="icon-plus"></span>\n {{\'fedx.repo.add.remote\' | translate}}\n </button>\n </div>\n </div>\n <div id="fedx-options">\n <h4>{{\'fedx.repo.options\' | translate}}</h4>\n <div class="pb-1">\n <div class="form-group row">\n <div class="checkbox offset-xs-1 offset-md-4 indented-div checkbox-param-include-inferred">\n <label gdb-tooltip="{{\'repoTooltips.fedx.withIncludeInferredDefault\' | translate}}">\n <input id="includeInferredDefault" name="includeInferredDefault" type="checkbox"\n ng-true-value="\'true\'" ng-false-value="\'false\'"\n ng-model="repositoryInfo.params.includeInferredDefault.value"/>\n {{repositoryInfo.params.includeInferredDefault.label}}\n </label>\n </div>\n <div class="checkbox offset-xs-1 offset-md-4 offset-lg-2">\n <label class="padding-label" gdb-tooltip="{{\'repoTooltips.fedx.withEnableServiceAsBoundJoin\' | translate}}">\n <input id="enableServiceAsBoundJoin"\n name="enableServiceAsBoundJoin" type="checkbox"\n ng-true-value="\'true\'" ng-false-value="\'false\'"\n ng-model="repositoryInfo.params.enableServiceAsBoundJoin.value"/>\n {{repositoryInfo.params.enableServiceAsBoundJoin.label}}\n </label>\n </div>\n </div>\n <div class="form-group row">\n <div class="checkbox offset-xs-1 offset-md-4 indented-div checkbox-param-padded">\n <label gdb-tooltip="{{\'repoTooltips.fedx.withLogQueries\' | translate}}">\n <input id="isLogQueries" name="isLogQueries" type="checkbox"\n ng-true-value="\'true\'" ng-false-value="\'false\'"\n ng-model="repositoryInfo.params.isLogQueries.value"/>\n {{repositoryInfo.params.isLogQueries.label}}\n </label>\n </div>\n <div class="checkbox offset-xs-1 offset-md-4 offset-lg-2">\n <label class="padding-label" gdb-tooltip="{{\'repoTooltips.fedx.withDebugQueryPlan\' | translate}}">\n <input id="debugQueryPlan"\n name="debugQueryPlan" type="checkbox"\n ng-true-value="\'true\'" ng-false-value="\'false\'"\n ng-model="repositoryInfo.params.debugQueryPlan.value"/>\n {{repositoryInfo.params.debugQueryPlan.label}}\n </label>\n </div>\n </div>\n </div>\n <div class="pb-1">\n <div class="form-group row">\n <div class="offset-xs-1 offset-md-4 indented-div">\n <label class="col-lg-3">\n {{repositoryInfo.params.queryTimeout.label}}\n </label>\n <div class="col-lg-2">\n <input id="enforceMaxQueryTime"\n name="enforceMaxQueryTime"\n type="number" step="1"\n ng-model="repositoryInfo.params.queryTimeout.value"\n class="form-control"\n required\n gdb-tooltip="{{\'repoTooltips.fedx.enforceMaxQueryTime\' | translate}}"/>\n </div>\n </div>\n <div class="offset-xs-1 offset-md-4 indented-div">\n <label class="col-lg-3">\n {{repositoryInfo.params.boundJoinBlockSize.label}}\n </label>\n <div class="col-lg-2">\n <input id="boundJoinBlockSize"\n name="boundJoinBlockSize"\n type="number" step="1"\n ng-model="repositoryInfo.params.boundJoinBlockSize.value"\n class="form-control"\n required\n gdb-tooltip="{{\'repoTooltips.fedx.withBoundJoinBlockSize\' | translate}}"/>\n </div>\n </div>\n </div>\n <div class="form-group row">\n <div class="offset-xs-1 offset-md-4 indented-div">\n <label class="col-lg-3">\n {{repositoryInfo.params.joinWorkerThreads.label}}\n </label>\n <div class="col-lg-2">\n <input id="joinWorkerThreads"\n name="joinWorkerThreads"\n type="number" step="1"\n ng-model="repositoryInfo.params.joinWorkerThreads.value"\n class="form-control"\n required\n gdb-tooltip="{{\'repoTooltips.fedx.withJoinWorkerThreads\' | translate}}"/>\n </div>\n </div>\n <div class="offset-xs-1 offset-md-4 indented-div">\n <label class="col-lg-3">\n {{repositoryInfo.params.leftJoinWorkerThreads.label}}\n </label>\n <div class="col-lg-2">\n <input id="leftJoinWorkerThreads"\n name="leftJoinWorkerThreads"\n type="number" step="1"\n ng-model="repositoryInfo.params.leftJoinWorkerThreads.value"\n class="form-control"\n required\n gdb-tooltip="{{\'repoTooltips.fedx.withLeftJoinWorkerThreads\' | translate}}"/>\n </div>\n </div>\n </div>\n <div class="form-group row">\n <div class="offset-xs-1 offset-md-4 indented-div">\n <label class="col-lg-3">\n </label>\n <div class="col-lg-2">\n </div>\n </div>\n <div class="offset-xs-1 offset-md-4 indented-div">\n <label class="col-lg-3">\n {{repositoryInfo.params.unionWorkerThreads.label}}\n </label>\n <div class="col-lg-2">\n <input id="unionWorkerThreads"\n name="unionWorkerThreads"\n type="number" step="1"\n ng-model="repositoryInfo.params.unionWorkerThreads.value"\n class="form-control"\n required\n gdb-tooltip="{{\'repoTooltips.fedx.unionWorkerThreads\' | translate}}"/>\n </div>\n </div>\n </div>\n </div>\n <div class="pb-1">\n <div class="form-group row">\n <div class="indented-div">\n <label for="cache-spec" class="col-md-3 col-lg-3 col-form-label">{{\'fedx.repo.source.selection.cache.spec\' | translate}}</label>\n <div class="col-lg-7 col-xl-7">\n <input id="cache-spec" class="form-control"\n ng-model="repositoryInfo.params[\'sourceCacheSpec\'].value"\n gdb-tooltip="{{\'repoTooltips.fedx.withSourceSelectionCacheSpec\' | translate}}"/>\n </div>\n </div>\n </div>\n\n </div>\n\n </div>\n\n</div>\n';return __p}}}]);
1
+ (window.webpackJsonp=window.webpackJsonp||[]).push([[205],{289:function(module,exports){module.exports=function(obj){obj||(obj={});var __t,__p="";with(obj)__p+='<div id="fedx-content" class="pt-1">\n <div id="fedx-members">\n <div class="form-repo-members col-md-6 col-lg-5 col-xl-4 mb-1">\n <h4>{{\'fedx.repo.federation.members\' | translate}}</h4>\n <div class="alert alert-warning" ng-if="fedxMembers.length === 0">{{\'fedx.repo.no.members.warning\' | translate}}</div>\n <ul id="fedx-members-table" class="list-group" aria-describedby="Repositories table">\n <li class="list-group-item list-group-item-action d-flex justify-content-between align-items-center repository"\n ng-repeat="member in fedxMembers | orderBy: [\'type === \\\'system\\\'\', \'endpoint\', \'repositoryServer\', \'repositoryName\'] : true ">\n <div class="name">\n <span class="multiline-text multilined">\n <em ng-class="getMemberIcon(member)" class="fedx-repo-member-icon"></em>\n {{resolveName(member)}}\n </span>\n <span class="icon-warning" ng-if="!checkIfRepoExist(member)" gdb-tooltip="{{\'repoTooltips.fedx.repositoryNotExistWarning\' | translate}}"> </span>\n </div>\n <div class="actions">\n <button class="btn btn-link p-0 edit-repository-btn" type="button">\n <span id="{{member.repositoryName}}-icon-edit" class="icon-edit"\n ng-click="editFedXRepository(member)"\n ng-if="member.store !== \'NativeStore\'"\n gdb-tooltip="{{\'repoTooltips.editRepository\' | translate}}"></span>\n </button>\n <button class="btn btn-link p-0 secondary" type="button">\n <span id="{{member.repositoryName}}-icon-close" ng-click="removeMember(member)"\n class="icon-close"\n gdb-tooltip="{{\'repoTooltips.fedx.removeMember\' | translate}}"></span>\n </button>\n <button class="btn btn-link p-0 secondary">\n <span id="{{member.repositoryName}}-icon-writable"\n ng-click="setWritableRepo(member)"\n class="icon-import{{getActiveClass(member)}}"\n gdb-tooltip="{{\'repoTooltips.fedx.setAsWritable\' | translate}}"></span>\n </button>\n </div>\n </li>\n </ul>\n </div>\n <div class="col-md-4 col-lg-3 col-xl-3 mb-1">\n <div class="attached-header">{{\'fedx.repo.local.attached.header\' | translate}}</div>\n <div class="form-local-repos pre-scrollable locations-list">\n <div class="location-item hoverable"\n ng-repeat="repository in knownRepos | orderBy: [\'type === \\\'system\\\'\', \'location\', \'id\']"\n ng-if="repository.type !== \'fedx\'"\n id="{{repository.id}}-local-repo">\n\n <a id="{{repository.id}}-a"\n ng-click="addMember(repository)"\n gdb-tooltip="{{\'repoTooltips.fedx.localReposInstructions\' | translate}}">\n <span class="multiline-text">\n <em ng-class="\'icon-repo-\' + repository.type" class="fedx-repo-member-icon"></em>\n {{repository.id}}\n </span>\n <span class="small"><small> &middot; {{getRepositoryServer(repository)}}</small></span>\n </a>\n </div>\n </div>\n <button type="button" id="addFedXRepository" ng-click="addRemoteMember()" class="btn btn-primary">\n <span class="icon-plus"></span>\n {{\'fedx.repo.add.remote\' | translate}}\n </button>\n </div>\n </div>\n <div id="fedx-options">\n <h4>{{\'fedx.repo.options\' | translate}}</h4>\n <div class="pb-1">\n <div class="form-group row">\n <div class="checkbox offset-xs-1 offset-md-4 indented-div checkbox-param-include-inferred">\n <label gdb-tooltip="{{\'repoTooltips.fedx.withIncludeInferredDefault\' | translate}}">\n <input id="includeInferredDefault" name="includeInferredDefault" type="checkbox"\n ng-true-value="\'true\'" ng-false-value="\'false\'"\n ng-model="repositoryInfo.params.includeInferredDefault.value"/>\n {{repositoryInfo.params.includeInferredDefault.label}}\n </label>\n </div>\n <div class="checkbox offset-xs-1 offset-md-4 offset-lg-2">\n <label class="padding-label" gdb-tooltip="{{\'repoTooltips.fedx.withEnableServiceAsBoundJoin\' | translate}}">\n <input id="enableServiceAsBoundJoin"\n name="enableServiceAsBoundJoin" type="checkbox"\n ng-true-value="\'true\'" ng-false-value="\'false\'"\n ng-model="repositoryInfo.params.enableServiceAsBoundJoin.value"/>\n {{repositoryInfo.params.enableServiceAsBoundJoin.label}}\n </label>\n </div>\n </div>\n <div class="form-group row">\n <div class="checkbox offset-xs-1 offset-md-4 indented-div checkbox-param-padded">\n <label gdb-tooltip="{{\'repoTooltips.fedx.withLogQueries\' | translate}}">\n <input id="isLogQueries" name="isLogQueries" type="checkbox"\n ng-true-value="\'true\'" ng-false-value="\'false\'"\n ng-model="repositoryInfo.params.isLogQueries.value"/>\n {{repositoryInfo.params.isLogQueries.label}}\n </label>\n </div>\n <div class="checkbox offset-xs-1 offset-md-4 offset-lg-2">\n <label class="padding-label" gdb-tooltip="{{\'repoTooltips.fedx.withDebugQueryPlan\' | translate}}">\n <input id="debugQueryPlan"\n name="debugQueryPlan" type="checkbox"\n ng-true-value="\'true\'" ng-false-value="\'false\'"\n ng-model="repositoryInfo.params.debugQueryPlan.value"/>\n {{repositoryInfo.params.debugQueryPlan.label}}\n </label>\n </div>\n </div>\n </div>\n <div class="pb-1">\n <div class="form-group row">\n <div class="offset-xs-1 offset-md-4 indented-div">\n <label class="col-lg-3">\n {{repositoryInfo.params.queryTimeout.label}}\n </label>\n <div class="col-lg-2">\n <input id="enforceMaxQueryTime"\n name="enforceMaxQueryTime"\n type="number" step="1"\n ng-model="repositoryInfo.params.queryTimeout.value"\n class="form-control"\n required\n gdb-tooltip="{{\'repoTooltips.fedx.enforceMaxQueryTime\' | translate}}"/>\n </div>\n </div>\n <div class="offset-xs-1 offset-md-4 indented-div">\n <label class="col-lg-3">\n {{repositoryInfo.params.boundJoinBlockSize.label}}\n </label>\n <div class="col-lg-2">\n <input id="boundJoinBlockSize"\n name="boundJoinBlockSize"\n type="number" step="1"\n ng-model="repositoryInfo.params.boundJoinBlockSize.value"\n class="form-control"\n required\n gdb-tooltip="{{\'repoTooltips.fedx.withBoundJoinBlockSize\' | translate}}"/>\n </div>\n </div>\n </div>\n <div class="form-group row">\n <div class="offset-xs-1 offset-md-4 indented-div">\n <label class="col-lg-3">\n {{repositoryInfo.params.joinWorkerThreads.label}}\n </label>\n <div class="col-lg-2">\n <input id="joinWorkerThreads"\n name="joinWorkerThreads"\n type="number" step="1"\n ng-model="repositoryInfo.params.joinWorkerThreads.value"\n class="form-control"\n required\n gdb-tooltip="{{\'repoTooltips.fedx.withJoinWorkerThreads\' | translate}}"/>\n </div>\n </div>\n <div class="offset-xs-1 offset-md-4 indented-div">\n <label class="col-lg-3">\n {{repositoryInfo.params.leftJoinWorkerThreads.label}}\n </label>\n <div class="col-lg-2">\n <input id="leftJoinWorkerThreads"\n name="leftJoinWorkerThreads"\n type="number" step="1"\n ng-model="repositoryInfo.params.leftJoinWorkerThreads.value"\n class="form-control"\n required\n gdb-tooltip="{{\'repoTooltips.fedx.withLeftJoinWorkerThreads\' | translate}}"/>\n </div>\n </div>\n </div>\n <div class="form-group row">\n <div class="offset-xs-1 offset-md-4 indented-div">\n <label class="col-lg-3">\n </label>\n <div class="col-lg-2">\n </div>\n </div>\n <div class="offset-xs-1 offset-md-4 indented-div">\n <label class="col-lg-3">\n {{repositoryInfo.params.unionWorkerThreads.label}}\n </label>\n <div class="col-lg-2">\n <input id="unionWorkerThreads"\n name="unionWorkerThreads"\n type="number" step="1"\n ng-model="repositoryInfo.params.unionWorkerThreads.value"\n class="form-control"\n required\n gdb-tooltip="{{\'repoTooltips.fedx.unionWorkerThreads\' | translate}}"/>\n </div>\n </div>\n </div>\n </div>\n <div class="pb-1">\n <div class="form-group row">\n <div class="indented-div">\n <label for="cache-spec" class="col-md-3 col-lg-3 col-form-label">{{\'fedx.repo.source.selection.cache.spec\' | translate}}</label>\n <div class="col-lg-7 col-xl-7">\n <input id="cache-spec" class="form-control"\n ng-model="repositoryInfo.params[\'sourceCacheSpec\'].value"\n gdb-tooltip="{{\'repoTooltips.fedx.withSourceSelectionCacheSpec\' | translate}}"/>\n </div>\n </div>\n </div>\n\n </div>\n\n </div>\n\n</div>\n';return __p}}}]);
@@ -1 +1 @@
1
- (window.webpackJsonp=window.webpackJsonp||[]).push([[197],{281:function(module,exports){module.exports=function(obj){obj||(obj={});var __t,__p="";with(obj)__p+='<div id="ontop-content" class="pt-1">\n\n \x3c!-- Connection information --\x3e\n <h4>{{\'ontop.repo.connection.information\' | translate}}</h4>\n\n \x3c!-- select driver type --\x3e\n <div class="form-group row indented-div">\n <label class="col-xs-12 col-md-3 col-lg-2 col-form-label">{{\'ontop.repo.database.driver\' | translate}}</label>\n <div class="col-xs-8 col-md-5 col-lg-4" gdb-tooltip="{{\'repoTooltips.ontop.driverType\' | translate}}">\n <select class="form-control" id="driverType" ng-model="formData.connectionInformation.driverType"\n ng-change="selectDriver(formData.connectionInformation.driverType)"\n ng-options="driver.driverType as driver.driverName for driver in supportedDriversData">\n </select>\n </div>\n </div>\n\n \x3c!-- Host Name --\x3e\n <div class="form-group row indented-div" ng-if="!isGenericDriver">\n <label for="hostName" class="col-xs-12 col-md-3 col-lg-2 col-form-label">\n {{getHostNameLabel()}}</label>\n <div class="col-xs-12 col-md-5 col-lg-4"\n gdb-tooltip="{{\'repoTooltips.ontop.hostName\' | translate}}">\n <input id="hostName" class="form-control"\n type="text" min="1" max="65535"\n ng-required="true"\n placeholder="{{\'ontop.repo.database.host_name.placeholder\' | translate}}"\n ng-model="formData.connectionInformation.hostName"\n ng-change="updateUrl()">\n </div>\n </div>\n\n \x3c!-- Port --\x3e\n <div class="form-group row indented-div" ng-if="!isGenericDriver">\n <label for="port" class="col-xs-12 col-md-3 col-lg-2 col-form-label">\n {{\'ontop.repo.database.port\' | translate}} {{selectedDriver.portRequired ? \'*\' : \'\'}}</label>\n <div class="col-xs-12 col-md-5 col-lg-4"\n gdb-tooltip="{{\'repoTooltips.ontop.port\' | translate}}">\n <input id="port" class="form-control"\n type="number" min="1" max="65535"\n ng-required="selectedDriver.portRequired"\n name="port"\n placeholder="{{\'ontop.repo.database.port.placeholder\' | translate}}"\n ng-model="formData.connectionInformation.port"\n ng-change="updateUrl()">\n </div>\n </div>\n\n \x3c!-- Data Base Name --\x3e\n <div class="form-group row indented-div" ng-if="!isGenericDriver">\n <label for="databaseName" class="col-xs-12 col-md-3 col-lg-2 col-form-label">\n {{getDatabaseNameLabel()}} *</label>\n <div class="col-xs-12 col-md-5 col-lg-4"\n gdb-tooltip="{{\'repoTooltips.ontop.databaseName\' | translate}}">\n <input id="databaseName" class="form-control"\n type="text" min="1" max="65535"\n ng-required="true"\n placeholder="{{\'ontop.repo.database.database_name.placeholder\' | translate}}"\n ng-model="formData.connectionInformation.databaseName"\n ng-change="updateUrl()">\n </div>\n </div>\n\n \x3c!-- Username --\x3e\n <div class="form-group row indented-div">\n <label for="username" class="col-xs-12 col-md-3 col-lg-2 col-form-label">\n {{\'ontop.repo.database.username\' | translate}}</label>\n <div class="col-xs-12 col-md-5 col-lg-4"\n gdb-tooltip="{{\'repoTooltips.ontop.userName\' | translate}}">\n <input id="username" class="form-control"\n type="text" min="1" max="65535"\n placeholder="{{\'ontop.repo.database.username.placeholder\' | translate}}"\n ng-model="formData.connectionInformation.username">\n </div>\n </div>\n\n \x3c!-- Password --\x3e\n <div class="form-group row indented-div">\n <label for="password" class="col-xs-12 col-md-3 col-lg-2 col-form-label">\n {{\'ontop.repo.database.password\' | translate}}</label>\n <div class="col-xs-12 col-md-5 col-lg-4"\n gdb-tooltip="{{\'repoTooltips.ontop.password\' | translate}}">\n <input id="password" class="form-control"\n autocomplete="new-password"\n type="password" min="1" max="65535"\n placeholder="{{\'ontop.repo.database.password.placeholder\' | translate}}"\n ng-model="formData.connectionInformation.password">\n </div>\n </div>\n\n \x3c!-- Driver class --\x3e\n <div class="form-group row indented-div">\n <label for="driverClass" class="col-xs-12 col-md-3 col-lg-2 col-form-label">\n {{(\'ontop.repo.database.driver_class\' | translate) + \' *\'}}</label>\n <div class="col-xs-12 col-md-5 col-lg-4"\n gdb-tooltip="{{\'repoTooltips.ontop.driverClass\' | translate}}">\n <input id="driverClass" class="form-control"\n type="text" min="1" max="65535"\n ng-required="true"\n placeholder="{{\'ontop.repo.database.driver_class.placeholder\' | translate}}"\n ng-readonly="!isGenericDriver"\n ng-model="formData.connectionInformation.driverClass">\n </div>\n <div class="col-xs-12 col-md-4" ng-if="!selectedDriver.classAvailable">\n <div ng-if="!isGenericDriver">\n <em class="icon-warning icon-2x" gdb-tooltip="{{\'repoTooltips.ontop.driverClassWarning\' | translate}}"\n tooltip-placement="top"></em>\n <a class="uri" ng-if="selectedDriver.downloadDriverUrl"\n href="{{selectedDriver.downloadDriverUrl}}"\n style="text-decoration: underline;">\n {{\'ontop.repo.download.jdbc.driver\' | translate}}\n </a>\n </div>\n\n <div ng-if="isGenericDriver && !formData.connectionInformation.driverClass">\n <em class="icon-warning icon-2x" gdb-tooltip="{{\'repoTooltips.ontop.driverClassWarning\' | translate}}"\n tooltip-placement="top"></em>\n <span>{{\'ontop.repo.missing.jdbc.driver\' | translate}}</span>\n </div>\n </div>\n </div>\n\n \x3c!-- JDBC URL --\x3e\n <div class="form-group row indented-div">\n <label for="url" class="col-xs-12 col-md-3 col-lg-2 col-form-label">\n {{(\'ontop.repo.database.url\' | translate) + \' *\'}}</label>\n <div class="col-xs-12 col-md-5 col-lg-4"\n gdb-tooltip="{{\'repoTooltips.ontop.url\' | translate}}">\n <input id="url" class="form-control"\n type="text" min="1" max="65535"\n ng-required="true"\n placeholder="{{isGenericDriver ? defaultUrlTemplate : selectedDriver.urlTemplate}}"\n ng-model="formData.connectionInformation.url"\n ng-keydown="onKeyDownInUrlInput($event)"\n ng-keyup="onKeyUpInUrlInput()">\n </div>\n\n <div class="col-xs-4 col-md-2">\n <div class="wrapper-div" gdb-tooltip="{{\'repoTooltips.ontop.testConn\' | translate}}">\n <button id="testConnection"\n ng-click="testConnection()"\n ng-disabled="isTestConnectionDisabled()"\n type="submit"\n class="btn btn-primary">{{\'ontop.repo.test.connection\' | translate}}\n </button>\n </div>\n </div>\n </div>\n\n \x3c!-- Ontop settings --\x3e\n <h4>{{\'ontop.repo.settings\' | translate}}</h4>\n\n \x3c!-- Additional properties --\x3e\n <div class="form-group row indented-div">\n <label class="col-xs-12 col-md-3 col-lg-2 col-form-label">\n {{\'ontop.repo.properties.label\' | translate}}\n </label>\n <div class="col-xs-8 col-md-5 col-lg-4">\n <div class="mb-1" gdb-tooltip="{{\'ontop.repo.properties.tooltip\' | translate}}">\n <textarea class="form-control" rows="3" maxlength="1000"\n id="additionalProperties"\n ng-model="formData.settings.additionalProperties"\n placeholder="{{\'ontop.repo.properties.placeholder\' | translate}}">\n </textarea>\n </div>\n </div>\n <div class="col-xs-12 col-md-4">\n <a class="uri"\n href="{{ontopProperiesLink}}"\n style="text-decoration: underline;">\n {{\'ontop.repo.properties.configuration.link\' | translate}}\n </a>\n </div>\n </div>\n\n \x3c!-- ontop files --\x3e\n <div ng-repeat="ontopFileInfo in formData.settings.ontopFiles" class="form-group row indented-div">\n <label for="{{ontopFileInfo.type}}" class="col-xs-12 col-md-3 col-lg-2 col-form-label">\n {{((\'ontop.repo.file.\' + ontopFileInfo.type + \'.name\') | translate)}} {{ontopFileInfo.required ? \' *\' : \'\'}}\n </label>\n\n <div class="col-xs-8 col-md-5 col-lg-4" gdb-tooltip="{{\'repoTooltips.ontop.\' + ontopFileInfo.type | translate}}">\n <a ng-if="!!ontopFileInfo.fileName"\n class="btn btn-link ot-edit-input"\n ng-click="editFile(ontopFileInfo)"\n gdb-tooltip="{{\'edit.file.content\' | translate}}"\n tooltip-placement="right">\n <span class="icon-edit"></span>\n </a>\n <input class="form-control" id="{{ontopFileInfo.type}}" ng-readonly="true"\n placeholder="{{ontopFileInfo.required ? (\'required.field\' | translate) : \'\'}}"\n ng-model="ontopFileInfo.fileName">\n </div>\n\n <div class="col-xs-4 col-md-2">\n <div class="btn btn-outline-primary btn-sm">\n <div ngf-select ngf-change="uploadOntopFile($files, ontopFileInfo)" ngf-multiple="false "\n class="selectFiles pointer clearfix">\n <em ng-hide="ontopFileInfo.loading" class="fa fa-upload fa-2x"></em>&nbsp;\n <div ng-show="ontopFileInfo.loading" onto-loader size="24" class="spinner-container ot-loader"></div>\n <span for="{{ontopFileInfo.type}}" class="pageInfo"\n style="vertical-align: super; color: #8a8a8a;">{{\'upload.file\' | translate}}</span>\n </div>\n </div>\n </div>\n </div>\n\n <div class="pt-1"></div>\n <div class="form-group row" ng-if="editRepoPage">\n <div class="checkbox col-xs-12">\n <label gdb-tooltip="{{\'restart.repo.check.tooltip\' | translate}}">\n <input id="restartRepo" name="restartRepo"\n type="checkbox"\n ng-model="repositoryInfo.restartRequested"\n ng-checked="repositoryInfo.restartRequested || repositoryInfo.saveId !== repositoryInfo.id"\n ng-disabled="repositoryInfo.saveId !== repositoryInfo.id"/>\n {{\'restart.repo.label\' | translate}}\n </label>\n </div>\n </div>\n <div class="form-group row col-xs-12 pb-3">\n <div class="text-right">\n <a ng-click="goBackToPreviousLocation()" class="btn btn-secondary">{{\'common.cancel.btn\' | translate}}</a>\n <button id="addSaveOntopRepository" ng-click="updateOntopRepo()" ng-if="!editRepoPage" type="submit" class="btn btn-primary">\n {{\'common.create.btn\' | translate}}\n </button>\n <button id="addEditOntopRepository" ng-click="updateOntopRepo()" ng-if="editRepoPage" type="submit" class="btn btn-primary">\n {{\'common.save.btn\' | translate}}\n </button>\n </div>\n </div>\n</div>\n';return __p}}}]);
1
+ (window.webpackJsonp=window.webpackJsonp||[]).push([[206],{290:function(module,exports){module.exports=function(obj){obj||(obj={});var __t,__p="";with(obj)__p+='<div id="ontop-content" class="pt-1">\n\n \x3c!-- Connection information --\x3e\n <h4>{{\'ontop.repo.connection.information\' | translate}}</h4>\n\n \x3c!-- select driver type --\x3e\n <div class="form-group row indented-div">\n <label class="col-xs-12 col-md-3 col-lg-2 col-form-label">{{\'ontop.repo.database.driver\' | translate}}</label>\n <div class="col-xs-8 col-md-5 col-lg-4" gdb-tooltip="{{\'repoTooltips.ontop.driverType\' | translate}}">\n <select class="form-control" id="driverType" ng-model="formData.connectionInformation.driverType"\n ng-change="selectDriver(formData.connectionInformation.driverType)"\n ng-options="driver.driverType as driver.driverName for driver in supportedDriversData">\n </select>\n </div>\n </div>\n\n \x3c!-- Host Name --\x3e\n <div class="form-group row indented-div" ng-if="!isGenericDriver">\n <label for="hostName" class="col-xs-12 col-md-3 col-lg-2 col-form-label">\n {{getHostNameLabel()}}</label>\n <div class="col-xs-12 col-md-5 col-lg-4"\n gdb-tooltip="{{\'repoTooltips.ontop.hostName\' | translate}}">\n <input id="hostName" class="form-control"\n type="text" min="1" max="65535"\n ng-required="true"\n placeholder="{{\'ontop.repo.database.host_name.placeholder\' | translate}}"\n ng-model="formData.connectionInformation.hostName"\n ng-change="updateUrl()">\n </div>\n </div>\n\n \x3c!-- Port --\x3e\n <div class="form-group row indented-div" ng-if="!isGenericDriver">\n <label for="port" class="col-xs-12 col-md-3 col-lg-2 col-form-label">\n {{\'ontop.repo.database.port\' | translate}} {{selectedDriver.portRequired ? \'*\' : \'\'}}</label>\n <div class="col-xs-12 col-md-5 col-lg-4"\n gdb-tooltip="{{\'repoTooltips.ontop.port\' | translate}}">\n <input id="port" class="form-control"\n type="number" min="1" max="65535"\n ng-required="selectedDriver.portRequired"\n name="port"\n placeholder="{{\'ontop.repo.database.port.placeholder\' | translate}}"\n ng-model="formData.connectionInformation.port"\n ng-change="updateUrl()">\n </div>\n </div>\n\n \x3c!-- Data Base Name --\x3e\n <div class="form-group row indented-div" ng-if="!isGenericDriver">\n <label for="databaseName" class="col-xs-12 col-md-3 col-lg-2 col-form-label">\n {{getDatabaseNameLabel()}} *</label>\n <div class="col-xs-12 col-md-5 col-lg-4"\n gdb-tooltip="{{\'repoTooltips.ontop.databaseName\' | translate}}">\n <input id="databaseName" class="form-control"\n type="text" min="1" max="65535"\n ng-required="true"\n placeholder="{{\'ontop.repo.database.database_name.placeholder\' | translate}}"\n ng-model="formData.connectionInformation.databaseName"\n ng-change="updateUrl()">\n </div>\n </div>\n\n \x3c!-- Username --\x3e\n <div class="form-group row indented-div">\n <label for="username" class="col-xs-12 col-md-3 col-lg-2 col-form-label">\n {{\'ontop.repo.database.username\' | translate}}</label>\n <div class="col-xs-12 col-md-5 col-lg-4"\n gdb-tooltip="{{\'repoTooltips.ontop.userName\' | translate}}">\n <input id="username" class="form-control"\n type="text" min="1" max="65535"\n placeholder="{{\'ontop.repo.database.username.placeholder\' | translate}}"\n ng-model="formData.connectionInformation.username">\n </div>\n </div>\n\n \x3c!-- Password --\x3e\n <div class="form-group row indented-div">\n <label for="password" class="col-xs-12 col-md-3 col-lg-2 col-form-label">\n {{\'ontop.repo.database.password\' | translate}}</label>\n <div class="col-xs-12 col-md-5 col-lg-4"\n gdb-tooltip="{{\'repoTooltips.ontop.password\' | translate}}">\n <input id="password" class="form-control"\n autocomplete="new-password"\n type="password" min="1" max="65535"\n placeholder="{{\'ontop.repo.database.password.placeholder\' | translate}}"\n ng-model="formData.connectionInformation.password">\n </div>\n </div>\n\n \x3c!-- Driver class --\x3e\n <div class="form-group row indented-div">\n <label for="driverClass" class="col-xs-12 col-md-3 col-lg-2 col-form-label">\n {{(\'ontop.repo.database.driver_class\' | translate) + \' *\'}}</label>\n <div class="col-xs-12 col-md-5 col-lg-4"\n gdb-tooltip="{{\'repoTooltips.ontop.driverClass\' | translate}}">\n <input id="driverClass" class="form-control"\n type="text" min="1" max="65535"\n ng-required="true"\n placeholder="{{\'ontop.repo.database.driver_class.placeholder\' | translate}}"\n ng-readonly="!isGenericDriver"\n ng-model="formData.connectionInformation.driverClass">\n </div>\n <div class="col-xs-12 col-md-4" ng-if="!selectedDriver.classAvailable">\n <div ng-if="!isGenericDriver">\n <em class="icon-warning icon-2x" gdb-tooltip="{{\'repoTooltips.ontop.driverClassWarning\' | translate}}"\n tooltip-placement="top"></em>\n <a class="uri" ng-if="selectedDriver.downloadDriverUrl"\n href="{{selectedDriver.downloadDriverUrl}}"\n style="text-decoration: underline;">\n {{\'ontop.repo.download.jdbc.driver\' | translate}}\n </a>\n </div>\n\n <div ng-if="isGenericDriver && !formData.connectionInformation.driverClass">\n <em class="icon-warning icon-2x" gdb-tooltip="{{\'repoTooltips.ontop.driverClassWarning\' | translate}}"\n tooltip-placement="top"></em>\n <span>{{\'ontop.repo.missing.jdbc.driver\' | translate}}</span>\n </div>\n </div>\n </div>\n\n \x3c!-- JDBC URL --\x3e\n <div class="form-group row indented-div">\n <label for="url" class="col-xs-12 col-md-3 col-lg-2 col-form-label">\n {{(\'ontop.repo.database.url\' | translate) + \' *\'}}</label>\n <div class="col-xs-12 col-md-5 col-lg-4"\n gdb-tooltip="{{\'repoTooltips.ontop.url\' | translate}}">\n <input id="url" class="form-control"\n type="text" min="1" max="65535"\n ng-required="true"\n placeholder="{{isGenericDriver ? defaultUrlTemplate : selectedDriver.urlTemplate}}"\n ng-model="formData.connectionInformation.url"\n ng-keydown="onKeyDownInUrlInput($event)"\n ng-keyup="onKeyUpInUrlInput()">\n </div>\n\n <div class="col-xs-4 col-md-2">\n <div class="wrapper-div" gdb-tooltip="{{\'repoTooltips.ontop.testConn\' | translate}}">\n <button id="testConnection"\n ng-click="testConnection()"\n ng-disabled="isTestConnectionDisabled()"\n type="submit"\n class="btn btn-primary">{{\'ontop.repo.test.connection\' | translate}}\n </button>\n </div>\n </div>\n </div>\n\n \x3c!-- Ontop settings --\x3e\n <h4>{{\'ontop.repo.settings\' | translate}}</h4>\n\n \x3c!-- Additional properties --\x3e\n <div class="form-group row indented-div">\n <label class="col-xs-12 col-md-3 col-lg-2 col-form-label">\n {{\'ontop.repo.properties.label\' | translate}}\n </label>\n <div class="col-xs-8 col-md-5 col-lg-4">\n <div class="mb-1" gdb-tooltip="{{\'ontop.repo.properties.tooltip\' | translate}}">\n <textarea class="form-control" rows="3" maxlength="1000"\n id="additionalProperties"\n ng-model="formData.settings.additionalProperties"\n placeholder="{{\'ontop.repo.properties.placeholder\' | translate}}">\n </textarea>\n </div>\n </div>\n <div class="col-xs-12 col-md-4">\n <a class="uri"\n href="{{ontopProperiesLink}}"\n style="text-decoration: underline;">\n {{\'ontop.repo.properties.configuration.link\' | translate}}\n </a>\n </div>\n </div>\n\n \x3c!-- ontop files --\x3e\n <div ng-repeat="ontopFileInfo in formData.settings.ontopFiles" class="form-group row indented-div">\n <label for="{{ontopFileInfo.type}}" class="col-xs-12 col-md-3 col-lg-2 col-form-label">\n {{((\'ontop.repo.file.\' + ontopFileInfo.type + \'.name\') | translate)}} {{ontopFileInfo.required ? \' *\' : \'\'}}\n </label>\n\n <div class="col-xs-8 col-md-5 col-lg-4" gdb-tooltip="{{\'repoTooltips.ontop.\' + ontopFileInfo.type | translate}}">\n <a ng-if="!!ontopFileInfo.fileName"\n class="btn btn-link ot-edit-input"\n ng-click="editFile(ontopFileInfo)"\n gdb-tooltip="{{\'edit.file.content\' | translate}}"\n tooltip-placement="right">\n <span class="icon-edit"></span>\n </a>\n <input class="form-control" id="{{ontopFileInfo.type}}" ng-readonly="true"\n placeholder="{{ontopFileInfo.required ? (\'required.field\' | translate) : \'\'}}"\n ng-model="ontopFileInfo.fileName">\n </div>\n\n <div class="col-xs-4 col-md-2">\n <div class="btn btn-outline-primary btn-sm">\n <div ngf-select ngf-change="uploadOntopFile($files, ontopFileInfo)" ngf-multiple="false "\n class="selectFiles pointer clearfix">\n <em ng-hide="ontopFileInfo.loading" class="fa fa-upload fa-2x"></em>&nbsp;\n <div ng-show="ontopFileInfo.loading" onto-loader size="24" class="spinner-container ot-loader"></div>\n <span for="{{ontopFileInfo.type}}" class="pageInfo"\n style="vertical-align: super; color: #8a8a8a;">{{\'upload.file\' | translate}}</span>\n </div>\n </div>\n </div>\n </div>\n\n <div class="pt-1"></div>\n <div class="form-group row" ng-if="editRepoPage">\n <div class="checkbox col-xs-12">\n <label gdb-tooltip="{{\'restart.repo.check.tooltip\' | translate}}">\n <input id="restartRepo" name="restartRepo"\n type="checkbox"\n ng-model="repositoryInfo.restartRequested"\n ng-checked="repositoryInfo.restartRequested || repositoryInfo.saveId !== repositoryInfo.id"\n ng-disabled="repositoryInfo.saveId !== repositoryInfo.id"/>\n {{\'restart.repo.label\' | translate}}\n </label>\n </div>\n </div>\n <div class="form-group row col-xs-12 pb-3">\n <div class="text-right">\n <a ng-click="goBackToPreviousLocation()" class="btn btn-secondary">{{\'common.cancel.btn\' | translate}}</a>\n <button id="addSaveOntopRepository" ng-click="updateOntopRepo()" ng-if="!editRepoPage" type="submit" class="btn btn-primary">\n {{\'common.create.btn\' | translate}}\n </button>\n <button id="addEditOntopRepository" ng-click="updateOntopRepo()" ng-if="editRepoPage" type="submit" class="btn btn-primary">\n {{\'common.save.btn\' | translate}}\n </button>\n </div>\n </div>\n</div>\n';return __p}}}]);
@@ -1 +1 @@
1
- (window.webpackJsonp=window.webpackJsonp||[]).push([[198],{282:function(module,exports){module.exports=function(obj){obj||(obj={});var __t,__p="";with(obj)__p+='<div class="modal-header">\n <h3 class="modal-title">{{\'security.free.access.config.title\' | translate}}</h3>\n <div>{{\'security.free.access.config.settings\' | translate}}</div>\n</div>\n<div class="modal-body">\n <div class="card" id="user-settings">\n <div class="card-block">\n <h3>{{\'security.application.settings\' | translate}}</h3>\n <label class="mr-1"><input type="checkbox" ng-model="appSettings.DEFAULT_SAMEAS" id="defaultSameAs" checked="appSettings.DEFAULT_SAMEAS" > {{\'security.default.same.as\' | translate}}</label>\n <label class="mr-1"><input type="checkbox" ng-model="appSettings.DEFAULT_INFERENCE" id="defaultInference" checked="appSettings.DEFAULT_INFERENCE" > {{\'security.default.inference\' | translate}}</label>\n <label><input type="checkbox" ng-model="appSettings.EXECUTE_COUNT" id="defaultCount" checked="appSettings.EXECUTE_COUNT"> {{\'security.count.all.results\' | translate}}</label>\n </div>\n </div>\n <div class="card">\n <div class="card-block repo-fields">\n <h3>{{\'security.read.write.access\' | translate}}</h3>\n <div class="row">\n <p ng-show="repositoryCheckError" class="authoritiesError alert alert-danger col-xs-12">\n {{\'security.user.rights\' | translate}}\n </p>\n <p ng-hide="hasActiveLocation()" class="authoritiesError alert alert-danger col-xs-12">{{\'security.no.active.location\' | translate}}\n <a href="repository" ng-if="isAdmin()">{{\'activate.location\' | translate}}</a>\n </p>\n </div>\n <div class="row" style="margin-top: 0">\n <h5 class="boldless col-xs-10">{{\'security.repository.title\' | translate}}</h5>\n <span class="fa fa-eye fa-1andAhalfx col-xs-1" gdb-tooltip="{{\'security.tooltip.read\' | translate}}"\n tooltip-placement="top" style="margin-top: 10px"></span>\n <span class="fa fa-pencil fa-1andAhalfx col-xs-1" gdb-tooltip="{{\'security.tooltip.write\' | translate}}"\n tooltip-placement="top" style="margin-top: 10px"></span>\n </div>\n <div id="access-user-repos access-user-rights" class="row"\n ng-repeat="repository in getRepositories() | orderBy: [\'id\', \'location\']">\n <p class="col-xs-10">{{repository.id}}<small> &middot; {{repository.location ? repository.location : \'Local\'}}</small></p>\n <label class="col-xs-1">\n <input class="animated read" type="checkbox"\n ng-model="grantedAuthorities.READ_REPO[createUniqueKey(repository)]"\n ng-checked="grantedAuthorities.READ_REPO[createUniqueKey(repository)] || grantedAuthorities.WRITE_REPO[createUniqueKey(repository)]"\n ng-disabled="grantedAuthorities.WRITE_REPO[createUniqueKey(repository)]"\n ng-class="grantedAuthorities.WRITE_REPO[createUniqueKey(repository)] ? \'bounceIn\' : \'\'"\n ng-click="setGrantedAuthorities()">\n </label>\n <label class="col-xs-1">\n <input class="animated write" type="checkbox"\n ng-model="grantedAuthorities.WRITE_REPO[createUniqueKey(repository)]"\n ng-checked="grantedAuthorities.WRITE_REPO[createUniqueKey(repository)]"\n ng-click="setGrantedAuthorities()">\n </label>\n </div>\n </div>\n </div>\n</div>\n<div class="modal-footer">\n <button type="button" class="btn btn-default" ng-click="cancel()">{{\'common.cancel.btn\' | translate}}</button>\n <button class="btn btn-primary" ng-click="ok()">{{\'common.ok.btn\' | translate}}</button>\n</div>\n';return __p}}}]);
1
+ (window.webpackJsonp=window.webpackJsonp||[]).push([[207],{291:function(module,exports){module.exports=function(obj){obj||(obj={});var __t,__p="";with(obj)__p+='<div class="modal-header">\n <h3 class="modal-title">{{\'security.free.access.config.title\' | translate}}</h3>\n <div>{{\'security.free.access.config.settings\' | translate}}</div>\n</div>\n<div class="modal-body">\n <div class="card" id="user-settings">\n <div class="card-block">\n <h3>{{\'security.application.settings\' | translate}}</h3>\n <label class="mr-1"><input type="checkbox" ng-model="appSettings.DEFAULT_SAMEAS" id="defaultSameAs" checked="appSettings.DEFAULT_SAMEAS" > {{\'security.default.same.as\' | translate}}</label>\n <label class="mr-1"><input type="checkbox" ng-model="appSettings.DEFAULT_INFERENCE" id="defaultInference" checked="appSettings.DEFAULT_INFERENCE" > {{\'security.default.inference\' | translate}}</label>\n <label><input type="checkbox" ng-model="appSettings.EXECUTE_COUNT" id="defaultCount" checked="appSettings.EXECUTE_COUNT"> {{\'security.count.all.results\' | translate}}</label>\n </div>\n </div>\n <div class="card">\n <div class="card-block repo-fields">\n <h3>{{\'security.read.write.access\' | translate}}</h3>\n <div class="row">\n <p ng-show="repositoryCheckError" class="authoritiesError alert alert-danger col-xs-12">\n {{\'security.user.rights\' | translate}}\n </p>\n <p ng-hide="hasActiveLocation()" class="authoritiesError alert alert-danger col-xs-12">{{\'security.no.active.location\' | translate}}\n <a href="repository" ng-if="isAdmin()">{{\'activate.location\' | translate}}</a>\n </p>\n </div>\n <div class="row" style="margin-top: 0">\n <h5 class="boldless col-xs-10">{{\'security.repository.title\' | translate}}</h5>\n <span class="fa fa-eye fa-1andAhalfx col-xs-1" gdb-tooltip="{{\'security.tooltip.read\' | translate}}"\n tooltip-placement="top" style="margin-top: 10px"></span>\n <span class="fa fa-pencil fa-1andAhalfx col-xs-1" gdb-tooltip="{{\'security.tooltip.write\' | translate}}"\n tooltip-placement="top" style="margin-top: 10px"></span>\n </div>\n <div id="access-user-repos access-user-rights" class="row"\n ng-repeat="repository in getRepositories() | orderBy: [\'id\', \'location\']">\n <p class="col-xs-10">{{repository.id}}<small> &middot; {{repository.location ? repository.location : \'Local\'}}</small></p>\n <label class="col-xs-1">\n <input class="animated read" type="checkbox"\n ng-model="grantedAuthorities.READ_REPO[createUniqueKey(repository)]"\n ng-checked="grantedAuthorities.READ_REPO[createUniqueKey(repository)] || grantedAuthorities.WRITE_REPO[createUniqueKey(repository)]"\n ng-disabled="grantedAuthorities.WRITE_REPO[createUniqueKey(repository)]"\n ng-class="grantedAuthorities.WRITE_REPO[createUniqueKey(repository)] ? \'bounceIn\' : \'\'"\n ng-click="setGrantedAuthorities()">\n </label>\n <label class="col-xs-1">\n <input class="animated write" type="checkbox"\n ng-model="grantedAuthorities.WRITE_REPO[createUniqueKey(repository)]"\n ng-checked="grantedAuthorities.WRITE_REPO[createUniqueKey(repository)]"\n ng-click="setGrantedAuthorities()">\n </label>\n </div>\n </div>\n </div>\n</div>\n<div class="modal-footer">\n <button type="button" class="btn btn-default" ng-click="cancel()">{{\'common.cancel.btn\' | translate}}</button>\n <button class="btn btn-primary" ng-click="ok()">{{\'common.ok.btn\' | translate}}</button>\n</div>\n';return __p}}}]);
@@ -1 +1 @@
1
- (window.webpackJsonp=window.webpackJsonp||[]).push([[199],{283:function(module,exports){module.exports=function(obj){obj||(obj={});var __t,__p="";with(obj)__p+='<h1>\n {{title}}\n</h1>\n<div core-errors></div>\n<div ng-show="getActiveRepository()">\n <table class="table table-striped" aria-describedby="Role mappings table">\n <thead>\n <th id="mappingsColumn"><strong>{{\'security.mapping.header\' | translate}}</strong></th>\n <th ng-repeat="role in roles" id="rolesColumn">\n <strong>{{role}}</strong>\n </th>\n </thead>\n <tbody>\n <tr ng-repeat="mapping in mappings">\n <td><span>{{mapping}}</span></td>\n <td ng-repeat="role in roles">\n <span ng-style="{\'color\': roleMappings[role][mapping] ? \'green\' : \'red\'}">\n {{roleMappings[role][mapping]}}</span> <span role="button" ng-click="debugMapping(role, mapping)" class="menu-item-icon icon-help"></span></td>\n </tr>\n </tbody>\n </table>\n\n</div>\n';return __p}}}]);
1
+ (window.webpackJsonp=window.webpackJsonp||[]).push([[208],{292:function(module,exports){module.exports=function(obj){obj||(obj={});var __t,__p="";with(obj)__p+='<h1>\n {{title}}\n</h1>\n<div core-errors></div>\n<div ng-show="getActiveRepository()">\n <table class="table table-striped" aria-describedby="Role mappings table">\n <thead>\n <th id="mappingsColumn"><strong>{{\'security.mapping.header\' | translate}}</strong></th>\n <th ng-repeat="role in roles" id="rolesColumn">\n <strong>{{role}}</strong>\n </th>\n </thead>\n <tbody>\n <tr ng-repeat="mapping in mappings">\n <td><span>{{mapping}}</span></td>\n <td ng-repeat="role in roles">\n <span ng-style="{\'color\': roleMappings[role][mapping] ? \'green\' : \'red\'}">\n {{roleMappings[role][mapping]}}</span> <span role="button" ng-click="debugMapping(role, mapping)" class="menu-item-icon icon-help"></span></td>\n </tr>\n </tbody>\n </table>\n\n</div>\n';return __p}}}]);
@@ -1 +1 @@
1
- (window.webpackJsonp=window.webpackJsonp||[]).push([[200],{284:function(module,exports){module.exports=function(obj){obj||(obj={});var __t,__p="";with(obj)__p+='<script type="text/ng-template" id="popover-content-user.html">\n\t<h5>{{\'security.user.may\' | translate}}</h5>\n\t<ul>\n <li>{{\'security.use.gdb\' | translate}}</li>\n\t <li>{{\'security.grant.read.access\' | translate}}</li>\n\t\t<li>{{\'security.grant.read.write.access\' | translate}}</li>\n </ul>\n<\/script>\n\n<script type="text/ng-template" id="popover-content-repo-manager.html">\n\t<h5>{{\'security.repo.manager.may\' | translate}}</h5>\n\t<ul>\n\t\t<li>{{\'security.use.gdb\' | translate}}</li>\n\t\t<li>{{\'security.read.write.all.repos\' | translate}}</li>\n\t\t<li>{{\'security.create.edit.delete.repos\' | translate}}</li>\n\t\t<li>{{\'security.access.monitoring\' | translate}}</li>\n\t</ul>\n<\/script>\n\n<script type="text/ng-template" id="popover-content-admin.html">\n\t<h5>{{\'security.admin.may\' | translate}}</h5>\n\t<ul>\n\t\t<li>{{\'security.use.gdb\' | translate}}</li>\n\t\t<li>{{\'security.read.write.all.repos\' | translate}}</li>\n\t\t<li>{{\'security.create.edit.delete.repos\' | translate}}</li>\n\t\t<li>{{\'security.access.monitoring\' | translate}}</li>\n\t\t<li>{{\'security.attach.remote.locations\' | translate}}</li>\n\t\t<li>{{\'security.manage.users.access\' | translate}}</li>\n\t\t<li>{{\'security.manage.cluster\' | translate}}</li>\n\t\t<li>{{\'security.view.sys.info\' | translate}}</li>\n\t</ul>\n<\/script>\n\n<link href="css/lib/ng-tags-input/ng-tags-input.min.css?v=2.4.2-TR2" rel="stylesheet"/>\n\n<h1>{{pageTitle}}</h1>\n\n<div id="wb-user" ng-hide="loader">\n\t<form name="form" class="form newUserForm userForm editUserContainer" ng-submit="submit()" novalidate>\n\t\t<div class="row">\n\t\t\t<div class="col-md-6 us-left-col">\n\t\t\t\t<div class="card login-credentials" ng-hide="isOverrideAuth() || !isLocalAuthentication()">\n\t\t\t\t\t<div class="card-block">\n\t\t\t\t\t\t<h3>{{\'view.login.title\' | translate}}</h3>\n\t\t\t\t\t\t<div class="form-group" ng-class="{\'has-danger\': usernameError}">\n\t\t\t\t\t\t\t<div class="input-group">\n\t\t\t\t\t\t\t\t<span class="input-group-addon" gdb-tooltip="{{\'security.table.username\' | translate}}"><em class="icon-user icon-2x text-muted"></em></span>\n\t\t\t\t\t\t\t\t<input id="wb-user-username" placeholder="{{\'security.table.username\' | translate}}" name="username" class="form-control form-control-lg" type="text" ng-model="user.username" ng-readonly="mode !== \'add\'">\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div ng-show="usernameError" class="form-control-feedback">{{usernameError}}</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class="form-group" ng-class="{\'has-danger\': passwordError}">\n\t\t\t\t\t\t\t<div class="input-group">\n\t\t\t\t\t\t\t\t<span class="input-group-addon" gdb-tooltip="{{\'security.password.placeholder\' | translate}}"><em class="icon-lock icon-2x text-muted"></em></span>\n\t\t\t\t\t\t\t\t<input id="wb-user-password" placeholder="{{passwordPlaceholder | translate}}" name="password" class="form-control form-control-lg" type="password"\tng-model="user.password" ng-hide="user.external || hasExternalAuthUser()" ng-readonly="noPassword">\n\t\t\t\t\t\t\t\t<span ng-show="user.external || hasExternalAuthUser()">{{\'security.auth.from.external.module\' | translate}}</span>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div ng-show="passwordError" class="form-control-feedback">{{passwordError}}</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class="form-group" ng-class="{\'has-danger\': confirmPasswordError}" ng-hide="user.external || hasExternalAuthUser()">\n\t\t\t\t\t\t\t<div class="input-group">\n\t\t\t\t\t\t\t\t<span class="input-group-addon" gdb-tooltip="{{\'security.password.confirm\' | translate}}"><em class="icon-lock icon-2x text-muted"></em></span>\n\t\t\t\t\t\t\t\t<input id="wb-user-confirmpassword" placeholder="{{\'security.password.confirm\' | translate}}" name="password_confirm" class="form-control form-control-lg" type="password" ng-model="user.confirmpassword" ng-readonly="noPassword">\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div ng-show="confirmPasswordError" class="form-control-feedback">{{confirmPasswordError}}</div>\n\t\t\t\t\t\t</div>\n <div>\n <label class="d-block">\n <input type="checkbox" id="noPassword" ng-model="noPassword" ng-change="setNoPassword()">\n <span ng-show="mode === \'add\'">{{\'security.dont.set.password\' | translate}} </span>\n <span ng-show="mode !== \'add\'">{{\'security.unset.password\' | translate}} </span>\n </label>\n </div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\n\t\t\t\t<div class="card sparql-editor-settings" id="user-settings">\n\t\t\t\t\t<div class="card-block">\n\t\t\t\t\t\t<h3>{{\'security.user.settings\' | translate}}</h3>\n\n\t\t\t\t\t\t<div id="sameas-on" class="mb-1">\n\t\t\t\t\t\t\t<span class="sameas-label">\n\t\t\t\t\t\t\t\t{{\'security.expand.sameAs.is\' | translate}}\n\t\t\t\t\t\t\t\t<span class="tag {{user.appSettings.DEFAULT_SAMEAS ? \'tag-primary\' : \'tag-default\'}}">\n\t\t\t\t\t\t\t\t\t{{user.appSettings.DEFAULT_SAMEAS ? \'common.on.btn\' : \'common.off.btn\' | translate}}\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t<span gdb-tooltip="{{shouldDisableSameAs() ? \'core.require.inferred\' : \'security.tooltip.click.me\' | translate}}" tooltip-placement="top"\n\t\t\t\t\t\t\t\t ng-click="user.appSettings.DEFAULT_SAMEAS = !user.appSettings.DEFAULT_SAMEAS"\n\t\t\t\t\t\t\t\t class="switch mr-0">\n\t\t\t\t\t\t\t\t<input id="sameAsCheck" type="checkbox" class="switch"\n ng-checked="user.appSettings.DEFAULT_SAMEAS"\n ng-disabled="shouldDisableSameAs()"/>\n\t\t\t\t\t\t\t\t<label for="sameas-on"></label>\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t{{\'security.default.editor.graph\' | translate}}\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t<div id="inference-on" class="mb-1">\n\t\t\t\t\t\t\t<span class="inference-label">\n\t\t\t\t\t\t\t\t{{\'security.inference.is\' | translate}}\n\t\t\t\t\t\t\t\t<span class="tag {{user.appSettings.DEFAULT_INFERENCE ? \'tag-primary\' : \'tag-default\'}}">\n\t\t\t\t\t\t\t\t\t{{user.appSettings.DEFAULT_INFERENCE ? \'common.on.btn\' : \'common.off.btn\' | translate}}\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t<span gdb-tooltip="{{\'security.tooltip.click.me\' | translate}}" tooltip-placement="top"\n\t\t\t\t\t\t\t\t ng-click="user.appSettings.DEFAULT_INFERENCE = !user.appSettings.DEFAULT_INFERENCE"\n\t\t\t\t\t\t\t\t class="switch mr-0">\n\t\t\t\t\t\t\t\t<input type="checkbox" class="switch" ng-checked="user.appSettings.DEFAULT_INFERENCE"/>\n\t\t\t\t\t\t\t\t<label for="inference-on"></label>\n\t\t\t\t\t\t\t</span>\n {{\'security.default.editor.graph\' | translate}}\n\t\t\t\t\t\t</div>\n\n <div id="schema-on" class="mb-1">\n\t\t\t\t\t\t\t<span class="schema-label">\n\t\t\t\t\t\t\t\t{{\'security.show.schema\' | translate}}\n\t\t\t\t\t\t\t\t<span class="tag {{user.appSettings.DEFAULT_VIS_GRAPH_SCHEMA ? \'tag-primary\' : \'tag-default\'}}">\n\t\t\t\t\t\t\t\t\t{{user.appSettings.DEFAULT_VIS_GRAPH_SCHEMA ? \'common.on.btn\' : \'common.off.btn\' | translate}}\n\t\t\t\t\t\t\t\t</span>\n <span gdb-tooltip="{{\'security.tooltip.click.me\' | translate}}" tooltip-placement="top"\n ng-click="user.appSettings.DEFAULT_VIS_GRAPH_SCHEMA = !user.appSettings.DEFAULT_VIS_GRAPH_SCHEMA"\n class="switch mr-0">\n\t\t\t\t\t\t\t\t<input type="checkbox" class="switch" ng-checked="user.appSettings.DEFAULT_VIS_GRAPH_SCHEMA"/>\n\t\t\t\t\t\t\t\t<label for="schema-on"></label>\n\t\t\t\t\t\t\t</span>\n {{\'security.default.visual.graph\' | translate}}\n\t\t\t\t\t\t\t</span>\n </div>\n\n\t\t\t\t\t\t<label class="d-block">\n\t\t\t\t\t\t\t<input type="checkbox" ng-model="user.appSettings.EXECUTE_COUNT" id="defaultCount" checked="appSettings.EXECUTE_COUNT">\n\t\t\t\t\t\t\t{{\'security.count.total.results\' | translate}}\n\t\t\t\t\t\t</label>\n\n\t\t\t\t\t\t<label class="d-block">\n\t\t\t\t\t\t\t<input type="checkbox" ng-model="user.appSettings.IGNORE_SHARED_QUERIES" id="ignore-shared" checked="appSettings.IGNORE_SHARED_QUERIES">\n\t\t\t\t\t\t\t{{\'security.ignore.shared.queries\' | translate}}\n\t\t\t\t\t\t</label>\n\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\n\t\t\t\t<div class="card" id="workbench-settings" ng-if="showWorkbenchSettings">\n\t\t\t\t\t<div class="card-block">\n\t\t\t\t\t\t<h3>{{\'security.workbench.settings.title\' | translate}}\n\t\t\t\t\t\t\t<em class="icon-info text-tertiary small" gdb-tooltip="{{\'security.workbench.settings.theme.tooltip\' | translate}}"></em></h3>\n\t\t\t\t\t\t<div>\n <div class="form-group">\n <label class="col-lg-2">{{\'security.workbench.settings.theme.label\' | translate}}</label>\n <div class="btn-group theme-selector-dropdown" uib-dropdown>\n <button type="button" class="btn btn-sm btn-secondary dropdown-toggle theme-selector-dropdown-btn" uib-dropdown-toggle>\n {{selectedTheme.label}}\n </button>\n <ul class="dropdown-menu" role="menu">\n <li ng-repeat="theme in themes">\n <a ng-click="setTheme(theme)" class="dropdown-item">{{theme.label}}</a>\n </li>\n </ul>\n </div>\n </div>\n\n <div class="form-group">\n <label class="col-lg-2">{{\'security.workbench.settings.theme.mode.label\' | translate}}</label>\n <div class="radio">\n <label class="px-1">\n <input type="radio" value="light" ng-model="workbenchSettings.mode" ng-change="setThemeMode()"/>\n {{\'security.workbench.settings.theme.mode.light\' | translate}}\n </label>\n <label class="px-1">\n <input type="radio" value="dark" ng-model="workbenchSettings.mode" ng-change="setThemeMode()"/>\n {{\'security.workbench.settings.theme.mode.dark\' | translate}}\n </label>\n </div>\n </div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\n\t\t\t<div class="col-md-6 us-right-col" ng-hide="!isLocalAuthentication()">\n\t\t\t\t<div class="card user-role" id="user-roles">\n\t\t\t\t\t<div class="card-block">\n\t\t\t\t\t\t<h3>{{\'security.user.role\' | translate}}</h3>\n\t\t\t\t\t\t<label class="mr-1"\n\t\t\t\t\t\t\t uib-popover-template="\'popover-content-user.html\'"\n\t\t\t\t\t\t\t popover-trigger="mouseenter"\n\t\t\t\t\t\t\t popover-placement="bottom">\n\t\t\t\t\t\t\t<input type="radio" ng-model="userType" id="roleUser" value="user" ng-disabled="hasEditRestrictions()" >\n\t\t\t\t\t\t\t{{\'security.user.label\' | translate}}\n\t\t\t\t\t\t</label>\n\t\t\t\t\t\t<label class="mr-1"\n\t\t\t\t\t\t\t uib-popover-template="\'popover-content-repo-manager.html\'"\n\t\t\t\t\t\t\t popover-trigger="mouseenter"\n\t\t\t\t\t\t\t popover-placement="bottom">\n\t\t\t\t\t\t\t<input type="radio" ng-model="userType" id="roleRepoAdmin" value="repoManager" ng-disabled="hasEditRestrictions()">\n\t\t\t\t\t\t\t{{\'security.repo.manager.label\' | translate}}\n\t\t\t\t\t\t</label>\n\t\t\t\t\t\t<label uib-popover-template="\'popover-content-admin.html\'"\n\t\t\t\t\t\t\t popover-trigger="mouseenter"\n\t\t\t\t\t\t\t popover-placement="bottom">\n\t\t\t\t\t\t\t<input type="radio" ng-model="userType" id="roleAdmin" value="admin" ng-disabled="hasEditRestrictions()">\n\t\t\t\t\t\t\t{{\'security.admin.label\' | translate}}\n\t\t\t\t\t\t</label>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\n <div class="card user-custom-roles" id="user-custom-roles">\n <div class="card-block">\n <h3>{{\'security.user.custom_role\' | translate}}</h3>\n <div class="input-group">\n <tags-input class="wb-tags-input" ng-model="customRoles" min-length="2"\n ng-disabled="!isUser() || mode === \'settings\'"\n use-strings="true"\n add-on-space="true"\n add-on-comma="true"\n on-tag-added="addCustomRole($tag)"\n placeholder="{{\'security.user.add.custom_role.msg\' | translate}}"></tags-input>\n </div>\n </div>\n </div>\n\n\t\t\t\t<div id="user-repos" class="card user-repositories">\n\t\t\t\t\t<div class="card-block">\n\t\t\t\t\t\t<h3>{{\'security.repo.rights\' | translate}}</h3>\n\t\t\t\t\t\t<div class="has-danger">\n\t\t\t\t\t\t\t<p ng-show="repositoryCheckError" class="form-control-feedback">\n\t\t\t\t\t\t\t\t{{\'security.user.rights\' | translate}}\n\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t</div>\n <div class="scrollable-table">\n <table class="table table-hover table-sm" aria-describedby="User rights table">\n <thead>\n <tr>\n <th id="repositoryIdColumn">{{\'security.repository.title\' | translate}}</th>\n <th id="readRightsColumn" class="text-xs-center"><em class="icon-eye icon-lg" gdb-tooltip="{{\'security.tooltip.read\' | translate}}"></em></th>\n <th id="writeRightColumn" class="text-xs-center"><em class="icon-edit icon-lg" gdb-tooltip="{{\'security.tooltip.write\' | translate}}"></em></th>\n </tr>\n <tr>\n <th>{{\'security.any.data.repo\' | translate}}\n <em class="icon-info text-tertiary" gdb-tooltip="{{\'security.data.repos\' | translate}}"></em>\n </th>\n <th class="text-xs-center">\n <input class="read" type="checkbox" ng-model="grantedAuthorities.READ_REPO[\'*\']" ng-checked="hasReadPermission(\'*\')" ng-disabled="readCheckDisabled(\'*\')" ng-click="setGrantedAuthorities()">\n </th>\n <th class="text-xs-center">\n <input class="write" type="checkbox" ng-model="grantedAuthorities.WRITE_REPO[\'*\']" ng-checked="hasWritePermission(\'*\')" ng-disabled="writeCheckDisabled(\'*\')" ng-click="setGrantedAuthorities()">\n </th>\n </tr>\n </thead>\n <tbody>\n <div>\n <tr ng-repeat="repository in getReadableRepositories() | orderBy: [\'location\', \'id\']">\n <td class="repository-name">{{repository.id}}<small> &middot; {{repository.location ? repository.location : \'Local\'}}</small></td>\n <td class="text-xs-center read-rights"><input class="read" type="checkbox" ng-model="grantedAuthorities.READ_REPO[createUniqueKey(repository)]" ng-checked="hasReadPermission(repository)" ng-disabled="readCheckDisabled(repository)" ng-click="setGrantedAuthorities()"></td>\n <td class="text-xs-center write-rights"><input class="write" type="checkbox" ng-model="grantedAuthorities.WRITE_REPO[createUniqueKey(repository)]" ng-checked="hasWritePermission(repository)" ng-disabled="writeCheckDisabled(repository)" ng-click="setGrantedAuthorities()"></td>\n </tr>\n </div>\n </tbody>\n </table>\n </div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n </div>\n\t\t</div>\n\n\t\t<div class="text-right">\n <button id="wb-user-goBack" class="btn btn-secondary" type="button" ng-click="goBack()">{{\'common.cancel.btn\' | translate}}</button>\n <button id="wb-user-submit" class="btn btn-primary" type="submit">{{saveButtonText}}</button>\n\t\t</div>\n\t</form>\n</div>\n<div class="ot-loader ot-main-loader" onto-loader size="50" ng-show="loader"></div>\n\n\n\n';return __p}}}]);
1
+ (window.webpackJsonp=window.webpackJsonp||[]).push([[209],{293:function(module,exports){module.exports=function(obj){obj||(obj={});var __t,__p="";with(obj)__p+='<script type="text/ng-template" id="popover-content-user.html">\n\t<h5>{{\'security.user.may\' | translate}}</h5>\n\t<ul>\n <li>{{\'security.use.gdb\' | translate}}</li>\n\t <li>{{\'security.grant.read.access\' | translate}}</li>\n\t\t<li>{{\'security.grant.read.write.access\' | translate}}</li>\n </ul>\n<\/script>\n\n<script type="text/ng-template" id="popover-content-repo-manager.html">\n\t<h5>{{\'security.repo.manager.may\' | translate}}</h5>\n\t<ul>\n\t\t<li>{{\'security.use.gdb\' | translate}}</li>\n\t\t<li>{{\'security.read.write.all.repos\' | translate}}</li>\n\t\t<li>{{\'security.create.edit.delete.repos\' | translate}}</li>\n\t\t<li>{{\'security.access.monitoring\' | translate}}</li>\n\t</ul>\n<\/script>\n\n<script type="text/ng-template" id="popover-content-admin.html">\n\t<h5>{{\'security.admin.may\' | translate}}</h5>\n\t<ul>\n\t\t<li>{{\'security.use.gdb\' | translate}}</li>\n\t\t<li>{{\'security.read.write.all.repos\' | translate}}</li>\n\t\t<li>{{\'security.create.edit.delete.repos\' | translate}}</li>\n\t\t<li>{{\'security.access.monitoring\' | translate}}</li>\n\t\t<li>{{\'security.attach.remote.locations\' | translate}}</li>\n\t\t<li>{{\'security.manage.users.access\' | translate}}</li>\n\t\t<li>{{\'security.manage.cluster\' | translate}}</li>\n\t\t<li>{{\'security.view.sys.info\' | translate}}</li>\n\t</ul>\n<\/script>\n\n<link href="css/lib/ng-tags-input/ng-tags-input.min.css?v=2.5.0-RC1" rel="stylesheet"/>\n\n<h1>{{pageTitle}}</h1>\n\n<div id="wb-user" ng-hide="loader">\n\t<form name="form" class="form newUserForm userForm editUserContainer" ng-submit="submit()" novalidate>\n\t\t<div class="row">\n\t\t\t<div class="col-md-6 us-left-col">\n\t\t\t\t<div class="card login-credentials" ng-hide="isOverrideAuth() || !isLocalAuthentication()">\n\t\t\t\t\t<div class="card-block">\n\t\t\t\t\t\t<h3>{{\'view.login.title\' | translate}}</h3>\n\t\t\t\t\t\t<div class="form-group" ng-class="{\'has-danger\': usernameError}">\n\t\t\t\t\t\t\t<div class="input-group">\n\t\t\t\t\t\t\t\t<span class="input-group-addon" gdb-tooltip="{{\'security.table.username\' | translate}}"><em class="icon-user icon-2x text-muted"></em></span>\n\t\t\t\t\t\t\t\t<input id="wb-user-username" placeholder="{{\'security.table.username\' | translate}}" name="username" class="form-control form-control-lg" type="text" ng-model="user.username" ng-readonly="mode !== \'add\'">\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div ng-show="usernameError" class="form-control-feedback">{{usernameError}}</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class="form-group" ng-class="{\'has-danger\': passwordError}">\n\t\t\t\t\t\t\t<div class="input-group">\n\t\t\t\t\t\t\t\t<span class="input-group-addon" gdb-tooltip="{{\'security.password.placeholder\' | translate}}"><em class="icon-lock icon-2x text-muted"></em></span>\n\t\t\t\t\t\t\t\t<input id="wb-user-password" placeholder="{{passwordPlaceholder | translate}}" name="password" class="form-control form-control-lg" type="password"\tng-model="user.password" ng-hide="user.external || hasExternalAuthUser()" ng-readonly="noPassword">\n\t\t\t\t\t\t\t\t<span ng-show="user.external || hasExternalAuthUser()">{{\'security.auth.from.external.module\' | translate}}</span>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div ng-show="passwordError" class="form-control-feedback">{{passwordError}}</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class="form-group" ng-class="{\'has-danger\': confirmPasswordError}" ng-hide="user.external || hasExternalAuthUser()">\n\t\t\t\t\t\t\t<div class="input-group">\n\t\t\t\t\t\t\t\t<span class="input-group-addon" gdb-tooltip="{{\'security.password.confirm\' | translate}}"><em class="icon-lock icon-2x text-muted"></em></span>\n\t\t\t\t\t\t\t\t<input id="wb-user-confirmpassword" placeholder="{{\'security.password.confirm\' | translate}}" name="password_confirm" class="form-control form-control-lg" type="password" ng-model="user.confirmpassword" ng-readonly="noPassword">\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div ng-show="confirmPasswordError" class="form-control-feedback">{{confirmPasswordError}}</div>\n\t\t\t\t\t\t</div>\n <div>\n <label class="d-block">\n <input type="checkbox" id="noPassword" ng-model="noPassword" ng-change="setNoPassword()">\n <span ng-show="mode === \'add\'">{{\'security.dont.set.password\' | translate}} </span>\n <span ng-show="mode !== \'add\'">{{\'security.unset.password\' | translate}} </span>\n </label>\n </div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\n\t\t\t\t<div class="card sparql-editor-settings" id="user-settings">\n\t\t\t\t\t<div class="card-block">\n\t\t\t\t\t\t<h3>{{\'security.user.settings\' | translate}}</h3>\n\n\t\t\t\t\t\t<div id="sameas-on" class="mb-1">\n\t\t\t\t\t\t\t<span class="sameas-label">\n\t\t\t\t\t\t\t\t{{\'security.expand.sameAs.is\' | translate}}\n\t\t\t\t\t\t\t\t<span class="tag {{user.appSettings.DEFAULT_SAMEAS ? \'tag-primary\' : \'tag-default\'}}">\n\t\t\t\t\t\t\t\t\t{{user.appSettings.DEFAULT_SAMEAS ? \'common.on.btn\' : \'common.off.btn\' | translate}}\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t<span gdb-tooltip="{{shouldDisableSameAs() ? \'core.require.inferred\' : \'security.tooltip.click.me\' | translate}}" tooltip-placement="top"\n\t\t\t\t\t\t\t\t ng-click="user.appSettings.DEFAULT_SAMEAS = !user.appSettings.DEFAULT_SAMEAS"\n\t\t\t\t\t\t\t\t class="switch mr-0">\n\t\t\t\t\t\t\t\t<input id="sameAsCheck" type="checkbox" class="switch"\n ng-checked="user.appSettings.DEFAULT_SAMEAS"\n ng-disabled="shouldDisableSameAs()"/>\n\t\t\t\t\t\t\t\t<label for="sameas-on"></label>\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t{{\'security.default.editor.graph\' | translate}}\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t<div id="inference-on" class="mb-1">\n\t\t\t\t\t\t\t<span class="inference-label">\n\t\t\t\t\t\t\t\t{{\'security.inference.is\' | translate}}\n\t\t\t\t\t\t\t\t<span class="tag {{user.appSettings.DEFAULT_INFERENCE ? \'tag-primary\' : \'tag-default\'}}">\n\t\t\t\t\t\t\t\t\t{{user.appSettings.DEFAULT_INFERENCE ? \'common.on.btn\' : \'common.off.btn\' | translate}}\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t<span gdb-tooltip="{{\'security.tooltip.click.me\' | translate}}" tooltip-placement="top"\n\t\t\t\t\t\t\t\t ng-click="user.appSettings.DEFAULT_INFERENCE = !user.appSettings.DEFAULT_INFERENCE"\n\t\t\t\t\t\t\t\t class="switch mr-0">\n\t\t\t\t\t\t\t\t<input type="checkbox" class="switch" ng-checked="user.appSettings.DEFAULT_INFERENCE"/>\n\t\t\t\t\t\t\t\t<label for="inference-on"></label>\n\t\t\t\t\t\t\t</span>\n {{\'security.default.editor.graph\' | translate}}\n\t\t\t\t\t\t</div>\n\n <div id="schema-on" class="mb-1">\n\t\t\t\t\t\t\t<span class="schema-label">\n\t\t\t\t\t\t\t\t{{\'security.show.schema\' | translate}}\n\t\t\t\t\t\t\t\t<span class="tag {{user.appSettings.DEFAULT_VIS_GRAPH_SCHEMA ? \'tag-primary\' : \'tag-default\'}}">\n\t\t\t\t\t\t\t\t\t{{user.appSettings.DEFAULT_VIS_GRAPH_SCHEMA ? \'common.on.btn\' : \'common.off.btn\' | translate}}\n\t\t\t\t\t\t\t\t</span>\n <span gdb-tooltip="{{\'security.tooltip.click.me\' | translate}}" tooltip-placement="top"\n ng-click="user.appSettings.DEFAULT_VIS_GRAPH_SCHEMA = !user.appSettings.DEFAULT_VIS_GRAPH_SCHEMA"\n class="switch mr-0">\n\t\t\t\t\t\t\t\t<input type="checkbox" class="switch" ng-checked="user.appSettings.DEFAULT_VIS_GRAPH_SCHEMA"/>\n\t\t\t\t\t\t\t\t<label for="schema-on"></label>\n\t\t\t\t\t\t\t</span>\n {{\'security.default.visual.graph\' | translate}}\n\t\t\t\t\t\t\t</span>\n </div>\n\n\t\t\t\t\t\t<label class="d-block">\n\t\t\t\t\t\t\t<input type="checkbox" ng-model="user.appSettings.EXECUTE_COUNT" id="defaultCount" checked="appSettings.EXECUTE_COUNT">\n\t\t\t\t\t\t\t{{\'security.count.total.results\' | translate}}\n\t\t\t\t\t\t</label>\n\n\t\t\t\t\t\t<label class="d-block">\n\t\t\t\t\t\t\t<input type="checkbox" ng-model="user.appSettings.IGNORE_SHARED_QUERIES" id="ignore-shared" checked="appSettings.IGNORE_SHARED_QUERIES">\n\t\t\t\t\t\t\t{{\'security.ignore.shared.queries\' | translate}}\n\t\t\t\t\t\t</label>\n\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\n\t\t\t\t<div class="card" id="workbench-settings" ng-if="showWorkbenchSettings">\n\t\t\t\t\t<div class="card-block">\n\t\t\t\t\t\t<h3>{{\'security.workbench.settings.title\' | translate}}\n\t\t\t\t\t\t\t<em class="icon-info text-tertiary small" gdb-tooltip="{{\'security.workbench.settings.theme.tooltip\' | translate}}"></em></h3>\n\t\t\t\t\t\t<div>\n <div class="form-group">\n <label class="col-lg-2">{{\'security.workbench.settings.theme.label\' | translate}}</label>\n <div class="btn-group theme-selector-dropdown" uib-dropdown>\n <button type="button" class="btn btn-sm btn-secondary dropdown-toggle theme-selector-dropdown-btn" uib-dropdown-toggle>\n {{selectedTheme.label}}\n </button>\n <ul class="dropdown-menu" role="menu">\n <li ng-repeat="theme in themes">\n <a ng-click="setTheme(theme)" class="dropdown-item">{{theme.label}}</a>\n </li>\n </ul>\n </div>\n </div>\n\n <div class="form-group">\n <label class="col-lg-2">{{\'security.workbench.settings.theme.mode.label\' | translate}}</label>\n <div class="radio">\n <label class="px-1">\n <input type="radio" value="light" ng-model="workbenchSettings.mode" ng-change="setThemeMode()"/>\n {{\'security.workbench.settings.theme.mode.light\' | translate}}\n </label>\n <label class="px-1">\n <input type="radio" value="dark" ng-model="workbenchSettings.mode" ng-change="setThemeMode()"/>\n {{\'security.workbench.settings.theme.mode.dark\' | translate}}\n </label>\n </div>\n </div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\n\t\t\t<div class="col-md-6 us-right-col" ng-hide="!isLocalAuthentication()">\n\t\t\t\t<div class="card user-role" id="user-roles">\n\t\t\t\t\t<div class="card-block">\n\t\t\t\t\t\t<h3>{{\'security.user.role\' | translate}}</h3>\n\t\t\t\t\t\t<label class="mr-1"\n\t\t\t\t\t\t\t uib-popover-template="\'popover-content-user.html\'"\n\t\t\t\t\t\t\t popover-trigger="mouseenter"\n\t\t\t\t\t\t\t popover-placement="bottom">\n\t\t\t\t\t\t\t<input type="radio" ng-model="userType" id="roleUser" value="user" ng-disabled="hasEditRestrictions()" >\n\t\t\t\t\t\t\t{{\'security.user.label\' | translate}}\n\t\t\t\t\t\t</label>\n\t\t\t\t\t\t<label class="mr-1"\n\t\t\t\t\t\t\t uib-popover-template="\'popover-content-repo-manager.html\'"\n\t\t\t\t\t\t\t popover-trigger="mouseenter"\n\t\t\t\t\t\t\t popover-placement="bottom">\n\t\t\t\t\t\t\t<input type="radio" ng-model="userType" id="roleRepoAdmin" value="repoManager" ng-disabled="hasEditRestrictions()">\n\t\t\t\t\t\t\t{{\'security.repo.manager.label\' | translate}}\n\t\t\t\t\t\t</label>\n\t\t\t\t\t\t<label uib-popover-template="\'popover-content-admin.html\'"\n\t\t\t\t\t\t\t popover-trigger="mouseenter"\n\t\t\t\t\t\t\t popover-placement="bottom">\n\t\t\t\t\t\t\t<input type="radio" ng-model="userType" id="roleAdmin" value="admin" ng-disabled="hasEditRestrictions()">\n\t\t\t\t\t\t\t{{\'security.admin.label\' | translate}}\n\t\t\t\t\t\t</label>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\n <div class="card user-custom-roles" id="user-custom-roles">\n <div class="card-block">\n <h3>{{\'security.user.custom_role\' | translate}}</h3>\n <div class="input-group">\n <tags-input class="wb-tags-input" ng-model="customRoles" min-length="2"\n ng-disabled="!isUser() || mode === \'settings\'"\n use-strings="true"\n add-on-space="true"\n add-on-comma="true"\n add-on-paste="true"\n replace-spaces-with-dashes="false"\n paste-split-pattern="[\\s+]"\n on-tag-added="addCustomRole($tag)"\n placeholder="{{\'security.user.add.custom_role.msg\' | translate}}"></tags-input>\n </div>\n </div>\n </div>\n\n\t\t\t\t<div id="user-repos" class="card user-repositories">\n\t\t\t\t\t<div class="card-block">\n\t\t\t\t\t\t<h3>{{\'security.repo.rights\' | translate}}</h3>\n\t\t\t\t\t\t<div class="has-danger">\n\t\t\t\t\t\t\t<p ng-show="repositoryCheckError" class="form-control-feedback">\n\t\t\t\t\t\t\t\t{{\'security.user.rights\' | translate}}\n\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t</div>\n <div class="scrollable-table">\n <table class="table table-hover table-sm" aria-describedby="User rights table">\n <thead>\n <tr>\n <th id="repositoryIdColumn">{{\'security.repository.title\' | translate}}</th>\n <th id="readRightsColumn" class="text-xs-center"><em class="icon-eye icon-lg" gdb-tooltip="{{\'security.tooltip.read\' | translate}}"></em></th>\n <th id="writeRightColumn" class="text-xs-center"><em class="icon-edit icon-lg" gdb-tooltip="{{\'security.tooltip.write\' | translate}}"></em></th>\n </tr>\n <tr>\n <th>{{\'security.any.data.repo\' | translate}}\n <em class="icon-info text-tertiary" gdb-tooltip="{{\'security.data.repos\' | translate}}"></em>\n </th>\n <th class="text-xs-center">\n <input class="read" type="checkbox" ng-model="grantedAuthorities.READ_REPO[\'*\']" ng-checked="hasReadPermission(\'*\')" ng-disabled="readCheckDisabled(\'*\')" ng-click="setGrantedAuthorities()">\n </th>\n <th class="text-xs-center">\n <input class="write" type="checkbox" ng-model="grantedAuthorities.WRITE_REPO[\'*\']" ng-checked="hasWritePermission(\'*\')" ng-disabled="writeCheckDisabled(\'*\')" ng-click="setGrantedAuthorities()">\n </th>\n </tr>\n </thead>\n <tbody>\n <div>\n <tr ng-repeat="repository in getReadableRepositories() | orderBy: [\'location\', \'id\']">\n <td class="repository-name">{{repository.id}}<small> &middot; {{repository.location ? repository.location : \'Local\'}}</small></td>\n <td class="text-xs-center read-rights"><input class="read" type="checkbox" ng-model="grantedAuthorities.READ_REPO[createUniqueKey(repository)]" ng-checked="hasReadPermission(repository)" ng-disabled="readCheckDisabled(repository)" ng-click="setGrantedAuthorities()"></td>\n <td class="text-xs-center write-rights"><input class="write" type="checkbox" ng-model="grantedAuthorities.WRITE_REPO[createUniqueKey(repository)]" ng-checked="hasWritePermission(repository)" ng-disabled="writeCheckDisabled(repository)" ng-click="setGrantedAuthorities()"></td>\n </tr>\n </div>\n </tbody>\n </table>\n </div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n </div>\n\t\t</div>\n\n\t\t<div class="text-right">\n <button id="wb-user-goBack" class="btn btn-secondary" type="button" ng-click="goBack()">{{\'common.cancel.btn\' | translate}}</button>\n <button id="wb-user-submit" class="btn btn-primary" type="submit">{{saveButtonText}}</button>\n\t\t</div>\n\t</form>\n</div>\n<div class="ot-loader ot-main-loader" onto-loader size="50" ng-show="loader"></div>\n\n\n\n';return __p}}}]);
@@ -0,0 +1 @@
1
+ (window.webpackJsonp=window.webpackJsonp||[]).push([[21],{106:function(e,t,n){"use strict";n.r(t);var r=n(317),a=n(323),i=n(315),o=n(316);n(10);function s(e,t,n,s,c,l,d,u,f,h,p,y,v){return{restrict:"AE",template:'<div id="classChart"></div>',scope:{classHierarchyData:"=",flattenedClassNames:"=",selectedClass:"=",currentSliderValue:"=",showClassInfoPanel:"=",showExternalElements:"=",hidePrefixes:"=",currentBrowserLimit:"="},link:function(d,g,m){!function(d,g){var m,x,w=d3.pack().size([780,780]),S=d3.scaleLinear().domain([0,4]).range(["hsl(19, 70%, 90%)","hsl(19, 70%, 50%)"]).interpolate(d3.interpolateHcl),C=d3.select("#classChart").insert("svg:svg","h2").attr("viewBox","0 0 800 800").attr("preserveAspectRatio","xMidYMid meet").on("dblclick.zoom",null);function E(){return C.append("svg:g").attrs({id:"main-group",transform:"translate(400,400)"})}function T(){return"true"===p.get(y.CLASS_HIERARCHY_HIDE_PREFIXES)}function R(){var e=o.a.Export.getCSSRules("css/rdf-class-hierarchy-labels.css?v=2.5.0-RC1");d3.selectAll("#main-group").append("defs"),$("defs").append('<style type="text/css"><![CDATA['+e+"]]></style>"),d3.selectAll("g").style("opacity",1);var t=o.a.Export.generateBase64ImageSource("#classChart svg");d3.select(this).attrs({href:t,download:"class-hierarchy-"+l.getActiveRepository()+".svg"})}d.hidePrefixes=T();var A,H,P=E();if(!d.classHierarchyData.classCount&&l.getActiveRepository()&&!l.isSystemRepository()){e.loader=!0,e.hierarchyError=!1;const t=p.get("classHierarchy-selectedGraph-"+l.getActiveRepository());n.getClassHierarchyData(null!==t?t.contextID.uri:"").success((function(t,n,r){e.loader=!1,207===n&&u.warning(v.instant("graphexplore.update.diagram"),v.instant("graphexplore.repository.data.changed")),d.classHierarchyData=t,d3.select("#download-svg").on("mouseover",R)})).error((function(t){e.loader=!1,e.hierarchyError=getError(t),u.error(v.instant("graphexplore.error.request.failed",{name:h,error:getError(t)}))}))}var I,b,k,L,N,D,F,z={};function O(n,o,l,u){b&&b(),k&&k(),d3.selectAll("#main-group").remove(),P=E(),a.a.SingleChild.addPlaceholders(n,!0),(x=d3.hierarchy(n)).sum((function(e){return e.size})),I=l||x,w(x);var p,y=x.descendants();I.isInFocusTransitive=!0,a.a.SingleChild.removePlaceholders(y),a.a.SingleChild.centerNodes(y),a.a.SingleChild.makePositionsRelativeToZero(y),m||(m=Object(r.a)().attr("class","d3-tip").customPosition((function(e,t){return{top:"inherit",bottom:s.innerHeight-t.clientY+"px",right:s.innerWidth-t.clientX+"px"}})).html((function(e){return e.data.name})),C.call(m));var v=P.selectAll("circle").data(y).enter().append("g");o.doFade&&v.each((function(e){i.a.Transition.fadeIn(d3.select(this),550)}));var g,T=[],R=v.append("circle").attr("class",(function(e){return e.data.role})).attr("guide-selector",(function(e){return"class-"+e.data.name})).style("fill",(function(e){return e.children?S(e.depth):"#E0D0D0"})).each((function(e){if(e.circle=d3.select(this),e.data.name!==h){var t=e.data.name;T.push({name:t}),z[[t]]=e,e.circle.classed("rdf-class",!0),e.circle.on("mouseover",(function(t){o.noPrefixes||e.textHidden?m.show(e,t):m.hide(e)})),e.circle.on("mouseout",m.hide)}})).on("gdb-focus",(e,t)=>H(t)).on("gdb-zoom",(e,t)=>W(t));function L(e){d3.selectAll(".selected").classed("selected",e.selected=!1),e.circle.classed("selected",e.selected=!0),g=e}function N(){d.showClassInfoPanel=!1}T&&(T=_.uniqBy(T,"name"),d.flattenedClassNames=T);var D=i.a.Click.delayDblClick();d3.selectAll(".parent, .topLevelParent, .child, .root").call(D),H=function(e){W(e),e.data.name===h?(N(),d3.selectAll(".selected").classed("selected",!1)):(L(e),d.selectedClass=g,d.showClassInfoPanel=!0,d.$on("sidePanelClosed",(function(t){d3.selectAll(".selected").classed("selected",e.selected=!1)})))},D.on("click",(function(e,t){t.data.id&&s.history.pushState({id:t.data.id},"classHierarchyPage"+t.data.id,"hierarchy#"+t.data.id),m.hide(),H(t)})),D.on("dblclick",(function(t,r){r!==n&&(m.hide(),L(r),e.$broadcast("goToDomainRangeGraphView",g,I),t.stopPropagation())}));var F=0;C.on("wheel",(function(e){m.hide(),e.preventDefault(),e.stopPropagation();var t=(new Date).getTime();if(t-F>100){F=t;var n="";e.deltaY<=-1?n="in":e.deltaY>=1&&(n="out");var r=e.target.__data__;if(r||(r=I),"in"===n){if(r!==I){for(;r.parent&&!r.parent.isInFocusTransitive;)r=r.parent;r.depth<I.depth&&(r=I)}if(r===I&&r.children){for(var a=r.children[0],i=1;i<r.children.length;i++)r.children[i].sortingRank>a.sortingRank&&(a=r.children[i]);a.children&&(r=a)}else r.children||(r=r.parent);W(r,!0)}else"out"===n&&(r=I.parent)&&W(r,!0);I.data.name===h&&s.history.replaceState({id:1},"classHierarchyPage1","hierarchy#1"),U()}}));var $=P.selectAll("text").data(y).enter().append("text").attr("class",(function(e){return e.children&&e.children.length?"label":"label child-label"})).each((function(e){e.textSel=d3.select(this)}));o.noPrefixes?($.each((function(e){var t=e.data.name.indexOf(":");e.data.name.indexOf("http://")>-1?e.noPrefixName=e.data.name:t>-1&&(e.noPrefixName=e.data.name.substring(t+1))})),$.style("font-size",(function(e){return i.a.Text.calcFontSize(e.noPrefixName,e.r)})).text((function(e){return i.a.Text.getTextWithElipsisIfNeeded(e.noPrefixName,e.r/3)}))):$.style("font-size",(function(e){return i.a.Text.calcFontSize(e.data.name,e.r)})).text((function(e){return i.a.Text.getTextWithElipsisIfNeeded(e.data.name,e.r/3)})),$.style("display",(function(e){return e.parent&&e.parent.data===I.data?(e.textHidden=this.textContent.indexOf("...")+3===this.textContent.length,null):(e.textHidden=!0,"none")})),o.doFade&&!o.keepPrevState&&$.each((function(e){i.a.Transition.fadeIn(d3.select(this),550)})),A=function(){function e(e){e&&R.each((function(t){+e===t.data.id&&H(t)}))}var n=t.hash();s.onpopstate=function(t){t.state&&e(t.state.id)},e(n)};var O=P.selectAll("circle, text");function M(e,t){var n=800/e[2];p=e,O.attr("transform",(function(t){return"translate("+(t.x-e[0])*n+","+(t.y-e[1])*n+")"})),R.attr("r",(function(e){return e.r*n})),t&&$.each((function(e){e.data.fullName!==I.data.topLevelParentUri&&I.data.topLevelParentUri!==h||(e.textSel.style("display","none"),I.children&&I.children.length?_.each(I.children,(function(e){e.textSel.style("display","inline")})):I.textSel.style("display","inline"),I.parent&&_.each(I.parent.children,(function(e){e.data.name!==I.data.name&&e.textSel.style("display","inline")})))})),$.style("font-size",(function(e){return o.noPrefixes?i.a.Text.calcFontSize(e.noPrefixName,e.r*n):i.a.Text.calcFontSize(e.data.name,e.r*n)})).text((function(e){return o.noPrefixes?i.a.Text.getTextWithElipsisIfNeeded(e.noPrefixName,e.r*n/3):i.a.Text.getTextWithElipsisIfNeeded(e.data.name,e.r*n/3)}))}function V(e){var t=2*e+20;return 2*e/t<.3&&(t=2*e+2),t}function B(e){!e.isInFocusTransitive&&e.parent&&e.parent.isInFocusTransitive?(e.textHidden=this.textContent.indexOf("...")+3===this.textContent.length,this.style.display=""):(e.textHidden=!0,this.style.display="none")}function W(e,t){if(c((function(){d.showExternalElements=e.data.name===h})),I!==e&&(e.data.id&&s.history.replaceState({id:e.data.id},"classHierarchyPage"+e.data.id,"hierarchy#"+e.data.id),e.children||(e=e.parent,I!==e))){if(t&&(N(),d3.selectAll(".selected").classed("selected",!1)),I.parent)for(var n=I;n;)n.isInFocusTransitive=!1,n=n.parent;for(n=e;n;)n.isInFocusTransitive=!!n.children,n=n.parent;if(2*(I=e).r/(2*I.r+20)<.3||d.currentSliderValue>d.currentBrowserLimit)M([I.x,I.y,V(I.r)]),$.each((function(e){B.call(this,e)}));else d3.transition().duration(f).tween("zoom",(function(e){var t=d3.interpolateZoom(p,[I.x,I.y,V(I.r)]);return function(e){M(t(e))}})).selectAll("text").each(B)}}M([I.x,I.y,V(I.r)],u),b=d.$on("rootFocus",(function(){s.history.pushState({id:1},"classHierarchyPage1","hierarchy#1"),H(x)})),k=d.$on("classSearch",(function(e){H(e)}))}function U(){const t=d.classHierarchyData.classCount;let n=p.get(y.CLASS_HIERARCHY_CURRENT_SLIDER_VALUE);(!n||n>t)&&(n=t,p.set(y.CLASS_HIERARCHY_CURRENT_SLIDER_VALUE,n)),e.$broadcast("classCount",t,n)}window.addEventListener("resize",U),window.addEventListener("beforeunload",(function e(){window.removeEventListener("resize",U),window.removeEventListener("beforeunload",e)})),d.$watch("classHierarchyData",(function(){L&&L(),N&&N(),D&&D(),F&&F();var e=T();if(d.classHierarchyData.classCount){U();var t=_.cloneDeep(d.classHierarchyData);var n,r,a=function(e){return e.descendants().sort((function(e,t){return e.data.sortingRank>t.data.sortingRank?-1:e.data.sortingRank<t.data.sortingRank||e.data.depth>t.data.depth?1:e.data.depth<t.data.depth?-1:0}))}(d3.hierarchy(t));function i(e,t){const a={keepPrevState:!0,noPrefixes:T()};r=a.noPrefixes,O(n||e,a,I,!0),c((function(){p.set(y.CLASS_HIERARCHY_SWITCH_PREFIXES,t),A()}),70)}function o(e,a,o){if(!e)return;p.set(y.CLASS_HIERARCHY_CURRENT_SLIDER_VALUE,e),n={name:h,children:[]};const s=new Set;for(let t=1;t<=e;t++)s.add(a[t].data.id),a[t].parent===a[0]&&n.children.push(a[t].data);if(function e(t){if(!t.children)return;const n=[];for(const e of t.children)s.has(e.id)&&n.push($.extend({},e));t.children=n;for(const n of t.children)e(n)}(n),o){r=angular.isUndefined(r)?T():r;O(n,{noPrefixes:r})}else i(t)}var s,l=p.get(y.CLASS_HIERARCHY_CURRENT_SLIDER_VALUE);if(l)o(l,a);else{var u={doFade:!0,keepPrevState:!0,noPrefixes:T()};O(t,u),A()}L=d.$watch("hidePrefixes",(function(n){angular.isUndefined(n)||e?e=void 0:c((function(){!function(e){angular.isUndefined(e)||p.set(y.CLASS_HIERARCHY_HIDE_PREFIXES,e)}(n),i(t,!0)}),50)}),!0),N=d.$watch("currentSliderValue",(function(e){o(e,a,!0)}),!0),F=d.$on("onEnterKeypressSearchAction",(function(e){s&&H(s)})),D=d.$on("searchedClass",(function(e,t){(s=z[t.name])&&H(s)}))}}),!0)}(d)}}}angular.module("graphdb.framework.graphexplore.directives.class",["graphdb.framework.graphexplore.controllers.class","graphdb.framework.utils.localstorageadapter"]).constant("ZOOM_DURATION",500).constant("ROOT_OBJ_NAME","RDF Class Hierarchy").directive("rdfClassHierarchy",s),s.$inject=["$rootScope","$location","GraphDataRestService","$window","$timeout","$repositories","$licenseService","toastr","ZOOM_DURATION","ROOT_OBJ_NAME","LocalStorageAdapter","LSKeys","$translate"]},308:function(e,t,n){var r,a;r=[n(312)],void 0===(a=function(){function e(e,t){return e.each((function(){var e=t.apply(this,arguments),n=select(this);for(var r in e)n.attr(r,e[r])}))}function t(e,t){for(var n in t)e.attr(n,t[n]);return e}return"undefined"==typeof d3&&(d3=n(312)),d3.selection.prototype.attrs=function(n){return("function"==typeof n?e:t)(this,n)},d3.selection.prototype.moveToFront=function(){return this.each((function(){d3.select(this.parentNode.appendChild(this))}))},d3.selection.prototype.moveToBack=function(){return this.each((function(){const e=this.parentNode.firstChild;e&&this.parentNode.insertBefore(this,e)}))},d3}.apply(t,r))||(e.exports=a)},315:function(e,t,n){"use strict";n(308);var r=r||{};r.Text=function(){function e(e,t,n,r){n=n||10;var a=t/3;return"string"==typeof e?(a*=10/(e.substring(0,t/3).length+1.5),a+=1,e.match(/[\u0900-\u0DFF\u1100-\u11FF\u2E80-\u2EFF\u3000-\u9FFF]/)&&(a*=.6),a<n&&(a=n),Math.round(a)):(a<n&&(a=n),Math.round(a))}return{calcFontSizeRaw:e,calcFontSize:function(t,n,r,a){return e(t,n,r)+"px"},getTextWithElipsisIfNeeded:function(e,t){return"string"==typeof e&&e.length>t?e.substring(0,t-3)+"...":e}}}(),r.Transition={fadeIn:function(e,t){e.style("opacity",0).transition().duration(t).style("opacity",1)},fadeOut:function(e,t){e.style("opacity",1).transition().duration(t).style("opacity",0)}},r.Click=function(){const e=function(e,n){let r,a=1,i=arguments.length;for(;++a<i;)r=arguments[a],e[r]=t(e,n,n[r]);return e};function t(e,t,n){return function(){var r=n.apply(t,arguments);return r===t?e:r}}return{delayDblClick:function(){var t=d3.dispatch("click","dblclick");return e((function(e){var n,r=null;e.on("mousedown",(function(){n=d3.pointer(document.body),+new Date})),e.on("mouseup",(function(e,a){var i,o,s;(o=n,s=d3.pointer(document.body),Math.sqrt(Math.pow(o[0]-s[0],2),Math.pow(o[1]-s[1],2))>5)||(r?(window.clearTimeout(r),r=null,t.call("dblclick",e,e,a)):r=window.setTimeout((i=e,function(){t.call("click",i,i,a),r=null}),250))}))}),t,"on")}}}(),t.a=r},316:function(e,t,n){"use strict";n(308);var r=r||{};r.Export={getCSSRules:function(e){const t=$('link[href="'+e+'"]')[0].sheet.rules;let n="";return _.each(t,(function(e){n+=e.cssText})),n},generateBase64ImageSource:function(e){e||(e="svg");const t=d3.selectAll(e).attr("version","1.1").attr("xmlns","http://www.w3.org/2000/svg").node().parentNode.innerHTML;return"data:image/svg+xml;charset=utf-8;base64,"+btoa(unescape(encodeURIComponent(t)))}},t.a=r},317:function(e,t,n){"use strict";t.a=function(){var e=function(){return"n"},t=function(){return[0,0]},n=function(){return" "},r=u(),a=null,i=null,o=null,s=null;function c(e){var t;a="svg"===(t=(t=e).node()).tagName.toLowerCase()?t:t.ownerSVGElement,i=a.createSVGPoint(),document.body.appendChild(r)}c.show=function(){var r=Array.prototype.slice.call(arguments);r[r.length-1]instanceof SVGElement&&(o=r.pop());var a,i=n.apply(this,r),u=t.apply(this,r),h=e.apply(this,r),p=f(),y=d.length,v=document.documentElement.scrollTop||document.body.scrollTop,g=document.documentElement.scrollLeft||document.body.scrollLeft,m=s.apply(this,r);for(p.html(i).style("opacity",1).style("pointer-events","all");y--;)p.classed(d[y],!1);const x=r.filter(e=>e instanceof Event);return a=l.get(h).apply(this,x),m?Object.keys(m).forEach((function(e){p.style(e,m[e])})):p.classed(h,!0).style("top",a.top+u[0]+v+"px").style("left",a.left+u[1]+g+"px"),c},c.hide=function(){return f().style("opacity",0).style("pointer-events","none"),c},c.attr=function(e,t){if(arguments.length<2&&"string"==typeof e)return f().attr(e);var n=Array.prototype.slice.call(arguments);return d3.selection.prototype.attr.apply(f(),n),c},c.style=function(e,t){if(arguments.length<2&&"string"==typeof e)return f().style(e);var n=Array.prototype.slice.call(arguments);return d3.selection.prototype.style.apply(f(),n),c},c.direction=function(t){return arguments.length?(e=null==t?t:p(t),c):e},c.offset=function(e){return arguments.length?(t=null==e?e:p(e),c):t},c.html=function(e){return arguments.length?(n=null==e?e:p(e),c):n},c.customPosition=function(e){return arguments.length?(s=null==e?e:p(e),c):s},c.destroy=function(){return r&&(f().remove(),r=null),c};var l=new Map(Object.entries({n:function(e){var t=h(e);return{top:t.n.y-r.offsetHeight,left:t.n.x-r.offsetWidth/2}},s:function(e){var t=h(e);return{top:t.s.y,left:t.s.x-r.offsetWidth/2}},e:function(e){var t=h(e);return{top:t.e.y-r.offsetHeight/2,left:t.e.x}},w:function(e){var t=h(e);return{top:t.w.y-r.offsetHeight/2,left:t.w.x-r.offsetWidth}},nw:function(e){var t=h(e);return{top:t.nw.y-r.offsetHeight,left:t.nw.x-r.offsetWidth}},ne:function(e){var t=h(e);return{top:t.ne.y-r.offsetHeight,left:t.ne.x}},sw:function(e){var t=h(e);return{top:t.sw.y,left:t.sw.x-r.offsetWidth}},se:function(e){var t=h(e);return{top:t.se.y,left:t.e.x}}})),d=l.keys();function u(){var e=d3.select(document.createElement("div"));return e.style("position","absolute").style("top",0).style("opacity",0).style("pointer-events","none").style("box-sizing","border-box"),e.node()}function f(){return null===r&&(r=u(),document.body.appendChild(r)),d3.select(r)}function h(e){for(var t=o||e.target;void 0===t.getScreenCTM&&"undefined"===t.parentNode;)t=t.parentNode;var n={},r=t.getScreenCTM(),a=t.getBBox(),s=a.width,c=a.height,l=a.x,d=a.y;return i.x=l,i.y=d,n.nw=i.matrixTransform(r),i.x+=s,n.ne=i.matrixTransform(r),i.y+=c,n.se=i.matrixTransform(r),i.x-=s,n.sw=i.matrixTransform(r),i.y-=c/2,n.w=i.matrixTransform(r),i.x+=s,n.e=i.matrixTransform(r),i.x-=s/2,i.y-=c/2,n.n=i.matrixTransform(r),i.y+=c,n.s=i.matrixTransform(r),n}function p(e){return"function"==typeof e?e:function(){return e}}return c}},323:function(e,t,n){"use strict";var r=r||{};r.SingleChild={addPlaceholders:function e(t,n){if(t.children){for(var r=0;r<t.children.length;r++)e(t.children[r]);if(1===t.children.length){var a=1.2*t.size;n&&(a=.1*t.children[0].size),t.children.push({name:"placeholder",size:a})}}},removePlaceholders:function e(t){for(var n=t.length-1;n>=0;n--){var r=t[n];"placeholder"===r.data.name?t.splice(n,1):r.children&&e(r.children)}},centerNodes:function(e){for(var t=0;t<e.length;t++){var n=e[t];if(n.children&&1===n.children.length){var r=n.x-n.children[0].x;n.children[0].x+=r,a(n.children[0],r)}}function a(e,t){if(e.children)for(var n=0;n<e.children.length;n++)e.children[n].x+=t,a(e.children[n],t)}},makePositionsRelativeToZero:function(e){for(var t=e[0].x,n=e[0].y,r=0;r<e.length;r++){var a=e[r];a.x-=t,a.y-=n}}},t.a=r}}]);
@@ -1 +1 @@
1
- (window.webpackJsonp=window.webpackJsonp||[]).push([[201],{285:function(module,exports){module.exports=function(obj){obj||(obj={});var __t,__p="";with(obj)__p+='<h1>\n\t{{title}}\n\t<span class="btn btn-link"\n\t uib-popover-template="\'js/angular/templates/titlePopoverTemplate.html\'"\n\t popover-trigger="mouseenter"\n\t popover-placement="bottom-right"\n\t popover-append-to-body="true"><span class="icon-info text-tertiary"></span></span>\n</h1>\n<div id="wb-users" ng-hide="loader">\n\t<div class="mb-1">\n\t\t<div class="pull-right">\n\t\t\t<span id="toggle-security" class="mr-1">\n\t\t\t\t<span class="security-switch-label">{{\'security.is\' | translate}} <span class="tag {{securityEnabled() ? \'tag-primary\' : \'tag-default\'}}">{{securityEnabled() ? \'common.on.btn\' : \'common.off.btn\' | translate}}</span></span>\n\t\t\t\t<span gdb-tooltip="{{\'click.to\' | translate}} {{securityEnabled() ? \'disable\' : \'enable\' | translate}} {{\'security.label\' | translate}}" tooltip-placement="top" ng-click="toggleSecurity()" class="switch">\n\t\t\t\t\t<input type="checkbox" class="switch" ng-checked="securityEnabled()"/>\n\t\t\t\t\t<label for="toggle-security"></label>\n\t\t\t\t</span>\n\t\t\t</span>\n\t\t\t<span ng-show="securityEnabled()" id="toggle-freeaccess">\n\t\t\t\t<span>{{\'security.free.access.is\' | translate}} <span class="tag {{freeAccessEnabled() ? \'tag-primary\' : \'tag-default\'}}">{{freeAccessEnabled() ? \'common.on.btn\' : \'common.off.btn\' | translate}}</span></span>\n\t\t\t\t<span gdb-tooltip="{{\'click.to\' | translate}} {{freeAccessEnabled() ? \'disable\' : \'enable\' | translate}} {{\'security.free.access.non.admin\' | translate}}" tooltip-placement="top" ng-click="toggleFreeAccess()" class="switch">\n\t\t\t\t\t<input type="checkbox" class="switch" ng-checked="freeAccessEnabled()"/>\n\t\t\t\t\t<label for="toggle-freeaccess"></label>\n\t\t\t\t</span>\n\t\t\t\t<span ng-show="freeAccessEnabled()">\n\t\t\t\t\t{{\'security.free.access.settings\' | translate}}\n\t\t\t\t\t<a style="padding-left: 0px;" class="btn btn-link" href="#"><em class="icon-settings" gdb-tooltip="{{\'security.free.access.config.title\' | translate}}" ng-click="editFreeAccess()"></em></a>\n\t\t\t\t</span>\n\t\t\t</span>\n\t\t</div>\n\n\t\t<a id="wb-users-userCreateLink" ng-show="!hasExternalAuth()" class="btn btn-primary" href="user/create"><span class="icon-plus"></span> {{\'view.create.user.title\' | translate}}</a>\n\t</div>\n\n\t<div ng-show="hasExternalAuth()">\n\t\t<div>&nbsp;</div>\n\t\t<div class="alert alert-info no-icon mt-1">\n\t\t\t<p>{{\'security.using.external.auth.db\' | translate}} {{getAuthImplementation()}}.</p>\n\t\t\t<p>{{\'security.user.settings.modification\' | translate}}</p>\n\t\t\t<p>{{\'security.user.settings.user_role\' | translate}}</p>\n\t\t</div>\n\t</div>\n\n\t<table id="wb-users-userInUsers" class="table table-striped" aria-describedby="Users table">\n\t\t<thead>\n\t\t\t<tr>\n\t\t\t\t<th id="usernameColumn">{{\'security.table.username\' | translate}}</th>\n\t\t\t\t<th ng-if="!hasExternalAuth()" id="roleColumn">{{\'security.table.role\' | translate}}</th>\n\t\t\t\t<th ng-if="!hasExternalAuth()" id="repoRightsColumn">{{\'security.repo.rights\' | translate}}</th>\n\t\t\t\t<th id="creationDateColumn">{{\'security.table.date.created\' | translate}}</th>\n\t\t\t\t<th id="actionsColumn">{{\'security.table.actions\' | translate}}</th>\n\t\t\t</tr>\n\t\t</thead>\n\t\t<tbody>\n\t\t\t<tr ng-repeat="user in users | orderBy: \'username\'">\n\t\t\t\t<td class="username"><span>{{user.username}}</span></td>\n\t\t\t\t<td ng-if="!hasExternalAuth()" class="user-type">{{user.userTypeDescription}}</td>\n\t\t\t\t<td ng-if="!hasExternalAuth()" class="repository-rights">\n\t\t\t\t\t<div ng-show="user.userType === \'user\'" ng-repeat="(repo, rights) in user.repositories track by $index">\n\t\t\t\t\t\t<em class="icon-eye" ng-class="rights.read ? \'text-tertiary\' : \'text-muted\'" gdb-tooltip="{{rights.read ? \'security.has.read.access\' : \'security.no.read.access\' | translate}}"></em>\n\t\t\t\t\t\t<em class="icon-edit" ng-class="rights.write ? \'text-tertiary\' : \'text-muted\'" gdb-tooltip="{{rights.read ? \'security.has.write.access\' : \'security.no.write.access\' | translate}}"></em>\n\t\t\t\t\t\t{{repo}}\n\t\t\t\t\t</div>\n\t\t\t\t\t<div ng-show="user.userType !== \'user\'">{{\'security.unrestricted\' | translate}}</div>\n <div>\n <span ng-repeat="role in user.customRoles">\n <span class="tag tag-primary" >{{ role }}</span>\n &nbsp;\n </span>\n </div>\n\t\t\t\t</td>\n\t\t\t\t<td class="date-created"><span>{{user.dateCreated | date: \'yyyy-MM-dd HH:mm:ss\'}}</span></td>\n\t\t\t\t<td class="actions-bar">\n\t\t\t\t\t<span>\n\t\t\t\t\t\t<a class="btn btn-link edit-user-btn" href="user/{{encodeURIComponent(user.username)}}">\n <em class="icon-edit" gdb-tooltip="{{\'security.edit.user.tooltip\' | translate}}"></em>\n </a>\n\t\t\t\t\t\t<a class="btn btn-link secondary delete-user-btn" ng-if="user.username != \'admin\'" ng-show="!hasExternalAuth()" href ng-click="removeUser(user.username)">\n <em class="icon-trash" gdb-tooltip="{{\'security.delete.user.tooltip\' | translate}}"></em>\n </a>\n\t\t\t\t\t</span>\n\t\t\t\t</td>\n\t\t\t</tr>\n\t\t</tbody>\n\t</table>\n</div>\n<div class="ot-loader ot-main-loader" onto-loader size="50" ng-show="loader"></div>\n\n';return __p}}}]);
1
+ (window.webpackJsonp=window.webpackJsonp||[]).push([[210],{294:function(module,exports){module.exports=function(obj){obj||(obj={});var __t,__p="";with(obj)__p+='<h1>\n\t{{title}}\n\t<span class="btn btn-link"\n\t uib-popover-template="\'js/angular/templates/titlePopoverTemplate.html\'"\n\t popover-trigger="mouseenter"\n\t popover-placement="bottom-right"\n\t popover-append-to-body="true"><span class="icon-info text-tertiary"></span></span>\n</h1>\n<div id="wb-users" ng-hide="loader">\n\t<div class="mb-1">\n\t\t<div class="pull-right">\n\t\t\t<span id="toggle-security" class="mr-1">\n\t\t\t\t<span class="security-switch-label">{{\'security.is\' | translate}} <span class="tag {{securityEnabled() ? \'tag-primary\' : \'tag-default\'}}">{{securityEnabled() ? \'common.on.btn\' : \'common.off.btn\' | translate}}</span></span>\n\t\t\t\t<span gdb-tooltip="{{\'click.to\' | translate}} {{securityEnabled() ? \'disable\' : \'enable\' | translate}} {{\'security.label\' | translate}}" tooltip-placement="top" ng-click="toggleSecurity()" class="switch">\n\t\t\t\t\t<input type="checkbox" class="switch" ng-checked="securityEnabled()"/>\n\t\t\t\t\t<label for="toggle-security"></label>\n\t\t\t\t</span>\n\t\t\t</span>\n\t\t\t<span ng-show="securityEnabled()" id="toggle-freeaccess">\n\t\t\t\t<span>{{\'security.free.access.is\' | translate}} <span class="tag {{freeAccessEnabled() ? \'tag-primary\' : \'tag-default\'}}">{{freeAccessEnabled() ? \'common.on.btn\' : \'common.off.btn\' | translate}}</span></span>\n\t\t\t\t<span gdb-tooltip="{{\'click.to\' | translate}} {{freeAccessEnabled() ? \'disable\' : \'enable\' | translate}} {{\'security.free.access.non.admin\' | translate}}" tooltip-placement="top" ng-click="toggleFreeAccess()" class="switch">\n\t\t\t\t\t<input type="checkbox" class="switch" ng-checked="freeAccessEnabled()"/>\n\t\t\t\t\t<label for="toggle-freeaccess"></label>\n\t\t\t\t</span>\n\t\t\t\t<span ng-show="freeAccessEnabled()">\n\t\t\t\t\t{{\'security.free.access.settings\' | translate}}\n\t\t\t\t\t<a style="padding-left: 0px;" class="btn btn-link" href="#"><em class="icon-settings" gdb-tooltip="{{\'security.free.access.config.title\' | translate}}" ng-click="editFreeAccess()"></em></a>\n\t\t\t\t</span>\n\t\t\t</span>\n\t\t</div>\n\n\t\t<a id="wb-users-userCreateLink" ng-show="!hasExternalAuth()" class="btn btn-primary" href="user/create"><span class="icon-plus"></span> {{\'view.create.user.title\' | translate}}</a>\n\t</div>\n\n\t<div ng-show="hasExternalAuth()">\n\t\t<div>&nbsp;</div>\n\t\t<div class="alert alert-info no-icon mt-1">\n\t\t\t<p>{{\'security.using.external.auth.db\' | translate}} {{getAuthImplementation()}}.</p>\n\t\t\t<p>{{\'security.user.settings.modification\' | translate}}</p>\n\t\t\t<p>{{\'security.user.settings.user_role\' | translate}}</p>\n\t\t</div>\n\t</div>\n\n\t<table id="wb-users-userInUsers" class="table table-striped" aria-describedby="Users table">\n\t\t<thead>\n\t\t\t<tr>\n\t\t\t\t<th id="usernameColumn">{{\'security.table.username\' | translate}}</th>\n\t\t\t\t<th ng-if="!hasExternalAuth()" id="roleColumn">{{\'security.table.role\' | translate}}</th>\n\t\t\t\t<th ng-if="!hasExternalAuth()" id="repoRightsColumn">{{\'security.repo.rights\' | translate}}</th>\n\t\t\t\t<th id="creationDateColumn">{{\'security.table.date.created\' | translate}}</th>\n\t\t\t\t<th id="actionsColumn">{{\'security.table.actions\' | translate}}</th>\n\t\t\t</tr>\n\t\t</thead>\n\t\t<tbody>\n\t\t\t<tr ng-repeat="user in users | orderBy: \'username\'">\n\t\t\t\t<td class="username"><span>{{user.username}}</span></td>\n\t\t\t\t<td ng-if="!hasExternalAuth()" class="user-type">{{user.userTypeDescription}}</td>\n\t\t\t\t<td ng-if="!hasExternalAuth()" class="repository-rights">\n\t\t\t\t\t<div ng-show="user.userType === \'user\'" ng-repeat="(repo, rights) in user.repositories track by $index">\n\t\t\t\t\t\t<em class="icon-eye" ng-class="rights.read ? \'text-tertiary\' : \'text-muted\'" gdb-tooltip="{{rights.read ? \'security.has.read.access\' : \'security.no.read.access\' | translate}}"></em>\n\t\t\t\t\t\t<em class="icon-edit" ng-class="rights.write ? \'text-tertiary\' : \'text-muted\'" gdb-tooltip="{{rights.read ? \'security.has.write.access\' : \'security.no.write.access\' | translate}}"></em>\n\t\t\t\t\t\t{{repo}}\n\t\t\t\t\t</div>\n\t\t\t\t\t<div ng-show="user.userType !== \'user\'">{{\'security.unrestricted\' | translate}}</div>\n <div>\n <span ng-repeat="role in user.customRoles">\n <span class="tag tag-primary" >{{ role }}</span>\n &nbsp;\n </span>\n </div>\n\t\t\t\t</td>\n\t\t\t\t<td class="date-created"><span>{{user.dateCreated | date: \'yyyy-MM-dd HH:mm:ss\'}}</span></td>\n\t\t\t\t<td class="actions-bar">\n\t\t\t\t\t<span>\n\t\t\t\t\t\t<a class="btn btn-link edit-user-btn" href="user/{{encodeURIComponent(user.username)}}">\n <em class="icon-edit" gdb-tooltip="{{\'security.edit.user.tooltip\' | translate}}"></em>\n </a>\n\t\t\t\t\t\t<a class="btn btn-link secondary delete-user-btn" ng-if="user.username != \'admin\'" ng-show="!hasExternalAuth()" href ng-click="removeUser(user.username)">\n <em class="icon-trash" gdb-tooltip="{{\'security.delete.user.tooltip\' | translate}}"></em>\n </a>\n\t\t\t\t\t</span>\n\t\t\t\t</td>\n\t\t\t</tr>\n\t\t</tbody>\n\t</table>\n</div>\n<div class="ot-loader ot-main-loader" onto-loader size="50" ng-show="loader"></div>\n\n';return __p}}}]);