tocco-admin 1.0.7 → 1.0.8

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 (438) hide show
  1. package/changelog.md +10 -0
  2. package/dist/010d0560a00a032c33da819e3c86596a.js +1 -368
  3. package/dist/029ed9161a8d24a9c2ba97124020989d.js +1 -9
  4. package/dist/02d5c4961ca855a88b1cd3e1b7fa7aa2.js +1 -113
  5. package/dist/03371bf1d5cbb1eab58e3a0130d1e9c2.js +1 -15001
  6. package/dist/03487ba89c7b63069d63c1b3802a472c.js +1 -24
  7. package/dist/03748243ac7148ca150ba06c2919ff81.js +1 -271
  8. package/dist/03980cb12dacd26148c22bb61fce440f.js +1 -9
  9. package/dist/03aae8272914723a7bf85b984385032c.js +1 -9
  10. package/dist/04770a551c5b6daa744be9b180a8d0fe.js +1 -13311
  11. package/dist/06d958315fc6cdbb28576b03e43203aa.js +1 -9
  12. package/dist/07101530302fe1d03dcd731992f7a899.js +1 -869
  13. package/dist/0731d7568a06d2e28351781370bc52bb.js +1 -445
  14. package/dist/0794fa2b9c882c72fa7d586069b61055.js +1 -3608
  15. package/dist/0872e65446d05c1c443180c6280b015f.js +1 -214
  16. package/dist/08b9f3e305b5e3e0b81f7848fa7f3b6b.js +1 -105
  17. package/dist/09563004132aabcfcc186943555a92a1.js +1 -263
  18. package/dist/0a1d9862d917663419ac2dd2e8193267.js +1 -9
  19. package/dist/0a858573915ab9b03fe79f98f8c51a04.js +1 -271
  20. package/dist/0a9cd3d62e7f1cd404606c50d9da86fb.js +1 -229
  21. package/dist/0beea7b55cf3b8c9f9b0bd46170bb30e.js +1 -238
  22. package/dist/0ec4bf56a876c2bf34ea174c584ce628.js +1 -97
  23. package/dist/0f418117fac55a859631143ad7d0e833.js +1 -1038
  24. package/dist/10132993df2cf9c9423b53a8a44379ab.js +1 -9
  25. package/dist/1034e3807d1bcf55cb564491950237ab.js +1 -9
  26. package/dist/104959bdb953a3792a203e98d2bf530f.js +1 -895
  27. package/dist/114c58e47951fe3f6d25f683e0cd54e7.js +1 -381
  28. package/dist/11b2d52156942feeb87b7c608276c49b.js +1 -119
  29. package/dist/11dc77ef2ea3a04834945a52f7de2072.js +1 -3208
  30. package/dist/12b520593765ef7e714d7fb3764633ed.js +1 -167
  31. package/dist/130340e2c62b9e858f186dab5f491e55.js +1 -9
  32. package/dist/1324f89bd8db0bae85b79b7f90f6c119.js +1 -418
  33. package/dist/13eda3507db9cbfb400f46b9b3ff6553.js +1 -9
  34. package/dist/1441681e52f3ae9ab33afbc5517359a0.js +1 -45
  35. package/dist/1533058f0ce13acdaa8d5bdc7d147bef.js +1 -9
  36. package/dist/1549fe09fd6b44aca96e2b1b7cbd93d0.js +1 -111
  37. package/dist/15f3800d33b854ba476c9daf1b9e0326.js +1 -9
  38. package/dist/16563bfaf4741097d38cc6ce3ccc1a2d.js +1 -2644
  39. package/dist/170487867de05784a96608617bdd544d.js +1 -9
  40. package/dist/179a93d3148b7edb72581279c3787d0c.js +1 -353
  41. package/dist/17dc98279d24649d3ca77cbce8c44e83.js +1 -9
  42. package/dist/1850762f1bfaf1a1044765b02b243ed4.js +1 -262
  43. package/dist/18cfa6de2de3832aa10439fbf963217a.js +1 -3035
  44. package/dist/18e63e724098792b95b076412a860636.js +1 -116
  45. package/dist/191feb6103c36b202bc01ba262916cdf.js +1 -9
  46. package/dist/19e684db1b08c82963634abc8b2c989f.js +1 -422
  47. package/dist/1abc9efccf77fd4527d1c2fc85d87e04.js +1 -647
  48. package/dist/1b15b9f88acaf59b96e59c6b5f32da12.js +1 -9
  49. package/dist/1b64f97eed4a3837a93f8bdd363295fb.js +1 -1873
  50. package/dist/1c02ec6ec024eee3ebb6b34fa8ff316f.js +1 -103
  51. package/dist/1c57b3481f295105588972ffa1305521.js +1 -9
  52. package/dist/1cc82820c232a82b5d8b6cb9e4152af3.js +1 -514
  53. package/dist/1cd3d09b5303cc37fa337225ed6a9132.js +1 -137
  54. package/dist/1e029a7f1f64457da4f54254d50ac59b.js +1 -95
  55. package/dist/1e26167b5f75d5b94add34f1f4d8b044.js +1 -380
  56. package/dist/1e4131e1241a5b81d54c7d9cb66b0e87.js +1 -254
  57. package/dist/1fe2d583da5f073431d81a6ea13ffc0c.js +1 -275
  58. package/dist/1fee62e3e043728a265935971fa26200.js +1 -981
  59. package/dist/211511e7b374f57ad31acaf49dbdccb1.js +1 -9
  60. package/dist/2183252fe9e1b88fcf2bc454d6fd9273.js +1 -115
  61. package/dist/222d52530e9db0a0ec565c6306c5db35.js +1 -104
  62. package/dist/2267d20fd89c81a461e38abecdb8fcdc.js +1 -282
  63. package/dist/2272c6632c52c3e402ab27b8045ab8f1.js +1 -9
  64. package/dist/23bb1a9f279e7a732bfd405350aab114.js +1 -9
  65. package/dist/23da8ba64540ff4aa68a34d3445db680.js +1 -232
  66. package/dist/243c0c0572ab9866e02e18821558a1c5.js +1 -89
  67. package/dist/244b1a234ec1728d0268214de601449d.js +1 -343
  68. package/dist/24a3ff38afde257888d755ece9bfd704.js +1 -9
  69. package/dist/25718a469574ade47e23567d8c543169.js +1 -9
  70. package/dist/25c99a71d30112583893bc5277402c46.js +1 -329
  71. package/dist/25eda4bb98e40a82cfd5b4bf9fbc06ec.js +1 -9
  72. package/dist/263f7107e9357b1c91997e1a21b59ff5.js +1 -2025
  73. package/dist/26fb247a2e0630e1f435cb4d91ec51fd.js +1 -397
  74. package/dist/27730a0bdc6f430cc85049a46a73a029.js +1 -9
  75. package/dist/27ccb71fa24357a0919a861351d5b82d.js +1 -2806
  76. package/dist/28474eb7ee45a125e49cc5cbe69e336f.js +1 -1193
  77. package/dist/28785bea435918d49b290d27bf660baa.js +1 -9
  78. package/dist/28acb3b48578dfd30dd555fff7c822f7.js +1 -312
  79. package/dist/291611f874a2bc54dbc291b52d74c512.js +1 -501
  80. package/dist/2b2fe1a34cdf81c656a47e493ca9d658.js +1 -257
  81. package/dist/2bcf741e1f2cb07989a722a6ba9c2ea7.js +1 -128
  82. package/dist/2d2a42eeeeec801ab35f2fff7d900e43.js +1 -330
  83. package/dist/2dd82c65030101b60dffccedd8741c6e.js +1 -9
  84. package/dist/2ddd0346681f9f12fd3a191245aa41df.js +1 -797
  85. package/dist/2f055ac4066041b9008dd6aebf9df34b.js +1 -9
  86. package/dist/2f5be3e3e9ab852d217168220854ea9b.js +1 -102
  87. package/dist/2f7c864f08b00c01f04ac22375f7ddd9.js +1 -520
  88. package/dist/2fc0239242a898632ca8aa451cb930c2.js +1 -9
  89. package/dist/2ff54aa3c655216f360438bc7f5b181a.js +1 -2742
  90. package/dist/30e80558090a09477e4466af8af4c40e.js +1 -135
  91. package/dist/34791bf31a4236531bc887b48f872c1c.js +1 -1090
  92. package/dist/34b3249d58303435b894a43d3776a5c3.js +1 -1433
  93. package/dist/3567d1ea443427e944a6f189a0898819.js +1 -9
  94. package/dist/3646668820dc96864fbed7746f805947.js +1 -452
  95. package/dist/36474100e81ab63c4ddbc94ab2cc8667.js +1 -799
  96. package/dist/365b89ceec577ebec0a39c938c2363f0.js +1 -263
  97. package/dist/367ad31e6d99d0021d05133b85bb9faf.js +1 -93
  98. package/dist/37172facd8a534a38f378ca2a9c7c11b.js +1 -9
  99. package/dist/37afa466cdb7fa8fc2e043164d48f29e.js +1 -13110
  100. package/dist/37ee3b5201ae2e2dc5dc8b1b20ad900e.js +1 -9
  101. package/dist/38270ad5088729f40c461c4a5a6bad5d.js +1 -248
  102. package/dist/3b190e5159c72fb7e27271956772bcba.js +1 -9
  103. package/dist/3b544bb2c5a4e7b225a4b50235a0fd6d.js +1 -9
  104. package/dist/3b6e7dc98c47eeafd851ca5072db4be6.js +1 -9
  105. package/dist/3bbf0faa999b08584dc971eab820113a.js +1 -1169
  106. package/dist/3c5b59a666c5d39d9ba9cc054d36a410.js +1 -9
  107. package/dist/3c71a5c0e85afc5486ee9ac29099843d.js +1 -230
  108. package/dist/3dcc18a5dee46b57ad7f85c0bee86802.js +1 -508
  109. package/dist/3df92508d7112d83474f31fe9590e289.js +1 -1015
  110. package/dist/3e277a4ce5486a806a00497aea8ecdd3.js +1 -502
  111. package/dist/3e3e2243675fa4fb4b320dc57daf2d4f.js +1 -346
  112. package/dist/3f55ba1c6515db2f98bb996c1a5bc9e3.js +1 -76
  113. package/dist/3f758ea78954547fed0a8d999691dd7c.js +1 -292
  114. package/dist/406884d5525e864955e9f5058526aa02.js +1 -101
  115. package/dist/40dc555a17f1c85020333a41f01dd9ba.js +1 -106
  116. package/dist/40e6f6cb52a24a747b1046614db3b164.js +1 -213
  117. package/dist/41d8a58fd52b6a06e8d3fb06cdabf67a.js +1 -989
  118. package/dist/42b4ce6de00994aa6bf7db7ff2f931a8.js +1 -1331
  119. package/dist/43a0e099f8283dc1c1c6bbd39148d98d.js +1 -867
  120. package/dist/440f4d477b586c7a6ba4c1c966ca79fc.js +1 -147
  121. package/dist/444ababf8edc26948943fbb45bd06a19.js +1 -259
  122. package/dist/44701e25bb6f2ab9ff18343f2357d1b0.js +1 -171
  123. package/dist/44ac2a2398075299754707d4bac7c276.js +1 -59
  124. package/dist/460c67d8fe31ef229704bd5ab6d1dd26.js +1 -942
  125. package/dist/4639c30a609d986a255ccc684404527e.js +1 -676
  126. package/dist/4700af84801dbda8a3880e3469c21130.js +1 -413
  127. package/dist/4736a562251eeaea46dd06892b489f35.js +1 -46
  128. package/dist/47541c23870e955fff15de4be490ba74.js +1 -112
  129. package/dist/47f0fbf038314894ac52f2d67466b5e9.js +1 -2848
  130. package/dist/4860a6a7c59b9ed5c779f7201dc1f591.js +1 -349
  131. package/dist/48e9351c5623d4da657ce7d5d0267ea6.js +1 -9
  132. package/dist/4a1dab236c2844d28f73c5c128afe299.js +1 -193
  133. package/dist/4b425eb8188febc5a89674b89a72d296.js +1 -798
  134. package/dist/4b61fe945e9e73aba22717e5d6f080df.js +1 -642
  135. package/dist/4bf3bc1fbdd26ac698fef1bdf26e3ff4.js +1 -9
  136. package/dist/4c2816c26725f7aae5b490142e31112f.js +1 -352
  137. package/dist/4ceabd28d8dc751f41002ebf2b6fed88.js +1 -539
  138. package/dist/4d143a2d103a9e376a9e3b55e680eef7.js +1 -310
  139. package/dist/4d8cb7033879cb7fcc7a43798e2bde22.js +1 -9
  140. package/dist/4e389cce6fb8f78845fab249bce43c0b.js +1 -9
  141. package/dist/4eed3725a00fc2bab78accdb014b7826.js +1 -325
  142. package/dist/4ef80ee74467e0297eec3cc03092da01.js +1 -9
  143. package/dist/506d44d8712a22011ce2bec8adbb19b2.js +1 -210
  144. package/dist/50c073327491a2ed3bfa2ebb466c4204.js +1 -25
  145. package/dist/51f903c5ce5284a63196247cffb5ca40.js +1 -9
  146. package/dist/5352ecd8e5f1a2637b48e18cc406edb1.js +1 -9
  147. package/dist/53e3600928916423671f3388e2d67844.js +1 -9
  148. package/dist/54b3396acd2c700969248de4b20cbf7c.js +1 -109
  149. package/dist/55892adefebc0d53993fb108151ed150.js +1 -207
  150. package/dist/57f4109bd1f06be4dc2bcb8ff7eaf1e5.js +1 -9
  151. package/dist/57f9654d8ecdebfb02c636e1889af2e4.js +1 -2698
  152. package/dist/582e24f5ba929e358fadfc7be4c18025.js +1 -9
  153. package/dist/58598705e7012f4ca1eb1dd21d3c59a5.js +1 -9
  154. package/dist/5861dfe4f2c7823623e82d0619c5bf06.js +1 -9
  155. package/dist/58aab872dbdb5e1607076e1935130e03.js +1 -9
  156. package/dist/595aef8d8b0a2017e2fc27db5703e0d1.js +1 -167
  157. package/dist/59cc05504a1c823b6d4796bf6b430822.js +1 -9
  158. package/dist/5a496ae20cc576bef1d35972548207cf.js +1 -9
  159. package/dist/5a67fdd5293af0a35defd2574c05cd04.js +1 -1803
  160. package/dist/5ada4185d70a1852b578b2063de58e37.js +1 -221
  161. package/dist/5b6a626249d0bc43e412fffa6a9ee177.js +1 -9
  162. package/dist/5bad2df0e3bfd8fdc1a332fb6276cb39.js +1 -360
  163. package/dist/5c53d90bf4029cfd1b6a0945d1cae142.js +1 -3550
  164. package/dist/5c96efcfd419a70a93c96557979bc66d.js +1 -371
  165. package/dist/5d3314103b00c8ea165c6f9f6757f794.js +1 -9
  166. package/dist/5d46734b57c7408a41473abcd515b64c.js +1 -387
  167. package/dist/5da9145440d57c9b84d469253e84898d.js +1 -154
  168. package/dist/5e37c1ef17a219449c8c6aa37a87a941.js +1 -101
  169. package/dist/5e3f006db26e9b277b1bdbc130611a14.js +1 -400
  170. package/dist/5e55b301888460bd06c8e26d1011e01a.js +1 -9
  171. package/dist/5e6c2744429a8fac6e536b179c1f31d0.js +1 -293
  172. package/dist/5ebdef8c548fca6c51280e915d6f4c3f.js +1 -168
  173. package/dist/5ede1aebde9d4e5f5cce2db3044495c7.js +1 -148
  174. package/dist/5f3ce6efab3c679ec1ad25ab0b3f6b2f.js +1 -9
  175. package/dist/5fb6059ab5d7abab7a74eb73028a3aeb.js +1 -361
  176. package/dist/5fc5c77d4df4f5d77f8530f6b23ecd1e.js +1 -135
  177. package/dist/5fedbf948ed123687f77167fac1faf8b.js +1 -9
  178. package/dist/60340be8eea1d704a17f399b3c3f9577.js +1 -200
  179. package/dist/621b99ed1a029c36b4e91ec35f36c344.js +1 -44
  180. package/dist/6292be0125d3720498496eaa7f541618.js +1 -56
  181. package/dist/63b15fb6fc8f897b22a4bf72b7e8452a.js +1 -57668
  182. package/dist/64a5f4d62507d032038dcd76d15188e1.js +1 -9
  183. package/dist/64c45b6610e353ba59a58afc6dd090ca.js +1 -450
  184. package/dist/64d6924350bd7706850cdc0dcc76ccf6.js +1 -9
  185. package/dist/6511453710d760c2682567b40ddb3301.js +1 -593
  186. package/dist/656f53e1b4c6e37a31799737faf6d639.js +1 -209
  187. package/dist/663234c150f2097f3812c6065491497c.js +1 -254
  188. package/dist/6903d8ef977a1424c4e2eb22b96feb77.js +1 -118
  189. package/dist/6a7bf4fb4484f6f48d8e4337f126a61d.js +1 -1246
  190. package/dist/6abb884bd4f1a54529c00b58c14741cc.js +1 -128
  191. package/dist/6bb61adbbc13088ee1c32d88b5c7e754.js +1 -1743
  192. package/dist/6c0a75dc5671c3f237a79f6e45b9891c.js +1 -9
  193. package/dist/6c67587c2093ac3a19da9f2196e040b7.js +1 -9
  194. package/dist/6d38cef4a006e6cfe54a6117aba7b600.js +1 -9
  195. package/dist/6f09754fd684f82e6c06ae526d15ac80.js +1 -740
  196. package/dist/6f64da239140d00b81d8b6c523e86daf.js +1 -116
  197. package/dist/6faa9e5f2a0122d2333fa450337a09b0.js +1 -9
  198. package/dist/6fd6a6ddbcbbebe735c9d21e594203ec.js +1 -145
  199. package/dist/6fe3f0823e345813c2084b243cb6650b.js +1 -6198
  200. package/dist/70074e0c785c9a808dea76c7c7d17af3.js +1 -9
  201. package/dist/70286c33cab463fd576766adecd2d5d9.js +1 -9
  202. package/dist/707fa1de4d2096da1951c4bc9d21cb6d.js +1 -75
  203. package/dist/7080d2a1db1608264a6d9d9fbaf2cce8.js +1 -9
  204. package/dist/716879b6ef8945d579595d88534ae402.js +1 -417
  205. package/dist/725da29f1643c2263a437c08a1454aea.js +1 -9
  206. package/dist/73c78b067c792ea8c737746e4671d3e0.js +1 -120
  207. package/dist/740f4264cd757fcf28331fd30daf295e.js +1 -18
  208. package/dist/7493f0c3c9bf268d6ad785019d993dd7.js +1 -150
  209. package/dist/74fa46809aba9625071aa51bc0a71561.js +1 -122
  210. package/dist/755114145e5b97e5571a160a39e716db.js +1 -9
  211. package/dist/75bffda9455d77087f34708ac4e85371.js +1 -2640
  212. package/dist/75d2dae20d7bac5ecfa9dafc48ec04eb.js +1 -277
  213. package/dist/760eb6458a048f3cba7bc3ae52ef2ba4.js +1 -137
  214. package/dist/7735af777659608bcd8cd6525e3bbe58.js +1 -135
  215. package/dist/77aaca51c1c32acaf32656d45f4dc017.js +1 -9
  216. package/dist/77dd68f6396b8ab4ce2c238d6ddb5354.js +1 -331
  217. package/dist/788819e459cdd8c4c1ef565fd303f519.js +1 -113
  218. package/dist/7a9a1dced0e327dc9cb1728bef25641d.js +1 -114
  219. package/dist/7bd84be066027e61c84c9c2aa9543c2a.js +1 -888
  220. package/dist/7c1cd1223bd45600763f8c152ad167d5.js +1 -873
  221. package/dist/7c27341a2599ffb713c8fb7beced7601.js +1 -306
  222. package/dist/7c317e61789b17749dfe6ea294c89b6b.js +1 -193
  223. package/dist/7c9c55eb1a1e5c1dfd63631511d9a1f0.js +1 -720
  224. package/dist/7dead8e2fcacc316bbfa632cd9f1c9bb.js +1 -163
  225. package/dist/7e4099fc2d04c7c1cf96892b962ba4ec.js +1 -9
  226. package/dist/7ef082035f74b3d7324f95a7498ea656.js +1 -2632
  227. package/dist/7f12d133c88ce53d0837a6c4c0287a37.js +1 -360
  228. package/dist/7f407a1006eb830d6f0aaad96c133d26.js +1 -430
  229. package/dist/805cb6232d7a9fa46025d48a43622ecf.js +1 -9
  230. package/dist/80a171b7595d1161735e23dec8efddd6.js +1 -363
  231. package/dist/82fed7ec74be91e0db61c500d9c6d7ee.js +1 -303
  232. package/dist/83387cb17a7680f59240e7b399e3ac2b.js +1 -9
  233. package/dist/8361542d34c46713c9aff6c4ce65a9a3.js +1 -2693
  234. package/dist/85a977f41a907dba8c672f9bf4943da0.js +1 -3028
  235. package/dist/866bf6ca5057dcb24503761af061d486.js +1 -478
  236. package/dist/870184211838006214be1c23c98672fc.js +1 -17
  237. package/dist/8707a7b49421dbbb842506674ff87fa3.js +1 -59
  238. package/dist/875e553a27bee88a73df34a90b3058e4.js +1 -2564
  239. package/dist/8772719d0f76ecabded160e32dc5eb77.js +1 -503
  240. package/dist/87932c8321c9985ed3b6979e86d2a50e.js +1 -96
  241. package/dist/87d6bf8becf2d5ebe2f71fda95a313ea.js +1 -83
  242. package/dist/88bbfb9fdb8730ffc23f546b42d8d620.js +1 -395
  243. package/dist/88e2feda80ac8cfb28f1dc0ec833b40d.js +1 -9
  244. package/dist/894720f1519e5eb34e1b4f33fca7a9dd.js +1 -185
  245. package/dist/894edcaf39c3c95818e3949d737ed459.js +1 -9
  246. package/dist/89d3c35a5ef97a600927b477a9ba06b4.js +1 -414
  247. package/dist/8ba6618773c9d8d0b4f6ecb785651e2c.js +1 -121
  248. package/dist/8bf75743fb14fea7cf02a5da1bda79d4.js +1 -73
  249. package/dist/8cb83aa3fea85e950c29450b8237fb72.js +1 -14
  250. package/dist/8d9bb1799d9b98db107e84f10132e17f.js +1 -9
  251. package/dist/8ed58ed9c7e1cb1ae1f2830d29011ffb.js +1 -9
  252. package/dist/909adc4a16e0f97d869e3dd16d561430.js +1 -122
  253. package/dist/90bafd962205e96c3285d27cbf95c55c.js +1 -68
  254. package/dist/91bd2b106800bd7812e2ab5a5fea985b.js +1 -110
  255. package/dist/92f4aab5c66f6269c7054c8fbcb3de13.js +1 -9
  256. package/dist/957970f69802c38a9092b9b6264cc1b9.js +1 -112
  257. package/dist/9600fed6a4508afbbcd2c75923d953c3.js +1 -125
  258. package/dist/962969a46fefcace3305abd4d6e14a2e.js +1 -9
  259. package/dist/964646d64dd3196a9c27fe302511414a.js +1 -10922
  260. package/dist/9671c350e11f1569edb5066cbfeb3334.js +1 -98
  261. package/dist/9696a4229fb787eeb25b26f1274b75ee.js +1 -9
  262. package/dist/97e72973d750ecb3bc2e75b75bf63c5b.js +1 -9000
  263. package/dist/9807cf1e443a7440371904b6525f37eb.js +1 -9
  264. package/dist/985d6749688c18f94994794f88492444.js +1 -278
  265. package/dist/99ade8b6895e3a1c3d6eb70583cb924e.js +1 -115
  266. package/dist/9b1fd9cf4206cc32e84150c49707d811.js +1 -9
  267. package/dist/9b8e2282f60f104ff3ace5b905af4d62.js +1 -64
  268. package/dist/9ff6d4a6592c0cb7d0b939113c3a6b31.js +1 -95
  269. package/dist/a164d0e40c4dfa485dcf8e6d5258d767.js +1 -122
  270. package/dist/a1c8660c5bcc6b6a43a7fb3c351174d9.js +1 -9
  271. package/dist/a2a705f6bc3a6827d6c94c5978aec36d.js +1 -243
  272. package/dist/a2c0fcb443c396b30a11fc1682a29c13.js +1 -115
  273. package/dist/a4306aa43824ec1a4ee422b59a851e6f.js +1 -2622
  274. package/dist/a4bedde07e392f8ebf64341b61f75df2.js +1 -9
  275. package/dist/a533e643002830be2da76c9527265860.js +1 -9
  276. package/dist/a5d364d12a8f7691339c497b2e725bcf.js +1 -145
  277. package/dist/a7824ec1ab22aeb22bb35ab8bf1ddc4a.js +1 -715
  278. package/dist/a934b622dd8bdcdcdc1dde985a07ac14.js +1 -36
  279. package/dist/a98ead014d010899b35ee25c7c225542.js +1 -411
  280. package/dist/aa0eee504d52a12d3a30bbd523afcc34.js +1 -9
  281. package/dist/aa5623ec68d23fedb9c9c115c7d99063.js +1 -9
  282. package/dist/aaddd877950d1e3bf1b3ef0fc0ff596e.js +1 -449
  283. package/dist/aaf5c3a4f1a188fd051577cea7b87209.js +1 -457
  284. package/dist/ab4b314445b23359319c14cce9a0e321.js +1 -3687
  285. package/dist/abb40a9a6ef0b2fe14c66dcadc9857a2.js +1 -248
  286. package/dist/ad215d7ba317c941cdcc96ae78e86666.js +1 -67
  287. package/dist/adc5e81257ed3f8d70d03cf79150eec1.js +1 -320
  288. package/dist/aedbf3a3ece39aab8c9f3b3a3779e79b.js +1 -115
  289. package/dist/af959c2a870f08dd8abccae97c9b9bae.js +1 -35
  290. package/dist/b0071564b0854c39e3de8b99d66e4dfd.js +1 -298
  291. package/dist/b02d982ccb1011197a5a24800b178a0a.js +1 -9
  292. package/dist/b0803f33b602bd3b26be70f259e38cee.js +1 -102
  293. package/dist/b1170472ae4b50e3b0070eb991e502fe.js +1 -9
  294. package/dist/b1ac30076824f72cdff7ea29ae0b6801.js +1 -489
  295. package/dist/b1f3f77a9279cdb38846ebe13c3438bc.js +1 -9
  296. package/dist/b20056c149af6b50c851ecfff90e0ccb.js +1 -2792
  297. package/dist/b20cd9acf45420fcacfd923754185663.js +1 -9
  298. package/dist/b25188cf2652d63136d5e54c38abf84e.js +1 -500
  299. package/dist/b2742fab9568b63c2274698af5d381fc.js +1 -135
  300. package/dist/b2ff96fbe6501ff45c37491b94c96c5f.js +1 -315
  301. package/dist/b33ef9b4202539d3690251cb8213a034.js +1 -9
  302. package/dist/b3bb2c8deddd8c2afcf73f6f5d711596.js +1 -61
  303. package/dist/b402b938ca2da72e0984a1360eda5897.js +1 -40
  304. package/dist/b460e24d77f9c0d8b21e65d899840adb.js +1 -363
  305. package/dist/b6a6a4adaab4f09a7835ff64a5096198.js +1 -80
  306. package/dist/b6df2278bd475169749bab512944b7ec.js +1 -207
  307. package/dist/b7b7be8216519adf62d75f123f9c6423.js +1 -1470
  308. package/dist/b808fb222140a85b23ebbe0fffa906d9.js +1 -9
  309. package/dist/b8197742452dd2e77090dde34cb2dc4d.js +1 -4105
  310. package/dist/b881dca9d9a80f61d87374b4bd5a2dd5.js +1 -9
  311. package/dist/b98206b2175363f1150c074608603942.js +1 -592
  312. package/dist/ba6b8b3e06cd9d0aee9c69278ee84647.js +1 -9
  313. package/dist/baa5bf4cfefed057a4657a1b02cfa114.js +1 -32
  314. package/dist/bb4d542cb170b3f7b27a42c69262975b.js +1 -1421
  315. package/dist/bb5bab7a675544fe31ddb7f4a77dffb9.js +1 -9
  316. package/dist/bc0551f89df16ee262a67c0431544a9e.js +1 -128
  317. package/dist/c0736a7477d7aac4c669bb94ccae25d9.js +1 -381
  318. package/dist/c0780e66c6b1ade0fa22283ce1f9c402.js +1 -1582
  319. package/dist/c1bc72d79cc6161590fc01c6b139fccd.js +1 -296
  320. package/dist/c32ec7d45ccd947b98fe458a8ca1405b.js +1 -412
  321. package/dist/c40023acde0f3d5f4806f5fccbb4284b.js +1 -160
  322. package/dist/c45445ab45defa960329c6f8e6224e57.js +1 -317
  323. package/dist/c51840077c684be0e7e13339f85cd4a9.js +1 -9
  324. package/dist/c530988d2b1966fd10a4d99fa3877e1b.js +1 -9
  325. package/dist/c631c95d9019218dfd22d028f215e1d1.js +1 -312
  326. package/dist/c728b4ef87cfd5f561d1601f0867c39d.js +1 -2509
  327. package/dist/c733414555a126e689832ffb55cc203f.js +1 -820
  328. package/dist/c797511423f91a877e7fdffa74d015cb.js +1 -914
  329. package/dist/c7ca9dccbac3af7ebc82b271dd2aa570.js +1 -400
  330. package/dist/c80e89199aef31e48addb2b35ea96365.js +1 -9
  331. package/dist/cb4175466ea600940f2927fa03a217e8.js +1 -472
  332. package/dist/cb652f200fc3dd740b2e7f678a9272ea.js +1 -9
  333. package/dist/cbdbd623038183a8c068dd24ecd90682.js +1 -9
  334. package/dist/cbdc4ca43a8c940a6c3f59a8b6f17df5.js +1 -9
  335. package/dist/ccde58de5468dd353dbee74d631ebdf0.js +1 -34
  336. package/dist/cd358d9acaaa7049d85b15ac766fc314.js +1 -311
  337. package/dist/cd9a17f94a922c7c88000b1b3cdd67df.js +1 -9
  338. package/dist/cda6c5c52fa5d595982da0fac9da25a5.js +1 -984
  339. package/dist/cf188b3f83735389d47bb12fc9f7069a.js +1 -9
  340. package/dist/cf3f6b1c74c72cb5d02870022dbc9f94.js +1 -9
  341. package/dist/cf90a39d245bf7e6c1b41c7a9a28f0a1.js +1 -681
  342. package/dist/chunk-207.cc1646ee6c7a19f6220b.js +2 -0
  343. package/dist/chunk-207.cc1646ee6c7a19f6220b.js.map +1 -0
  344. package/dist/chunk-404.e573ba4c4c7cedc843f3.js +2 -0
  345. package/dist/chunk-404.e573ba4c4c7cedc843f3.js.map +1 -0
  346. package/dist/chunk-actions.c7efc5f5036d72d3b972.js +2 -0
  347. package/dist/chunk-actions.c7efc5f5036d72d3b972.js.map +1 -0
  348. package/dist/chunk-code-editor.4932fdbfef27989069a5.js +2 -0
  349. package/dist/chunk-code-editor.4932fdbfef27989069a5.js.map +1 -0
  350. package/dist/{chunk-docs-actions.8a808416a2d69710472e.js → chunk-docs-actions.fe615fd8e3c8ff68c449.js} +2 -2
  351. package/dist/chunk-docs-actions.fe615fd8e3c8ff68c449.js.map +1 -0
  352. package/dist/chunk-vendor-icons.aae1dc235d12dd74b38e.js +1 -0
  353. package/dist/d04707d65591e86810ebc56d48b10810.js +1 -296
  354. package/dist/d1a58542777d072396d7cee5487304f9.js +1 -141
  355. package/dist/d1efdca26800423a363b769b1834cfcf.js +1 -223
  356. package/dist/d2a00e1726c71ca10fbaf4b9c4374458.js +1 -1003
  357. package/dist/d2fe7592ff2fdda099b2b6355abe8c06.js +1 -5240
  358. package/dist/d30fa4070abd6929228505790744e180.js +1 -279
  359. package/dist/d43ad5f9bad9a042b49b2592c7639c28.js +1 -9
  360. package/dist/d542dda7308361c34af2afb9b70d755a.js +1 -9
  361. package/dist/d5a6140d581e5c4eb200259ce372f40b.js +1 -9
  362. package/dist/d5f79987405c2169278f8de37bcc9d05.js +1 -9
  363. package/dist/d78d3b050ea95b068380d975fd413fd7.js +1 -9
  364. package/dist/d79b3962938d65fb85c6f844e86d92d9.js +1 -172
  365. package/dist/d7b57d5ebdcade0ce5e047509e06861a.js +1 -580
  366. package/dist/d7d616d4aa8fd3f51d681242853dcde9.js +1 -9
  367. package/dist/d83f2acd25388452582e5a4c727255b0.js +1 -174
  368. package/dist/da1c1b1569c4d5872c9a18c29f0b5c90.js +1 -3088
  369. package/dist/da55f4fe3daed3f79fc4565668ecf7dd.js +1 -97
  370. package/dist/db8ca5cfb6fe4aaef215f116f6991784.js +1 -9
  371. package/dist/dbc87324ecf271d088a2ab0823de9c5d.js +1 -75
  372. package/dist/dbd05051a3ecf6b10e2f7b8904153f2d.js +1 -3194
  373. package/dist/dc1eb6c1c92d7067c72b82b2833a7d2c.js +1 -2595
  374. package/dist/dcb197c0214e800da9d9436dfc9437d6.js +1 -162
  375. package/dist/ddbc961769cd2ff4d4a7a136168ebf4c.js +1 -9
  376. package/dist/de0fd4fd7c2d7a4887cbc99eed91f797.js +1 -9
  377. package/dist/df37029cdf8359ecac0aebdf4f257d03.js +1 -386
  378. package/dist/df5710d97a899b672060afaa8c4891c2.js +1 -316
  379. package/dist/dfb7dd1fab06b2403f76c23f80b15738.js +1 -1718
  380. package/dist/e07a0b284934d3a0e8c02c508edc9df1.js +1 -115
  381. package/dist/e0adad8a8579bf99f3e22f7c214a5c64.js +1 -9
  382. package/dist/e0e32c3798e8895695ce5b372a0c989f.js +1 -2166
  383. package/dist/e2b38a8393be2cf23f3894ace3efb1c3.js +1 -9
  384. package/dist/e3ba4b654313ae98884a6c9044197e09.js +1 -103
  385. package/dist/e4565878df49fd4ce3edd3f1022c1695.js +1 -244
  386. package/dist/e4917fa7632b01d28e99304d32d989f7.js +1 -9
  387. package/dist/e4968d8264b40c14f123f28419eb456d.js +1 -23
  388. package/dist/e6070e43daf8a9e5f13f515a5a03e66c.js +1 -498
  389. package/dist/e61779df91186b23e7adf2d1968b2708.js +1 -9
  390. package/dist/e6ad50b520736b595970c9e07029c3f1.js +1 -9
  391. package/dist/e6cf8898b285b71e2abe832717ac7060.js +1 -153
  392. package/dist/e6fae0b04a3000a57f22bb25325c8afe.js +1 -2635
  393. package/dist/e6fb5287a46e030336c006e3f50ade3a.js +1 -529
  394. package/dist/e7e1a807af3160b342e0a3550cf8f7c5.js +1 -9
  395. package/dist/e874d975c9128dc6eb9a513d088bed9f.js +1 -9
  396. package/dist/e8fa659263d5ca9e0d1be69c048133a8.js +1 -297
  397. package/dist/e97cfa120fde26da0359ca29afaf3171.js +1 -43
  398. package/dist/eaa55a522fb2cb2f0287711f42344984.js +1 -9
  399. package/dist/eba5ee3fb1f3e92af88c69e50b2a8fd1.js +1 -102
  400. package/dist/ec2d138afc9cc9e81c4c6ef36ed55228.js +1 -103
  401. package/dist/ec32839f8f3353e66b85450525fa3114.js +1 -2808
  402. package/dist/ecd02712f5a40fcdaa3bfa8190470024.js +1 -2596
  403. package/dist/ecd37b343c4dcc8dac849b1c680dcbef.js +1 -1010
  404. package/dist/ecdb4966f685f3e44b1f28fae46827a3.js +1 -9
  405. package/dist/ee694c1bcbdc9439e50f816c39fd1023.js +1 -2875
  406. package/dist/efc14cdf19554635e477781704353ec2.js +1 -9
  407. package/dist/f0548260c0ac6b0e7cdb8909df1a5333.js +1 -421
  408. package/dist/f0878cc386a608146dbc8fb3b6745c42.js +1 -422
  409. package/dist/f326f2f263b1498fedbe1d07d7254d10.js +1 -9
  410. package/dist/f3c7b9d832aa442df3d140f7697b4f62.js +1 -98
  411. package/dist/f42342b39da2c42adc65ebcf52839f90.js +1 -102
  412. package/dist/f4c53706e1721b08e8b2f650c8bd35c4.js +1 -166
  413. package/dist/f582d9feb91d31036d3dae4cdaea865f.js +1 -3533
  414. package/dist/f5bea0e1099339b99b21ee2d3c0fc489.js +1 -23
  415. package/dist/f7186078e00d958aa2b316483dfc7e1c.js +1 -1715
  416. package/dist/f79630d85284a7f6dadc25c1d256af0a.js +1 -33
  417. package/dist/f80efec9a63094f19edae0480a0f2cd8.js +1 -635
  418. package/dist/f90003058d7087f15baa27b80bf08c1d.js +1 -839
  419. package/dist/f980fd09c34c277299e2d3f83aebdba5.js +1 -102
  420. package/dist/fb59a7c154104a421146ab9e5bd71540.js +1 -462
  421. package/dist/fd40b62490e412d27bc67e660aacae19.js +1 -430
  422. package/dist/fd5bc50b18c9f46380cbe5ec1ac2127b.js +1 -9
  423. package/dist/fd5e2efd3b2d047abe8473f99c650a35.js +1 -677
  424. package/dist/fdf4d851b44839d8fdfa77b3419bce19.js +1 -204
  425. package/dist/ffd3b83e8b5878f4785591ff54b1dfff.js +1 -9
  426. package/dist/index.js +9 -9
  427. package/dist/index.js.map +1 -1
  428. package/package.json +1 -1
  429. package/dist/chunk-207.a88d16e56962fd4d2978.js +0 -2
  430. package/dist/chunk-207.a88d16e56962fd4d2978.js.map +0 -1
  431. package/dist/chunk-404.0ea933a6d9513f2665cf.js +0 -2
  432. package/dist/chunk-404.0ea933a6d9513f2665cf.js.map +0 -1
  433. package/dist/chunk-actions.1ad5d759ef5d8509c532.js +0 -2
  434. package/dist/chunk-actions.1ad5d759ef5d8509c532.js.map +0 -1
  435. package/dist/chunk-code-editor.c86cda6aae761ec82d57.js +0 -2
  436. package/dist/chunk-code-editor.c86cda6aae761ec82d57.js.map +0 -1
  437. package/dist/chunk-docs-actions.8a808416a2d69710472e.js.map +0 -1
  438. package/dist/chunk-vendor-icons.7f0d1996a77d090b3d9c.js +0 -1
@@ -1,2 +0,0 @@
1
- "use strict";(self.webpackChunktocco_admin=self.webpackChunktocco_admin||[]).push([[85],{599:(e,t,n)=>{n.r(t),n.d(t,{chooseDocument:()=>Fe.Z,default:()=>un});var r=n(59713),o=n.n(r),a=n(52540),i=n(83682),c=n(41609),s=n.n(c),u=n(18446),l=n.n(u),d=n(35937),f=n.n(d),p=n(45697),h=n.n(p),m=n(1024),g=n.n(m),v=n(97610),y=n(28941),b=n(1480),w=n(33400),x=n(76772),k=n(72048),E=n(22151),_=n(33075),S=n(29396),P=n(50872),O=n(14082),C=n(62410),A=n(76398),R=n(74806),L=n(46458),Z=function(e){return{type:"docs/path/SET_BREADCRUMBS",payload:{breadcrumbs:e}}},T=n(67154),j=n.n(T),F=n(63038),D=n.n(F),I=n(29163),N=n(93038),M=n(58239),B=n(6300);const U=(0,L.connect)((function(e){return{pathPrefix:"/docs",breadcrumbsInfo:e.docs.path.breadcrumbs}}),{})((0,R.ZP)(B.Z));var H=/^\/docs\/?$/;const z=function(e){return H.test(e)};var $=n(87757),q=n.n($),G=n(44166),V=n(84187),Y=n(25450),W={"dms-create-folder":(0,m.lazy)((function(){return Promise.all([n.e(172),n.e(614),n.e(404),n.e(141)]).then(n.bind(n,11625))})),"dms-create-domain":(0,m.lazy)((function(){return Promise.all([n.e(172),n.e(614),n.e(404),n.e(141)]).then(n.bind(n,53285))})),"dms-edit":(0,m.lazy)((function(){return Promise.all([n.e(172),n.e(614),n.e(404),n.e(141)]).then(n.bind(n,65290))})),"dms-move":(0,m.lazy)((function(){return Promise.all([n.e(172),n.e(614),n.e(404),n.e(141)]).then(n.bind(n,75517))})),delete:(0,m.lazy)((function(){return Promise.all([n.e(172),n.e(614),n.e(404),n.e(141)]).then(n.bind(n,45052))}))},K=g().createElement(G.Z,null);const J=function(e){var t=e.appId,n=W[t];if(!n)return Y.Z.logError("no action found with id: ".concat(t)),null;var r=(0,L.connect)(null,{emitAction:function(e){return y.Z.dispatchEmittedAction(e)}})(n);return g().createElement(m.Suspense,{fallback:K},g().createElement(r,e))};const Q=function(e){var t=e.instanceCount,n=e.directory,r=e.onChange,o=(0,m.useRef)(),a=C.Z.usePrevious(t);(0,m.useEffect)((function(){o.current&&t>a&&o.current.click()}));return g().createElement("input",j()({type:"file",ref:o,style:{display:"none"},onChange:function(e){var t=e.target.files;t&&t.length>0&&r&&r(t,n),e.target.value=null},multiple:!0},n?{webkitdirectory:"true",directory:"true"}:{}))};var X={onChange:function(e,t){return{type:"docs/create/FILES_SELECTED",payload:{files:e,isDirectory:t}}}};const ee=(0,L.connect)((function(e){return{instanceCount:e.docs.create.dialog.instanceCount,directory:e.docs.create.dialog.directory}}),X)(Q);var te=n(28655),ne=n.n(te),re=n(41804);function oe(){var e=ne()(["\n font-size: ",";\n display: inline-block;\n margin-right: ",";\n"]);return oe=function(){return e},e}function ae(){var e=ne()(["\n display: flex;\n align-items: center;\n"]);return ae=function(){return e},e}var ie=I.ZP.div(ae()),ce=I.ZP.span(oe(),re.Z.font(1),re.Z.space(-2)),se=g().lazy((function(){return Promise.all([n.e(172),n.e(614),n.e(141)]).then(n.bind(n,39901))})),ue=g().createElement(G.Z,null),le=g().createElement(ee,null);const de=function(e){var t=e.history,n=e.match,r=e.domainTypes,o=e.rootNodes,a=e.navigationStrategy,i=e.changeListParent,c=e.onSearchChange,s=e.emitAction,u=e.openFileDialog,l=e.limit,d=e.searchFormType,f=e.selectionStyle,p=e.getCustomLocation,h=e.disableViewPersistor,v=e.getListFormName,y=e.domainDetailFormName,b=e.folderDetailFormName,w=e.showActions,x=e.scrollBehaviour,k=e.sortable,E=e.searchMode,_=e.openResource,S=e.searchFormCollapsed,P=e.changeSelection,O=e.changeSearchFormCollapsed,C=(0,m.useReducer)((function(e){return e+1}),0),A=D()(C,2),R=A[0],L=A[1],Z="entity-list-".concat(R),T=(0,m.useState)([]),j=D()(T,2),F=j[0],I=j[1],N=(0,m.useMemo)((function(){return function(e){if(e.params&&e.params.model){var t=e.params.model.charAt(0).toUpperCase()+e.params.model.slice(1),n=e.params.key;return{model:"Docs_list_item",key:"".concat(t,"/").concat(n)}}return null}(n)}),[n.params]),B=!N&&o?o.map((function(e){return"".concat(e.entityName,"/").concat(e.key)})):null,U=(0,m.useMemo)((function(){return v?v(N,B):function(e,t){return e?"Docs_list_item":t?"Root_docs_list_item_specific":"Root_docs_list_item"}(N,B)}),[n.params,v]),H=(0,m.useRef)(!1),$=(0,m.useRef)(E);$.current=E,(0,m.useEffect)((function(){return H.current=!0,function(){return H.current=!1}})),(0,m.useEffect)((function(){i(N),I([])}),[N]);var G=function(e){I(e),P(e)},Y=N||B?null:function(e){return Array.isArray(e)&&e.length>0?"exists(relDomain_type where IN(unique_id, ".concat(e.map((function(e){return'"'.concat(e,'"')})).join(","),"))"):null}(r),W=q().mark((function e(n,r,o,a,i,c,s){return q().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:!1,u(t.location.pathname,!1,c,s);case 2:case"end":return e.stop()}}),e)})),K=q().mark((function e(n,r,o,a,i,c,s){return q().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:!0,u(t.location.pathname,!0,c,s);case 2:case"end":return e.stop()}}),e)})),Q=h?void 0:z(t.location.pathname)?M.Z.viewInfoSelector("search").store:null;return g().createElement(g().Fragment,null,g().createElement(m.Suspense,{fallback:ue},g().createElement(se,{key:Z,id:"documents",entityName:"Docs_list_item",formName:U,limit:l||25,onRowClick:function(e){var n=e.id;if(G([n]),$.current&&z(t.location.pathname)){if(!M.Z.viewInfoSelector("search").store){var r=M.Z.viewInfoSelector(Z).store;M.Z.persistViewInfo("search",{store:r})}L()}var o=n.split("/"),a=D()(o,2),i=a[0],c=a[1],s=p?p(i,c):function(e,t){switch(e){case"Domain":return"/docs/domain/".concat(t,"/list");case"Folder":return"/docs/folder/".concat(t,"/list");case"Resource":return"/docs/doc/".concat(t,"/detail");default:throw new Error("Unexpected model: ".concat(e))}}(i,c);s&&(_&&"Resource"===i?_(s):t.push(s))},searchFormPosition:"left",searchFormType:d||"admin",parent:N,onSearchChange:function(e){H.current&&c(e)},store:Q,onStoreCreate:function(e){return h||M.Z.persistViewInfo(Z,{store:e}),null}(Q),cellRenderers:{"dms-label-with-icon":function(e,t,n){return g().createElement(ie,null,g().createElement(ce,null,g().createElement(V.Z,{icon:e.icon})),g().createElement("span",null,n(t.children[0])))},"dms-actions":function(e,t,n){return g().createElement(ie,null,t.children.filter((function(t){return!t.dmsEntityModel||t.dmsEntityModel===e.type})).map((function(e){return n(e)})))}},emitAction:s,actionAppComponent:J,contextParams:{history:t,detailFormNames:{Domain:y,Folder:b}},customActions:{"upload-document":W,"upload-directory":K},navigationStrategy:a,tql:Y,keys:B,selectionStyle:f||"multi_explicit",onSelectChange:G,selection:F,showActions:w,sortable:k,searchFormCollapsed:S,scrollBehaviour:x,onSearchFormCollapsedChange:O})),le)};var fe={changeListParent:function(e){return{type:"docs/list/CHANGE_LIST_PARENT",payload:{parent:e}}},changeSelection:function(e){return{type:"docs/list/CHANGE_SELECTION",payload:{selection:e}}},changeSearchFormCollapsed:function(e){return{type:"docs/list/CHANGE_SEARCH_FORM_COLLAPSED",payload:{collapsed:e}}}};const pe=(0,L.connect)((function(e){return{domainTypes:e.input.domainTypes,rootNodes:e.input.rootNodes,limit:e.input.listLimit,searchFormType:e.input.searchFormType,selectionStyle:e.input.selectionStyle,getCustomLocation:e.input.getCustomLocation,disableViewPersistor:e.input.disableViewPersistor,getListFormName:e.input.getListFormName,domainDetailFormName:e.input.domainDetailFormName,folderDetailFormName:e.input.folderDetailFormName,showActions:e.input.showActions,sortable:e.input.sortable,openResource:e.input.openResource,searchFormCollapsed:e.docs.list.searchFormCollapsed,scrollBehaviour:e.docs.list.scrollBehaviour}}),fe)((0,R.ZP)(de));function he(){var e=ne()(["\n height: 100%;\n background-color: ",";\n padding-left: ",";\n overflow-y: hidden;\n"]);return he=function(){return e},e}var me=I.ZP.div(he(),N.Z.color("paper"),re.Z.space(.5)),ge=g().lazy((function(){return Promise.all([n.e(172),n.e(614),n.e(404),n.e(141)]).then(n.bind(n,1388))})),ve=g().createElement(G.Z,null);const ye=function(e){var t=e.match,n=e.history,r=e.breadcrumbs,o=e.formName,a=e.navigationStrategy,i=e.emitAction;return g().createElement(me,null,g().createElement(m.Suspense,{fallback:ve},g().createElement(ge,{entityName:"Resource",entityId:t.params.key,formName:o||"DmsResource",mode:"update",actionAppComponent:J,navigationStrategy:a,emitAction:i,onEntityDeleted:function(){var e=r.slice().reverse().find((function(e){return"list"===e.type})),t="/docs/".concat(e.path);n.push(t)}})))};var be={emitAction:function(e){return y.Z.dispatchEmittedAction(e)}};const we=(0,L.connect)((function(e){return{breadcrumbs:e.docs.path.breadcrumbs,formName:e.input.documentDetailFormName}}),be)((0,R.ZP)(ye));var xe=n(16828);function ke(){var e=ne()(["\n grid-area: breadcrumbs;\n ","\n"]);return ke=function(){return e},e}function Ee(){var e=ne()(["\n grid-area: content;\n ","\n ","\n"]);return Ee=function(){return e},e}function _e(){var e=ne()(["\n display: grid;\n grid-template-rows: auto 1fr;\n grid-template-areas:\n 'breadcrumbs'\n 'content';\n ","\n width: 100%;\n"]);return _e=function(){return e},e}var Se=I.ZP.div(_e(),(function(e){return"inline"===e.scrollBehaviour&&"height: 100%;"})),Pe=I.ZP.div(Ee(),(function(e){return"inline"===e.scrollBehaviour&&"overflow-x: hidden;"}),xe.C),Oe=I.ZP.div(ke(),(function(e){return e.noLeftPadding&&"\n > div {\n padding-left: 0;\n }\n "}));const Ce=(0,I.Zz)((function(e){var t=e.history,n=e.searchMode,r=e.navigationStrategy,o=e.setSearchMode,a=e.loadBreadcrumbs,i=e.emitAction,c=e.openFileDialog,s=e.theme,u=e.embedded,l=e.noLeftPadding,d=e.scrollBehaviour,f=(0,m.useReducer)((function(e){return e+1}),0),p=D()(f,2),h=p[0],y=p[1],b=(0,v.TH)(),w=(0,m.useRef)(n);w.current=n,(0,m.useEffect)((function(){a(b.pathname)}));var x=function(){w.current&&(M.Z.clearPersistedViews(),o(!1),a(b.pathname),y())},k=function(e){e.query&&e.query.hasUserChanges?(o(!0),t.push("/docs/"),a(b.pathname)):z(t.location.pathname)&&x()},E="docs-view-".concat(h);return g().createElement(Se,{scrollBehaviour:d},g().createElement(Oe,{noLeftPadding:l},g().createElement(U,j()({},u?{backgroundColor:N.Z.color("paper")({theme:s})}:{},{onClick:function(e){""===e.path&&x()}}))),g().createElement(Pe,{scrollBehaviour:d},g().createElement(v.rs,null,g().createElement(v.AW,{exact:!0,path:"/docs/doc/:key/detail",render:function(e){var n=e.match;return g().createElement(we,{match:n,history:t,navigationStrategy:r})}}),g().createElement(v.AW,{exact:!0,path:["/docs/:model/:key/list","/docs"],render:function(e){var o=e.match;return g().createElement(pe,{key:E,history:t,match:o,navigationStrategy:r,onSearchChange:k,emitAction:i,openFileDialog:c,searchMode:n})}}))))}));var Ae={loadBreadcrumbs:function(e){return{type:"docs/path/LOAD_BREADCRUMBS",payload:{location:e}}},setSearchMode:function(e){return{type:"docs/path/SET_SEARCH_MODE",payload:{searchMode:e}}},emitAction:function(e){return y.Z.dispatchEmittedAction(e)},openFileDialog:function(e,t,n,r){return{type:"docs/create/OPEN_DIALOG",payload:{location:e,directory:t,onSuccess:n,onError:r}}}};const Re=(0,L.connect)((function(e){return{searchMode:e.docs.path.searchMode,navigationStrategy:e.input.navigationStrategy,embedded:e.input.embedded,noLeftPadding:e.input.noLeftPadding,scrollBehaviour:e.docs.list.scrollBehaviour}}),Ae)((0,R.ZP)(Ce));var Le=n(319),Ze=n.n(Le),Te=function(e){return je.reduce((function(t,n){return void 0!==e[n.name]&&t.push(n.action.apply(n,Ze()(n.argsFactory(e)))),t}),[])},je=[{name:"searchFormCollapsed",action:function(e){return{type:"docs/list/SET_SEARCH_FORM_COLLAPSED",payload:{searchFormCollapsed:e}}},argsFactory:function(e){return[e.searchFormCollapsed]}},{name:"scrollBehaviour",action:function(e){return{type:"docs/list/SET_SCROLL_BEHAVIOUR",payload:{scrollBehaviour:e}}},argsFactory:function(e){return[e.scrollBehaviour]}}],Fe=n(52706),De=n(15857),Ie=n(34857);function Ne(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Me(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Ne(Object(n),!0).forEach((function(t){o()(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Ne(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var Be=o()({},"docs/create/OPEN_DIALOG",(function(e,t){var n=t.payload,r=n.location,o=n.directory,a=n.onSuccess,i=n.onError;return Me(Me({},e),{},{dialog:{instanceCount:e.dialog.instanceCount+1,directory:o,location:r,onSuccess:a,onError:i}})})),Ue={dialog:{instanceCount:0,directory:!1,location:null,onSuccess:null,onError:null}};var He=n(84387),ze=n(44586),$e=n(1662);function qe(e,t){var n;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return Ge(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Ge(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,o=function(){};return{s:o,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,i=!0,c=!1;return{s:function(){n=e[Symbol.iterator]()},n:function(){var e=n.next();return i=e.done,e},e:function(e){c=!0,a=e},f:function(){try{i||null==n.return||n.return()}finally{if(c)throw a}}}}function Ge(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var Ve=q().mark(Qe),Ye=q().mark(Xe),We=q().mark(et),Ke=function(e){return e.docs.create.dialog},Je=function(e,t){return e.intl.messages[t]};function Qe(e){var t,n,r,o,a,i,c,s,u,l,d;return q().wrap((function(f){for(;;)switch(f.prev=f.next){case 0:return t=e.payload,n=t.files,r=t.isDirectory,f.next=3,(0,Ie.RE)(ze.Z);case 3:return o=f.sent,f.next=6,(0,Ie.gz)(E.Z.blockingInfo(o,r?"client.docs-browser.uploadInProgressDirectory":n.length>1?"client.docs-browser.uploadInProgressMultiple":"client.docs-browser.uploadInProgress",null));case 6:return f.next=8,(0,Ie.Ys)(Ke);case 8:return a=f.sent,i=a.location,c=a.onSuccess,s=a.onError,f.prev=12,f.next=15,(0,Ie.RE)(Xe,i,n);case 15:if(403!==(u=f.sent).status){f.next=30;break}return f.next=19,(0,Ie.gz)(E.Z.removeBlockingInfo(o));case 19:return f.t0=s,f.next=22,(0,Ie.Ys)(Je,"client.entity-detail.saveAbortedTitle");case 22:return f.t1=f.sent,f.next=25,(0,Ie.Ys)(Je,"client.docs-browser.failedNoPermission");case 25:f.t2=f.sent,f.t3={title:f.t1,message:f.t2},(0,f.t0)(f.t3),f.next=41;break;case 30:return l=[{type:"entity-create-event",payload:{entities:u.body.items.filter((function(e){return 201===e.status})).map((function(e){return{entityName:e.bean.model,key:e.bean.key}}))}}],f.next=33,(0,Ie.gz)(E.Z.removeBlockingInfo(o));case 33:return d=r?"client.docs-browser.uploadSuccessfulDirectory":"client.docs-browser.uploadSuccessful",f.t4=c,f.next=37,(0,Ie.Ys)(Je,d);case 37:f.t5=f.sent,f.t6=l,f.t7={title:f.t5,remoteEvents:f.t6},(0,f.t4)(f.t7);case 41:f.next=54;break;case 43:return f.prev=43,f.t8=f.catch(12),Y.Z.logError("Failed to upload files",f.t8),f.next=48,(0,Ie.gz)(E.Z.removeBlockingInfo(o));case 48:return f.t9=s,f.next=51,(0,Ie.Ys)(Je,"client.docs-browser.uploadFailed");case 51:f.t10=f.sent,f.t11={title:f.t10},(0,f.t9)(f.t11);case 54:case"end":return f.stop()}}),Ve,null,[[12,43]])}function Xe(e,t){var n,r,o,a,i,c,s;return q().wrap((function(u){for(;;)switch(u.prev=u.next){case 0:if(n=(0,$e.Z)(e)){u.next=3;break}return u.abrupt("return");case 3:r=new FormData,o=qe(t);try{for(o.s();!(a=o.n()).done;)i=a.value,r.append("files",i)}catch(e){o.e(e)}finally{o.f()}return c="documents/".concat(n.model,"/").concat(n.key),s={method:"POST",body:r,acceptedStatusCodes:[403]},u.next=10,(0,Ie.RE)(He.Z.requestSaga,c,s);case 10:return u.abrupt("return",u.sent);case 11:case"end":return u.stop()}}),Ye)}function et(){return q().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,(0,Ie.$6)([(0,Ie.ib)("docs/create/FILES_SELECTED",Qe)]);case 2:case"end":return e.stop()}}),We)}var tt=q().mark(nt);function nt(){return q().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,(0,Ie.$6)([(0,Ie.rM)(et)]);case 2:case"end":return e.stop()}}),tt)}const rt=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Ue,t=arguments.length>1?arguments[1]:void 0,n=Be[t.type];return n?n(e,t):e};var ot,at=n(60954),it=(ot={},o()(ot,"docs/list/SET_SEARCH_FORM_COLLAPSED",at.Z.singleTransferReducer("searchFormCollapsed")),o()(ot,"docs/list/SET_SCROLL_BEHAVIOUR",at.Z.singleTransferReducer("scrollBehaviour")),ot),ct={searchFormCollapsed:null,scrollBehaviour:"inline"};const st=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:ct,t=arguments.length>1?arguments[1]:void 0,n=it[t.type];return n?n(e,t):e};var ut=q().mark(pt),lt=q().mark(ht),dt=q().mark(mt),ft=q().mark(gt);function pt(e){var t;return q().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return t=e.payload,n.next=3,(0,Ie.gz)(k.Z.fireExternalEvent("onListParentChange",t.parent));case 3:case"end":return n.stop()}}),ut)}function ht(e){var t;return q().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return t=e.payload,n.next=3,(0,Ie.gz)(k.Z.fireExternalEvent("onSelectChange",t.selection));case 3:case"end":return n.stop()}}),lt)}function mt(e){var t;return q().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return t=e.payload,n.next=3,(0,Ie.gz)(k.Z.fireExternalEvent("onSearchFormCollapsedChange",t.collapsed));case 3:case"end":return n.stop()}}),dt)}function gt(){return q().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,(0,Ie.$6)([(0,Ie.Fm)("docs/list/CHANGE_LIST_PARENT",pt),(0,Ie.Fm)("docs/list/CHANGE_SELECTION",ht),(0,Ie.Fm)("docs/list/CHANGE_SEARCH_FORM_COLLAPSED",mt)]);case 2:case"end":return e.stop()}}),ft)}var vt,yt=n(30023);function bt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function wt(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?bt(Object(n),!0).forEach((function(t){o()(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):bt(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var xt=(vt={},o()(vt,yt.qh,(function(e,t){var n=t.payload,r=n.selection,o=n.onSuccess,a=n.onError;return wt(wt({},e),{},{input:{selection:r,onSuccess:o,onError:a}})})),o()(vt,yt.FV,at.Z.singleTransferReducer("isWaiting")),o()(vt,yt.F$,(function(){return wt({},kt)})),vt),kt={isWaiting:!1,input:{selection:null,onSuccess:null,onError:null}};var Et=n(31167),_t=q().mark(At),St=q().mark(Rt),Pt=q().mark(Lt),Ot=function(e){return e.docs.move.input},Ct=function(e,t){return e.intl.messages[t]};function At(e){var t,n,r,o,a,i;return q().wrap((function(c){for(;;)switch(c.prev=c.next){case 0:return t=e.payload,n="documents/move",r={method:"POST",acceptedStatusCodes:[400,403],body:{targetEntityKey:t.target,selectedEntityKeys:t.selected}},c.next=5,(0,Ie.gz)(yt.p0(!0));case 5:return c.next=7,(0,Ie.RE)(He.Z.requestSaga,n,r);case 7:if(204!==(o=c.sent).status){c.next=13;break}return c.next=11,(0,Ie.RE)(Rt);case 11:c.next=20;break;case 13:return c.next=15,(0,Ie.gz)(yt.p0(!1));case 15:return i="client.actions.dms-move.failed.message","VALIDATION_FAILED"===(null===(a=o.body)||void 0===a?void 0:a.errorCode)&&(i=Et.Z.getErrorCompact(o.body.errors)),403===o.status&&(i="client.docs-browser.failedNoPermission"),c.next=20,(0,Ie.gz)(E.Z.toaster({type:"error",title:"client.actions.dms-move.failed.title",body:i}));case 20:case"end":return c.stop()}}),_t)}function Rt(){var e,t,n,r;return q().wrap((function(o){for(;;)switch(o.prev=o.next){case 0:return o.next=2,(0,Ie.Ys)(Ot);case 2:return e=o.sent,t=e.selection,n=e.onSuccess,r=[{type:"entity-update-event",payload:{entities:t.ids.map((function(e){return{entityName:"Docs_list_item",key:e}}))}}],o.t0=n,o.next=9,(0,Ie.Ys)(Ct,"client.docs-browser.moveSuccessful");case 9:return o.t1=o.sent,o.t2=r,o.t3={title:o.t1,remoteEvents:o.t2},(0,o.t0)(o.t3),o.next=15,(0,Ie.gz)(yt.xv());case 15:case"end":return o.stop()}}),St)}function Lt(){return q().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,(0,Ie.$6)([(0,Ie.Fm)(yt.uI,At)]);case 2:case"end":return e.stop()}}),Pt)}var Zt=q().mark(Tt);function Tt(){return q().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,(0,Ie.$6)([(0,Ie.rM)(Lt)]);case 2:case"end":return e.stop()}}),Zt)}const jt=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:kt,t=arguments.length>1?arguments[1]:void 0,n=xt[t.type];return n?n(e,t):e};var Ft,Dt=(Ft={},o()(Ft,"docs/path/SET_BREADCRUMBS",at.Z.singleTransferReducer("breadcrumbs")),o()(Ft,"docs/path/SET_SEARCH_MODE",at.Z.singleTransferReducer("searchMode")),Ft),It={breadcrumbs:[],searchMode:!1};var Nt=q().mark(qt),Mt=q().mark(Gt),Bt=q().mark(Vt),Ut=q().mark(Yt),Ht=function(e,t){return e.intl.messages[t]||t},zt=function(e){return e.docs.path},$t=function(e){return e.input.rootNodes};function qt(){return q().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,(0,Ie.Ys)(Ht,"client.docs-browser.breadcrumbs.start");case 2:return e.t0=e.sent,e.t1={display:e.t0,path:"",type:"list"},e.next=6,(0,Ie.Ys)(Ht,"client.docs-browser.breadcrumbs.searchResults");case 6:return e.t2=e.sent,e.t3={display:e.t2,path:"",type:"list"},e.abrupt("return",[e.t1,e.t3]);case 9:case"end":return e.stop()}}),Nt)}function Gt(e){var t,n,r,o,a,i;return q().wrap((function(c){for(;;)switch(c.prev=c.next){case 0:return t=e.payload.location,n=(0,$e.Z)(t),c.next=4,(0,Ie.Ys)(zt);case 4:if(!c.sent.searchMode||n){c.next=11;break}return c.next=8,(0,Ie.RE)(qt);case 8:r=c.sent,c.next=21;break;case 11:return o=n?"documents/".concat(n.model,"/").concat(n.key,"/breadcrumbs"):"documents/breadcrumbs",c.next=14,(0,Ie.RE)(Vt);case 14:return c.t0=c.sent,c.t1={rootnodes:c.t0},a={queryParams:c.t1},c.next=19,(0,Ie.RE)(He.Z.requestSaga,o,a);case 19:i=c.sent,r=i.body.breadcrumbs;case 21:return c.next=23,(0,Ie.gz)(Z(r));case 23:case"end":return c.stop()}}),Mt)}function Vt(){var e;return q().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,(0,Ie.Ys)($t);case 2:return e=t.sent,t.abrupt("return",Array.isArray(e)&&e.length>0?e.map((function(e){return"".concat(e.entityName,"/").concat(e.key)})).join(","):null);case 4:case"end":return t.stop()}}),Bt)}function Yt(){return q().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,(0,Ie.$6)([(0,Ie.Fm)("docs/path/LOAD_BREADCRUMBS",Gt)]);case 2:case"end":return e.stop()}}),Ut)}var Wt=q().mark(Kt);function Kt(){return q().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,(0,Ie.$6)([(0,Ie.rM)(Yt)]);case 2:case"end":return e.stop()}}),Wt)}const Jt=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:It,t=arguments.length>1?arguments[1]:void 0,n=Dt[t.type];return n?n(e,t):e},Qt={docs:(0,De.UY)({path:Jt,create:rt,list:st,move:jt})};var Xt=[Kt,nt,gt,Tt];function en(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}var tn=["onListParentChange","openResource","onSelectChange","onSearchFormCollapsedChange"],nn=function(e,t){return e.intl.messages[t]||t},rn=function(e,t){return(t?i.Z:a.Z)({getUserConfirmation:function(t,n){var r=e.getState(),o=nn(r,"client.common.ok"),a=nn(r,"client.common.cancel"),i=E.Z.confirm("",t,o,a,(function(){return n(!0)}),(function(){return n(!1)}));e.dispatch(i)}})},on=g().createElement(E.Z.Notifications,null),an=g().createElement(P.Z,null),cn=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=arguments.length>3?arguments[3]:void 0,o=b.Z.createStore(Qt,Xt,t,"docs-browser");t.backendUrl&&A.Z.setBackendUrl(t.backendUrl),t.businessUnit&&A.Z.setBusinessUnit(t.businessUnit),k.Z.addToStore(o,n),y.Z.addToStore(o),x.Z.addToStore(o,!0,["console","remote","notification"]);var a=!n.emitAction;E.Z.addToStore(o,a),w.Z.addToStore(o);var i=t.history||rn(o,t.memoryHistory);t.initialLocation&&i.push(t.initialLocation);var c=Array.isArray(t.rootNodes)&&1===t.rootNodes.length&&"Resource"!==t.rootNodes[0].entityName?t.rootNodes[0]:null,s=c?"/docs/".concat(c.entityName.toLowerCase(),"/").concat(c.key,"/list"):"/docs",u=g().createElement(v.F0,{history:i},a&&on,an,g().createElement(Re,{history:i}),g().createElement(v.AW,{exact:!0,path:"/"},g().createElement(v.l_,{to:s})),c&&g().createElement(v.AW,{exact:!0,path:"/docs"},g().createElement(v.l_,{to:s})));return b.Z.createApp("docs-browser",u,o,{input:t,events:n,actions:Te(t),publicPath:r,textResourceModules:["component","common","actions","entity-list","entity-detail","docs-browser"]})},sn=function(e){var t=b.Z.useApp({initApp:cn,props:e,packageName:"docs-browser",externalEvents:tn}),n=t.component,r=t.store,o=C.Z.usePrevious(e);return C.Z.useDidUpdate((function(){var t=f()(e,(function(e,t){return!l()(e,o[t])}));s()(t)||Te(t).forEach((function(e){r.dispatch(e)}))}),[e]),n};sn.propTypes=function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?en(Object(n),!0).forEach((function(t){o()(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):en(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}({history:h().object,navigationStrategy:h().object,domainTypes:h().arrayOf(h().string),rootNodes:h().arrayOf(h().shape({entityName:h().string,key:h().string})),initialLocation:h().string,listLimit:h().number,documentDetailFormName:h().string,searchFormType:_.b,selectionStyle:S.l,scrollBehaviour:O.az,getListFormName:h().func,memoryHistory:h().bool,disableViewPersistor:h().bool,getCustomLocation:h().func,businessUnit:h().string,searchFormCollapsed:h().bool,backendUrl:h().string},tn.reduce((function(e,t){return e[t]=h().func,e}),{}));const un=sn},30023:(e,t,n)=>{n.d(t,{qh:()=>r,uI:()=>o,FV:()=>a,F$:()=>i,j2:()=>c,w6:()=>s,p0:()=>u,xv:()=>l});var r="docs/move/INITIALIZE",o="docs/move/MOVE_ELEMENTS",a="docs/move/SET_WAITING",i="docs/move/CLOSE",c=function(e,t,n){return{type:r,payload:{selection:e,onSuccess:t,onError:n}}},s=function(e,t){return{type:o,payload:{target:e,selected:t}}},u=function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return{type:a,payload:{isWaiting:e}}},l=function(){return{type:i}}},1662:(e,t,n)=>{n.d(t,{Z:()=>a});var r=/^\/docs\/doc\/(\d+)\/detail$/,o=/^\/docs\/(domain|folder)\/(\d+)\/list$/;const a=function(e){return function(e){var t=r.exec(e);return t&&t.length>=2?{model:"Resource",key:t[1]}:null}(e)||function(e){var t=o.exec(e);return t&&t.length>=3?{model:t[1].charAt(0).toUpperCase()+t[1].slice(1),key:t[2]}:null}(e)}},47241:(e,t,n)=>{n.r(t),n.d(t,{default:()=>ge});var r=n(87753),o=n.n(r),a=n(80034),i=n.n(a),c=n(34112),s=n.n(c),u=(n(49885),n(65459)),l=n(79715),d=n(72318),f=n(36456),p=n(66938),h=n(16904),m=n(30566),g=n(28867),v=n(67120),y=n.n(v),b=n(1024),w=n.n(b),x=n(29163),k=(n(33130),n(79658),n(28600),n(61755),n(86560),n(92037),n(95817),n(51213),n(7707),n(35795),n(61268)),E=n.n(k),_=n(69891),S=n.n(_),P=n(49047),O=n.n(P),C=n(81130),A=n.n(C),R=(n(2469),n(71662)),L=n.n(R),Z=n(53960),T=n.n(Z),j=n(19497),F=n.n(j),D=n(292),I=n.n(D),N=n(91040);function M(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=A()(e);if(t){var o=A()(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return O()(this,n)}}var B=["==","!=","<=",">=","<",">","~="],U=["true","false","null"],H=["string","long","serial","bool","boolean","double","float","time","timestamp","char","varchar","date","datetime"],z=["now_date","yesterday_date","tomorrow_date","today_date","now_start","yesterday_start","tomorrow_start","today_start","now","yesterday","tomorrow","today","currentUsername","currentUser","currentBu"],$=["in","dateadd","datetimeadd","duedate","birthdayin","fulltext","likeall","distance","inboundingbox"],q=function(e){S()(n,e);var t=M(n);function n(){var e;E()(this,n),e=t.call(this);var r=[{token:"keyword.operator.conjunction",regex:/(\s*)(and|or|not)($|\s+)/,caseInsensitive:!0},{token:"support.class.relation",regex:/rel/,push:"model"},{token:"keyword.exists",regex:/exists\s*/,push:"exists",caseInsensitive:!0},{token:"keyword.count",regex:/count\s*/,push:"count",caseInsensitive:!0},{token:["keyword.function.nice_function","paren.lparen.function_arguments","text.function_arguments","paren.rparen","text.whitespace"],regex:"((?:".concat($.join("|"),")\\s*)(\\()(.*?)(\\))($|\\s+)"),caseInsensitive:!0},{token:"keyword.other.chaining",regex:/\./},{token:"support.function.field",regex:/([a-z_]+)($|\s+)/,push:"comparison"}],o={start:[{token:"keyword.find",regex:/find($|\s+)/,push:"model",caseInsensitive:!0},{token:"keyword.where",regex:/where($|\s+)/,next:"rootwhere",caseInsensitive:!0}],model:[{token:"support.class.model",regex:/[A-Z][a-z_0-9]*\s*/,next:"pop"}],rootwhere:[{token:"keyword.order_by",regex:/order by($|\s+)/,next:"order",caseInsensitive:!0}].concat(r),comparison:[{token:"keyword.operator.comparison",regex:"(".concat(B.join("|"),")\\s*"),next:"value"}],value:[{token:"string",regex:/".*?"\s*/,next:"pop"},{token:"constant.numeric",regex:/[0-9]+(.[0-9]+)?\s*/,next:"pop"},{token:"constant.language.tocco_placeholder",regex:"\\:(".concat(z.join("|"),")\\s*"),next:"pop",caseInsensitive:!0},{token:"constant.language",regex:"(".concat(U.join("|"),")\\s*"),next:"pop",caseInsensitive:!0},{token:"support.type",regex:"(".concat(H.join("|"),"):\\s*"),caseInsensitive:!0}],exists:[{token:"paren.lparen",regex:/\(\s*/},{token:"support.class.relation",regex:/rel/,push:"model"},{token:"keyword.other.chaining",regex:/\./},{token:"keyword.where",regex:/where($|\s+)/,next:"existswhere",caseInsensitive:!0},{token:"paren.rparen",regex:/\)\s*/,next:"pop"}],existswhere:[].concat(r,[{token:"paren.rparen",regex:/\)\s*/,next:"pop"}]),count:[{token:"paren.lparen",regex:/\(\s*/},{token:"support.class.relation",regex:/rel/,push:"model"},{token:"keyword.other.chaining",regex:/\./},{token:"keyword.where",regex:/where($|\s+)/,next:"countwhere",caseInsensitive:!0},{token:"paren.rparen",regex:/\)\s*/,next:"comparison"}],countwhere:[].concat(r,[{token:"paren.rparen",regex:/\)\s*/,next:"comparison"}]),order:[{token:"support.class.relation",regex:/rel/,push:"model"},{token:"keyword.other.chaining",regex:/\./},{token:["support.function.field","keyword.direction","separator"],regex:/([a-z_]+\s*)(asc|desc)?($|,|\s+)/}]};return e.$rules=T()(e.$rules,o,(function(e,t){return L()(e)?e.concat(t):void 0})),e.normalizeRules(),e}return n}(s().require("ace/mode/text_highlight_rules").TextHighlightRules),G=function(e){S()(n,e);var t=M(n);function n(){var e;return E()(this,n),(e=t.call(this)).HighlightRules=q,e.completer=ce(),e.snippedIdField=null,e}return n}(s().require("ace/mode/text").Mode),V=s().require("ace/token_iterator").TokenIterator,Y=function(e){return e?e.type.substring(e.type.lastIndexOf(".")+1):null},W=function(e,t){return Y(e.getCurrentToken())===t},K=function(e){if(W(e,"model")&&e.stepBackward(),(W(e,"field")||W(e,"relation"))&&e.stepBackward(),!W(e,"chaining"))return null;if(e.stepBackward(),W(e,"model")){var t=e.getCurrentToken();return e.stepBackward(),e.stepBackward(),t?t.value.trim():null}return null},J=function(e,t){for(;!W(e,t);)if(!e.stepBackward())return!1;return!0},Q=function(e,t){return W(e,"rparen")?1:t>0&&W(e,"lparen")?(e.stepBackward(),-1):0},X=function(e){for(var t=0;e.getCurrentToken();){if(0===t&&W(e,"where")){var n=e.stepBackward();return n?[n.value.trim()].concat(I()(te(e))):[]}if(W(e,"order_by")){J(e,"find");var r=e.stepForward();return r?r.value.trim():[]}if(t+=Q(e,t),!e.stepBackward())return null}return null},ee=function(e,t){for(var n=[],r=t(e);r;)Array.isArray(r)?r.forEach((function(e){return n.unshift(e)})):n.unshift(r),r=t(e);return n},te=function(e){return ee(e,K)},ne=function(e){return N.Z.executeRequest("rest/".concat(e))},re=function(e){return 200===e.status?e.json():null},oe=function(e,t){var n,r=(n=e(),ee(n,X)),o=F()(r),a=o[0],i=o.slice(1);if(a){var c=te(e()),s=[].concat(I()(i),I()(c)).map((function(e){return"rel".concat(e)}));(function(e){var t=F()(e),n=t[0],r=t.slice(1);return ne(function(e,t){var n=t.length>0?"/resolve?path="+t.join("."):"";return"entities/".concat(e,"/model").concat(n)}(n,r)).then(re).then((function(e){if(!e)return[];var t=e.fields||[],n=e.relations||[];return[].concat(I()(t.map((function(e){return{label:"".concat(e.fieldName," (").concat(e.type,")"),value:e.fieldName,type:"field"}}))),I()(n.map((function(e){return{label:(t=e,t.relationName.substring(3)!==t.targetEntity?"".concat(t.relationName," (").concat(t.targetEntity,")"):t.relationName),value:e.relationName,type:"relation"};var t}))))}))})([a].concat(I()(s))).then((function(e){var n=e.map((function(e){return{caption:e.label,value:e.value,meta:e.type,score:1e3}}));t(null,n)})).catch((function(e){return t(e)}))}},ae=function(e){return ne("entities").then(re).then((function(e){return e?e.entities:{}})).then((function(e){return e?Object.keys(e):[]})).then((function(t){var n=t.map((function(e){return{caption:e,value:e,meta:"model",score:1e3}}));e(null,n)})).catch((function(t){return e(t)}))},ie=function(){return $.map((function(e){return e.toUpperCase()})).map((function(e){return{caption:e,value:"".concat(e,"()"),meta:"function",score:970}}))};const ce=function(){return{getCompletions:function(e,t,n,r,o){var a=function(){return new V(t,n.row,n.column)},i=a(),c=i.getCurrentToken(),s=i.stepBackward()?i.getCurrentToken():null;switch(Y(c)){case"chaining":case"relation":case"separator":case"order_by":case"count":case"exists":case"field":case"function_arguments":oe(a,o);break;case"where":case"conjunction":oe(a,o),o(null,ie());break;case"nice_function":o(null,ie());break;case"find":ae(o);break;case"type":case"tocco_placeholder":case"comparison":o(null,H.map((function(e){return{caption:e,value:"".concat(e,":"),meta:"type",score:980}}))),o(null,z.map((function(e){return{caption:e,value:":".concat(e),meta:"placeholder",score:990}})));break;case"model":oe(a,o),s&&"relation"!==Y(s)&&ae(o)}}}};function se(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=A()(e);if(t){var o=A()(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return O()(this,n)}}var ue=function(e){S()(n,e);var t=se(n);function n(){var e;E()(this,n);return(e=t.call(this)).$rules={start:[{token:"constant.character.entity",regex:/&[^;]+;/},{token:"support.function",regex:"\\?(\\?|substring|cap_first|uncap_first|capitalize|chop_linebreak|date|time|datetime|ends_with|html|groups|index_of|j_string|js_string|json_string|last_index_of|length|lower_case|left_pad|right_pad|contains|matches|number|replace|rtf|url|split|starts_with|string|trim|upper_case|word_list|xhtml|xmlc|round|floor|ceilingiso_[a-z_]+first|last|seq_contains|seq_index_of|seq_last_index_of|reverse|size|sort|sort_by|chunkkeys|valueschildren|parent|root|ancestors|node_name|node_type|node_namespacebyte|double|float|int|long|short|number_to_date|number_to_time|number_to_datetime|eval|has_content|interpret|is_[a-z_]+|namespacenew)"},{token:"support.function.deprecated",regex:"\\?(default|exists|if_exists|web_safe)"},{token:"language.variable",regex:"\\.(?:data_model|error|globals|lang|locale|locals|main|namespace|node|current_node|now|output_encoding|template_name|url_escaping_charset|vars|version)"},{token:"constant.language",regex:"\\b(true|false)\\b"},{token:"keyword.operator",regex:"\\b(?:gt|gte|lt|lte|as|in|using)\\b"},{token:"entity.other.attribute-name",regex:"encoding|parse|locale|number_format|date_format|time_format|datetime_format|time_zone|url_escaping_charset|classic_compatible|strip_whitespace|strip_text|strict_syntax|ns_prefixes|attributes"},{token:"string",regex:/['"]/,next:"qstring"},{token:function(e){return e.match("^[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?$")?"constant.numeric":"variable"},regex:/[\w.+-]+/},{token:"keyword.operator",regex:"!|\\.|\\$|%|&|\\*|\\-\\-|\\-|\\+\\+|\\+|~|===|==|=|!=|!==|<=|>=|<<=|>>=|>>>=|<>|<|>|&&|\\|\\||\\?\\:|\\*=|%=|\\+=|\\-=|&=|\\^="},{token:"paren.lparen",regex:"[[({]"},{token:"paren.rparen",regex:"[\\])}]"},{token:"text",regex:"\\s+"}],qstring:[{token:"constant.character.escape",regex:'\\\\[nrtvef\\\\"$]'},{token:"string",regex:/['"]/,next:"start"},{defaultToken:"string"}]},e}return n}(s().require("ace/mode/text_highlight_rules").TextHighlightRules),le=function(e){S()(n,e);var t=se(n);function n(){var e;E()(this,n),e=t.call(this);var r=["query","queryCount"],o=[{token:"keyword.function",regex:"\\[@(".concat(r.join("|"),").*?]"),push:"tql-start"},{token:"comment",regex:"\\[#--",next:"ftl-dcomment"},{token:"string.interpolated",regex:"\\${",push:"ftl-start"},{token:"keyword.function",regex:"\\[/?#(assign|attempt|break|case|compress|default|elseif|else|escape|fallback|function|flush|ftl|global|if|import|include|list|local|lt|macro|nested|noescape|noparse|nt|recover|recurse|return|rt|setting|stop|switch|t|visit)",push:"ftl-start"},{token:"keyword.other",regex:"\\[/?@[a-zA-Z\\.]+",push:"ftl-start"}];for(var a in e.$rules)e.$rules[a].unshift.apply(e.$rules[a],o);e.embedRules(ue,"ftl-",[{token:"keyword",regex:"/?\\]",next:"pop"},{token:"string.interpolated",regex:"}",next:"pop"}],["start"]),e.addRules({"ftl-dcomment":[{token:"comment",regex:"--\\]",next:"pop"},{defaultToken:"comment"}]});var i=[{token:"keyword.function",regex:"\\[/@(".concat(r.join("|"),")]"),next:"pop"}];e.embedRules(q,"tql-",i,["start"]);var c={"tql-rootwhere":[{token:"keyword.function",regex:"\\[/@(".concat(r.join("|"),")]"),next:"pop"}],"tql-order":[{token:"keyword.function",regex:"\\[/@(".concat(r.join("|"),")]"),next:"pop"}]};return e.$rules=T()(e.$rules,c,(function(e,t){return L()(e)?e.concat(t):void 0})),e.normalizeRules(),e}return n}(s().require("ace/mode/html_highlight_rules").HtmlHighlightRules),de=function(e){S()(n,e);var t=se(n);function n(){var e;return E()(this,n),(e=t.call(this)).HighlightRules=le,e.completer=ce(),e}return n}(s().require("ace/mode/ftl").Mode);function fe(){var e=i()(["\n width: 100%;\n z-index: 0; /* gutter lays over menu otherwise */\n"]);return fe=function(){return e},e}var pe=x.ZP.div(fe()),he={groovy:new l.Mode,html:new d.Mode,xml:new g.Mode,properties:new h.Mode,json:new f.Mode,htmlmixed:new de,freemarkermixed:new de,ftl:new de,tql:new G,less:new p.Mode,drools:new u.Mode,text:new m.Mode},me=function(e,t){var n=t.mode,r=t.theme,a=t.showGutter,i=t.editorOptions,c=void 0===i?{}:i;e.getSession().setMode(function(e){return y()(he,e,e)}(n)),e.setTheme("ace/theme/".concat(r)),Object.entries(c).forEach((function(t){var n=o()(t,2),r=n[0],a=n[1];e.setOption(r,a)})),e.renderer.setShowGutter(a),e.resize()};const ge=function(e){var t=e.mode,n=e.theme,r=void 0===n?"textmate":n,o=e.value,a=e.onChange,i=e.showGutter,c=void 0===i||i,u=e.editorOptions,l=void 0===u?{}:u,d=(0,b.useRef)(null),f=(0,b.useRef)(null);return(0,b.useEffect)((function(){var t=s().edit(d.current);return t.getSession().setValue(o||""),t.on("change",(function(){return a(t.getValue())})),me(t,e),f.current=t,function(){return t.destroy()}}),[]),(0,b.useEffect)((function(){f.current&&me(f.current,e)}),[t,r,c,l]),w().createElement(pe,{ref:d})}},67092:(e,t)=>{t.__esModule=!0;t.canUseDOM=!("undefined"==typeof window||!window.document||!window.document.createElement),t.addEventListener=function(e,t,n){return e.addEventListener?e.addEventListener(t,n,!1):e.attachEvent("on"+t,n)},t.removeEventListener=function(e,t,n){return e.removeEventListener?e.removeEventListener(t,n,!1):e.detachEvent("on"+t,n)},t.getConfirmation=function(e,t){return t(window.confirm(e))},t.supportsHistory=function(){var e=window.navigator.userAgent;return(-1===e.indexOf("Android 2.")&&-1===e.indexOf("Android 4.0")||-1===e.indexOf("Mobile Safari")||-1!==e.indexOf("Chrome")||-1!==e.indexOf("Windows Phone"))&&(window.history&&"pushState"in window.history)},t.supportsPopStateOnHashChange=function(){return-1===window.navigator.userAgent.indexOf("Trident")},t.supportsGoWithoutReloadUsingHash=function(){return-1===window.navigator.userAgent.indexOf("Firefox")},t.isExtraneousPopstateEvent=function(e){return void 0===e.state&&-1===navigator.userAgent.indexOf("CriOS")}},88536:(e,t,n)=>{t.__esModule=!0,t.locationsAreEqual=t.createLocation=void 0;var r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},o=c(n(14149)),a=c(n(54545)),i=n(3074);function c(e){return e&&e.__esModule?e:{default:e}}t.createLocation=function(e,t,n,a){var c=void 0;"string"==typeof e?(c=(0,i.parsePath)(e)).state=t:(void 0===(c=r({},e)).pathname&&(c.pathname=""),c.search?"?"!==c.search.charAt(0)&&(c.search="?"+c.search):c.search="",c.hash?"#"!==c.hash.charAt(0)&&(c.hash="#"+c.hash):c.hash="",void 0!==t&&void 0===c.state&&(c.state=t));try{c.pathname=decodeURI(c.pathname)}catch(e){throw e instanceof URIError?new URIError('Pathname "'+c.pathname+'" could not be decoded. This is likely caused by an invalid percent-encoding.'):e}return n&&(c.key=n),a?c.pathname?"/"!==c.pathname.charAt(0)&&(c.pathname=(0,o.default)(c.pathname,a.pathname)):c.pathname=a.pathname:c.pathname||(c.pathname="/"),c},t.locationsAreEqual=function(e,t){return e.pathname===t.pathname&&e.search===t.search&&e.hash===t.hash&&e.key===t.key&&(0,a.default)(e.state,t.state)}},3074:(e,t)=>{t.__esModule=!0;t.addLeadingSlash=function(e){return"/"===e.charAt(0)?e:"/"+e},t.stripLeadingSlash=function(e){return"/"===e.charAt(0)?e.substr(1):e};var n=t.hasBasename=function(e,t){return new RegExp("^"+t+"(\\/|\\?|#|$)","i").test(e)};t.stripBasename=function(e,t){return n(e,t)?e.substr(t.length):e},t.stripTrailingSlash=function(e){return"/"===e.charAt(e.length-1)?e.slice(0,-1):e},t.parsePath=function(e){var t=e||"/",n="",r="",o=t.indexOf("#");-1!==o&&(r=t.substr(o),t=t.substr(0,o));var a=t.indexOf("?");return-1!==a&&(n=t.substr(a),t=t.substr(0,a)),{pathname:t,search:"?"===n?"":n,hash:"#"===r?"":r}},t.createPath=function(e){var t=e.pathname,n=e.search,r=e.hash,o=t||"/";return n&&"?"!==n&&(o+="?"===n.charAt(0)?n:"?"+n),r&&"#"!==r&&(o+="#"===r.charAt(0)?r:"#"+r),o}},52540:(e,t,n)=>{var r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},o=l(n(75597)),a=l(n(41143)),i=n(88536),c=n(3074),s=l(n(3405)),u=n(67092);function l(e){return e&&e.__esModule?e:{default:e}}var d={hashbang:{encodePath:function(e){return"!"===e.charAt(0)?e:"!/"+(0,c.stripLeadingSlash)(e)},decodePath:function(e){return"!"===e.charAt(0)?e.substr(1):e}},noslash:{encodePath:c.stripLeadingSlash,decodePath:c.addLeadingSlash},slash:{encodePath:c.addLeadingSlash,decodePath:c.addLeadingSlash}},f=function(){var e=window.location.href,t=e.indexOf("#");return-1===t?"":e.substring(t+1)},p=function(e){return window.location.hash=e},h=function(e){var t=window.location.href.indexOf("#");window.location.replace(window.location.href.slice(0,t>=0?t:0)+"#"+e)};t.Z=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};(0,a.default)(u.canUseDOM,"Hash history needs a DOM");var t=window.history,n=(0,u.supportsGoWithoutReloadUsingHash)(),l=e.getUserConfirmation,m=void 0===l?u.getConfirmation:l,g=e.hashType,v=void 0===g?"slash":g,y=e.basename?(0,c.stripTrailingSlash)((0,c.addLeadingSlash)(e.basename)):"",b=d[v],w=b.encodePath,x=b.decodePath,k=function(){var e=x(f());return(0,o.default)(!y||(0,c.hasBasename)(e,y),'You are attempting to use a basename on a page whose URL path does not begin with the basename. Expected path "'+e+'" to begin with "'+y+'".'),y&&(e=(0,c.stripBasename)(e,y)),(0,i.createLocation)(e)},E=(0,s.default)(),_=function(e){r(q,e),q.length=t.length,E.notifyListeners(q.location,q.action)},S=!1,P=null,O=function(){var e=f(),t=w(e);if(e!==t)h(t);else{var n=k(),r=q.location;if(!S&&(0,i.locationsAreEqual)(r,n))return;if(P===(0,c.createPath)(n))return;P=null,C(n)}},C=function(e){if(S)S=!1,_();else{E.confirmTransitionTo(e,"POP",m,(function(t){t?_({action:"POP",location:e}):A(e)}))}},A=function(e){var t=q.location,n=T.lastIndexOf((0,c.createPath)(t));-1===n&&(n=0);var r=T.lastIndexOf((0,c.createPath)(e));-1===r&&(r=0);var o=n-r;o&&(S=!0,I(o))},R=f(),L=w(R);R!==L&&h(L);var Z=k(),T=[(0,c.createPath)(Z)],j=function(e){return"#"+w(y+(0,c.createPath)(e))},F=function(e,t){(0,o.default)(void 0===t,"Hash history cannot push state; it is ignored");var n=(0,i.createLocation)(e,void 0,void 0,q.location);E.confirmTransitionTo(n,"PUSH",m,(function(e){if(e){var t=(0,c.createPath)(n),r=w(y+t);if(f()!==r){P=t,p(r);var a=T.lastIndexOf((0,c.createPath)(q.location)),i=T.slice(0,-1===a?0:a+1);i.push(t),T=i,_({action:"PUSH",location:n})}else(0,o.default)(!1,"Hash history cannot PUSH the same path; a new entry will not be added to the history stack"),_()}}))},D=function(e,t){(0,o.default)(void 0===t,"Hash history cannot replace state; it is ignored");var n=(0,i.createLocation)(e,void 0,void 0,q.location);E.confirmTransitionTo(n,"REPLACE",m,(function(e){if(e){var t=(0,c.createPath)(n),r=w(y+t);f()!==r&&(P=t,h(r));var o=T.indexOf((0,c.createPath)(q.location));-1!==o&&(T[o]=t),_({action:"REPLACE",location:n})}}))},I=function(e){(0,o.default)(n,"Hash history go(n) causes a full page reload in this browser"),t.go(e)},N=function(){return I(-1)},M=function(){return I(1)},B=0,U=function(e){1===(B+=e)?(0,u.addEventListener)(window,"hashchange",O):0===B&&(0,u.removeEventListener)(window,"hashchange",O)},H=!1,z=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=E.setPrompt(e);return H||(U(1),H=!0),function(){return H&&(H=!1,U(-1)),t()}},$=function(e){var t=E.appendListener(e);return U(1),function(){U(-1),t()}},q={length:t.length,action:"POP",location:Z,createHref:j,push:F,replace:D,go:I,goBack:N,goForward:M,block:z,listen:$};return q}},83682:(e,t,n)=>{var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},a=u(n(75597)),i=n(3074),c=n(88536),s=u(n(3405));function u(e){return e&&e.__esModule?e:{default:e}}var l=function(e,t,n){return Math.min(Math.max(e,t),n)};t.Z=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.getUserConfirmation,n=e.initialEntries,u=void 0===n?["/"]:n,d=e.initialIndex,f=void 0===d?0:d,p=e.keyLength,h=void 0===p?6:p,m=(0,s.default)(),g=function(e){o(A,e),A.length=A.entries.length,m.notifyListeners(A.location,A.action)},v=function(){return Math.random().toString(36).substr(2,h)},y=l(f,0,u.length-1),b=u.map((function(e){return"string"==typeof e?(0,c.createLocation)(e,void 0,v()):(0,c.createLocation)(e,void 0,e.key||v())})),w=i.createPath,x=function(e,n){(0,a.default)(!("object"===(void 0===e?"undefined":r(e))&&void 0!==e.state&&void 0!==n),"You should avoid providing a 2nd state argument to push when the 1st argument is a location-like object that already has state; it is ignored");var o=(0,c.createLocation)(e,n,v(),A.location);m.confirmTransitionTo(o,"PUSH",t,(function(e){if(e){var t=A.index+1,n=A.entries.slice(0);n.length>t?n.splice(t,n.length-t,o):n.push(o),g({action:"PUSH",location:o,index:t,entries:n})}}))},k=function(e,n){(0,a.default)(!("object"===(void 0===e?"undefined":r(e))&&void 0!==e.state&&void 0!==n),"You should avoid providing a 2nd state argument to replace when the 1st argument is a location-like object that already has state; it is ignored");var o=(0,c.createLocation)(e,n,v(),A.location);m.confirmTransitionTo(o,"REPLACE",t,(function(e){e&&(A.entries[A.index]=o,g({action:"REPLACE",location:o}))}))},E=function(e){var n=l(A.index+e,0,A.entries.length-1),r=A.entries[n];m.confirmTransitionTo(r,"POP",t,(function(e){e?g({action:"POP",location:r,index:n}):g()}))},_=function(){return E(-1)},S=function(){return E(1)},P=function(e){var t=A.index+e;return t>=0&&t<A.entries.length},O=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return m.setPrompt(e)},C=function(e){return m.appendListener(e)},A={length:b.length,action:"POP",location:b[y],index:y,entries:b,createHref:w,push:x,replace:k,go:E,goBack:_,goForward:S,canGo:P,block:O,listen:C};return A}},3405:(e,t,n)=>{t.__esModule=!0;var r,o=n(75597),a=(r=o)&&r.__esModule?r:{default:r};t.default=function(){var e=null,t=[];return{setPrompt:function(t){return(0,a.default)(null==e,"A history supports only one prompt at a time"),e=t,function(){e===t&&(e=null)}},confirmTransitionTo:function(t,n,r,o){if(null!=e){var i="function"==typeof e?e(t,n):e;"string"==typeof i?"function"==typeof r?r(i,o):((0,a.default)(!1,"A history needs a getUserConfirmation function in order to use a prompt message"),o(!0)):o(!1!==i)}else o(!0)},appendListener:function(e){var n=!0,r=function(){n&&e.apply(void 0,arguments)};return t.push(r),function(){n=!1,t=t.filter((function(e){return e!==r}))}},notifyListeners:function(){for(var e=arguments.length,n=Array(e),r=0;r<e;r++)n[r]=arguments[r];t.forEach((function(e){return e.apply(void 0,n)}))}}}}}]);
2
- //# sourceMappingURL=chunk-code-editor.c86cda6aae761ec82d57.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["webpack:///./packages/docs-browser/src/modules/path/actions.js","webpack:///./packages/docs-browser/src/containers/BreadcrumbsContainer.js","webpack:///./packages/docs-browser/src/utils/isRootLocation.js","webpack:///./packages/docs-browser/src/modules/list/actions.js","webpack:///./packages/docs-browser/src/components/Action/LazyAction.js","webpack:///./packages/docs-browser/src/components/FileInput/FileInput.js","webpack:///./packages/docs-browser/src/components/FileInput/FileInputContainer.js","webpack:///./packages/docs-browser/src/modules/create/actions.js","webpack:///./packages/docs-browser/src/components/DocsView/StyledComponents.js","webpack:///./packages/docs-browser/src/components/DocsView/DocsView.js","webpack:///./packages/docs-browser/src/components/DocsView/DocsViewContainer.js","webpack:///./packages/docs-browser/src/components/DocumentView/StyledComponents.js","webpack:///./packages/docs-browser/src/components/DocumentView/DocumentView.js","webpack:///./packages/docs-browser/src/components/DocumentView/DocumentViewContainer.js","webpack:///./packages/docs-browser/src/components/DocsBrowser/StyledComponents.js","webpack:///./packages/docs-browser/src/components/DocsBrowser/DocsBrowser.js","webpack:///./packages/docs-browser/src/components/DocsBrowser/DocsBrowserContainer.js","webpack:///./packages/docs-browser/src/input.js","webpack:///./packages/docs-browser/src/modules/create/reducer.js","webpack:///./packages/docs-browser/src/modules/create/sagas.js","webpack:///./packages/docs-browser/src/modules/create/index.js","webpack:///./packages/docs-browser/src/modules/list/reducer.js","webpack:///./packages/docs-browser/src/modules/list/index.js","webpack:///./packages/docs-browser/src/modules/list/sagas.js","webpack:///./packages/docs-browser/src/modules/move/reducer.js","webpack:///./packages/docs-browser/src/modules/move/sagas.js","webpack:///./packages/docs-browser/src/modules/move/index.js","webpack:///./packages/docs-browser/src/modules/path/reducer.js","webpack:///./packages/docs-browser/src/modules/path/sagas.js","webpack:///./packages/docs-browser/src/modules/path/index.js","webpack:///./packages/docs-browser/src/modules/reducers.js","webpack:///./packages/docs-browser/src/main.js","webpack:///./packages/docs-browser/src/modules/move/actions.js","webpack:///./packages/docs-browser/src/utils/getNode.js","webpack:///./packages/tocco-ui/src/CodeEditor/TqlMode.js","webpack:///./packages/tocco-ui/src/CodeEditor/TqlAutoCompleter.js","webpack:///./packages/tocco-ui/src/CodeEditor/ToccoFtlMode.js","webpack:///./packages/tocco-ui/src/CodeEditor/AceEditor.js","webpack:///./node_modules/history/DOMUtils.js","webpack:///./node_modules/history/LocationUtils.js","webpack:///./node_modules/history/PathUtils.js","webpack:///./node_modules/history/createHashHistory.js","webpack:///./node_modules/history/createMemoryHistory.js","webpack:///./node_modules/history/createTransitionManager.js"],"names":["setBreadcrumbs","breadcrumbs","type","payload","connect","state","pathPrefix","breadcrumbsInfo","docs","path","injectIntl","Breadcrumbs","ROOT_PATH_REGEX","pathname","test","actions","lazy","delete","LoadMask","props","appId","LazyAction","consoleLogger","ActionComponent","emitAction","action","actionEmitter","Suspense","fallback","instanceCount","directory","onChange","fileInput","useRef","prevInstanceCount","react","useEffect","current","click","ref","style","display","e","files","target","length","value","multiple","webkitdirectory","mapActionCreators","isDirectory","create","dialog","FileInput","StyledContentWrapper","styled","StyledIconWrapper","scale","LazyListApp","React","history","match","domainTypes","rootNodes","navigationStrategy","changeListParent","onSearchChange","openFileDialog","limit","searchFormType","selectionStyle","getCustomLocation","disableViewPersistor","getListFormName","domainDetailFormName","folderDetailFormName","showActions","scrollBehaviour","sortable","searchMode","openResource","searchFormCollapsed","changeSelection","changeSearchFormCollapsed","useReducer","x","entityListNumber","forceEntityListUpdate","entityListKey","useState","selection","setSelection","parent","useMemo","params","model","charAt","toUpperCase","slice","key","getParent","keys","map","node","entityName","formName","getFormName","mounted","searchModeRef","onSelectChange","tql","Array","isArray","join","getTql","handleUploadDocument","definition","config","onSuccess","onError","location","handleUploadDirectory","store","undefined","isRootLocation","viewPersistor","id","onRowClick","searchStore","split","Error","getDefaultLocation","push","searchFormPosition","onStoreCreate","handleStoreCreation","cellRenderers","rowData","column","cellRenderer","icon","children","filter","c","dmsEntityModel","actionAppComponent","Action","contextParams","detailFormNames","Domain","Folder","customActions","onSearchFormCollapsedChange","collapsed","input","listLimit","list","DocsView","StyledDocumentViewWrapper","theme","LazyDetailApp","entityId","mode","onEntityDeleted","lastList","reverse","find","breadcrumb","lastListUrl","documentDetailFormName","DocumentView","StyledWrapper","StyledContent","StyledScrollbar","StyledBreadcrumbs","noLeftPadding","withTheme","setSearchMode","loadBreadcrumbs","embedded","docsViewNumber","forceDocsViewUpdate","useLocation","resetSearchMode","handleSearchChange","query","hasUserChanges","backgroundColor","themeUtil","onClick","breadcrumbsItem","exact","render","DocsBrowser","getDispatchActions","actionSettings","reduce","acc","actionSetting","name","argsFactory","ACTION_HANDLERS","initialState","handleFilesSelected","createDocuments","mainSagas","dialogSelector","textResourceSelector","intl","messages","call","uuid","blockingInfoId","put","notification","select","response","status","title","message","remoteEvents","entities","body","items","item","bean","msgId","getNode","formData","FormData","file","append","f","resource","options","method","acceptedStatusCodes","rest","all","takeEvery","sagas","fork","moduleSagas","handler","reducerUtil","externalEvents","takeLatest","isWaiting","moveElements","setDone","inputSelector","move","targetEntityKey","selectedEntityKeys","selected","errorCode","validation","errors","ids","getSearchBreadcrumbs","getRootNodesParam","docsPathSelector","rootNodesSelector","url","rootnodes","queryParams","result","combineReducers","pathSagas","createSagas","listSagas","moveSagas","EXTERNAL_EVENTS","createHistory","memoryHistory","createMemoryHistory","createHashHistory","getUserConfirmation","confirmCallback","getState","okText","cancelText","dispatch","GlobalStyles","initApp","events","publicPath","appFactory","reducers","backendUrl","env","businessUnit","errorLogging","handleNotifications","cache","initialLocation","singleRootNode","startUrl","toLowerCase","content","to","textResourceModules","DocsBrowserApp","packageName","component","prevProps","changedProps","_pickBy","_isEqual","_isEmpty","forEach","propTypes","PropTypes","searchFormTypePropTypes","selectionStylePropType","scrollBehaviourPropType","event","INITIALIZE","MOVE_ELEMENTS","SET_WAITING","CLOSE","initialize","setWaiting","close","DOC_PATH_REGEX","PARENT_PATH_REGEX","docMatches","exec","getResourceNode","parentMatches","getParentNode","operators","atoms","types","placeholders","functions","TqlHighlightRules","commonWhere","token","regex","caseInsensitive","customRules","start","next","rootwhere","comparison","exists","existswhere","count","countwhere","order","$rules","_mergeWith","objValue","srcValue","_isArray","concat","normalizeRules","ace","TextHighlightRules","TqlMode","HighlightRules","completer","TqlAutoCompleter","snippedIdField","Mode","TokenIterator","getTokenType","substring","lastIndexOf","isCurrentTokenOfType","iterator","getCurrentToken","findLastPathStep","stepBackward","modelToken","trim","stepBackUntilToken","handleParentheses","parenCount","findLastModelScope","findCurrentPath","stepForward","backtrack","stepBack","steps","lastStep","step","unshift","sendRequest","endpoint","request","extractBody","json","determineAvailablePaths","createIterator","callback","baseModel","modelScope","currentPath","relationSteps","sourceModel","resolvePart","buildResolveUrl","then","fields","relations","label","fieldName","r","relation","relationName","targetEntity","resolvePath","paths","pathCompletions","caption","meta","score","loadAllAvailableModels","Object","models","modelCompletions","getAvailableFunctions","defaultScore","getCompletions","editor","session","pos","prefix","createIteratorAtCurrentPosition","row","currentToken","previousToken","placeholder","ToccoFtlLangHighlightRules","qstring","defaultToken","ToccoFtlHighlightRules","tqlDirectives","startRules","apply","embedRules","addRules","tqlEndRules","mergingRules","HtmlHighlightRules","ToccoFtlMode","StyledEditor","modeMappings","groovy","GroovyMode","html","HtmlMode","xml","XmlMode","properties","PropertiesMode","JsonMode","htmlmixed","freemarkermixed","ftl","less","LessMode","drools","DroolsMode","text","TextMode","setEditorConfiguration","showGutter","editorOptions","getSession","setMode","_get","getMode","setTheme","entries","k","v","setOption","renderer","setShowGutter","resize","containerReference","editorReference","aceEditor","setValue","on","getValue","destroy","exports","__esModule","canUseDOM","window","document","createElement","addEventListener","listener","attachEvent","removeEventListener","detachEvent","getConfirmation","confirm","supportsHistory","ua","navigator","userAgent","indexOf","supportsPopStateOnHashChange","supportsGoWithoutReloadUsingHash","isExtraneousPopstateEvent","locationsAreEqual","createLocation","_extends","assign","i","arguments","source","prototype","hasOwnProperty","_resolvePathname2","_interopRequireDefault","_valueEqual2","_PathUtils","obj","default","currentLocation","parsePath","search","hash","decodeURI","URIError","a","b","addLeadingSlash","stripLeadingSlash","substr","hasBasename","RegExp","stripBasename","stripTrailingSlash","hashIndex","searchIndex","createPath","_warning2","_invariant2","_LocationUtils","_createTransitionManager2","_DOMUtils","HashPathCoders","hashbang","encodePath","decodePath","noslash","slash","getHashPath","href","pushHashPath","replaceHashPath","replace","globalHistory","canGoWithoutReload","_props$getUserConfirm","_props$hashType","hashType","basename","_HashPathCoders$hashT","getDOMLocation","transitionManager","setState","nextState","notifyListeners","forceNextPop","ignorePath","handleHashChange","encodedPath","prevLocation","handlePop","confirmTransitionTo","ok","revertPop","fromLocation","toLocation","toIndex","allPaths","fromIndex","delta","go","createHref","prevIndex","nextPaths","n","goBack","goForward","listenerCount","checkDOMListeners","isBlocked","block","prompt","unblock","setPrompt","listen","unlisten","appendListener","_typeof","Symbol","constructor","clamp","lowerBound","upperBound","Math","min","max","_props$initialEntries","initialEntries","_props$initialIndex","initialIndex","_props$keyLength","keyLength","createKey","random","toString","index","entry","nextIndex","nextEntries","splice","canGo","_warning","listeners","nextPrompt","fn","isActive","_len","args","_key"],"mappings":"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","file":"chunk-code-editor.c86cda6aae761ec82d57.js","sourcesContent":["export const LOAD_BREADCRUMBS = 'docs/path/LOAD_BREADCRUMBS'\nexport const SET_BREADCRUMBS = 'docs/path/SET_BREADCRUMBS'\nexport const SET_SEARCH_MODE = 'docs/path/SET_SEARCH_MODE'\n\nexport const loadBreadcrumbs = location => ({\n type: LOAD_BREADCRUMBS,\n payload: {\n location\n }\n})\n\nexport const setBreadcrumbs = breadcrumbs => ({\n type: SET_BREADCRUMBS,\n payload: {\n breadcrumbs\n }\n})\n\nexport const setSearchMode = searchMode => ({\n type: SET_SEARCH_MODE,\n payload: {\n searchMode\n }\n})\n","import {injectIntl} from 'react-intl'\nimport {connect} from 'react-redux'\nimport {Breadcrumbs} from 'tocco-ui'\n\nconst mapActionCreators = {}\n\nconst mapStateToProps = state => ({\n pathPrefix: '/docs',\n breadcrumbsInfo: state.docs.path.breadcrumbs\n})\n\nexport default connect(mapStateToProps, mapActionCreators)(injectIntl(Breadcrumbs))\n","const ROOT_PATH_REGEX = /^\\/docs\\/?$/\n\nconst isRootLocation = pathname => ROOT_PATH_REGEX.test(pathname)\n\nexport default isRootLocation\n","export const CHANGE_LIST_PARENT = 'docs/list/CHANGE_LIST_PARENT'\nexport const CHANGE_SELECTION = 'docs/list/CHANGE_SELECTION'\nexport const CHANGE_SEARCH_FORM_COLLAPSED = 'docs/list/CHANGE_SEARCH_FORM_COLLAPSED'\nexport const SET_SEARCH_FORM_COLLAPSED = 'docs/list/SET_SEARCH_FORM_COLLAPSED'\nexport const SET_SCROLL_BEHAVIOUR = 'docs/list/SET_SCROLL_BEHAVIOUR'\n\nexport const changeListParent = parent => ({\n type: CHANGE_LIST_PARENT,\n payload: {\n parent\n }\n})\n\nexport const changeSelection = selection => ({\n type: CHANGE_SELECTION,\n payload: {\n selection\n }\n})\n\nexport const changeSearchFormCollapsed = collapsed => ({\n type: CHANGE_SEARCH_FORM_COLLAPSED,\n payload: {\n collapsed\n }\n})\n\nexport const setSearchFormCollapsed = searchFormCollapsed => ({\n type: SET_SEARCH_FORM_COLLAPSED,\n payload: {\n searchFormCollapsed\n }\n})\n\nexport const setScrollBehaviour = scrollBehaviour => ({\n type: SET_SCROLL_BEHAVIOUR,\n payload: {\n scrollBehaviour\n }\n})\n","import PropTypes from 'prop-types'\nimport React, {lazy, Suspense} from 'react'\nimport {connect} from 'react-redux'\nimport {actionEmitter} from 'tocco-app-extensions'\nimport {LoadMask} from 'tocco-ui'\nimport {consoleLogger} from 'tocco-util'\n\nconst actions = {\n 'dms-create-folder': lazy(() => import(/* webpackChunkName: \"docs-actions\" */ './actions/CreateFolder')),\n 'dms-create-domain': lazy(() => import(/* webpackChunkName: \"docs-actions\" */ './actions/CreateDomain')),\n 'dms-edit': lazy(() => import(/* webpackChunkName: \"docs-actions\" */ './actions/Edit')),\n 'dms-move': lazy(() => import(/* webpackChunkName: \"docs-actions\" */ './actions/MoveContainer')),\n delete: lazy(() => import(/* webpackChunkName: \"docs-actions\" */ './actions/Delete'))\n}\n\nconst renderLoader = () => <LoadMask />\n\nconst LazyAction = props => {\n const {appId} = props\n const LazyAction = actions[appId]\n\n if (!LazyAction) {\n consoleLogger.logError(`no action found with id: ${appId}`)\n return null\n }\n\n const ActionComponent = connect(null, {\n emitAction: action => actionEmitter.dispatchEmittedAction(action)\n })(LazyAction)\n\n return (\n <Suspense fallback={renderLoader()}>\n <ActionComponent {...props} />\n </Suspense>\n )\n}\n\nLazyAction.propTypes = {\n appId: PropTypes.string.isRequired\n}\n\nexport default LazyAction\n","import PropTypes from 'prop-types'\nimport React, {useRef, useEffect} from 'react'\nimport {react} from 'tocco-util'\n\nconst FileInput = ({instanceCount, directory, onChange}) => {\n const fileInput = useRef()\n\n const prevInstanceCount = react.usePrevious(instanceCount)\n\n useEffect(() => {\n if (fileInput.current && instanceCount > prevInstanceCount) {\n fileInput.current.click()\n }\n })\n\n const handleChange = e => {\n const files = e.target.files\n if (files && files.length > 0 && onChange) {\n onChange(files, directory)\n }\n e.target.value = null\n }\n\n return (\n <input\n type=\"file\"\n ref={fileInput}\n style={{display: 'none'}}\n onChange={handleChange}\n multiple\n {...(directory ? {webkitdirectory: 'true', directory: 'true'} : {})}\n />\n )\n}\n\nFileInput.propTypes = {\n instanceCount: PropTypes.number.isRequired,\n directory: PropTypes.bool,\n onChange: PropTypes.func\n}\n\nexport default FileInput\n","import {connect} from 'react-redux'\n\nimport {filesSelected} from '../../modules/create/actions'\nimport FileInput from './FileInput'\n\nconst mapActionCreators = {\n onChange: filesSelected\n}\n\nconst mapStateToProps = state => ({\n instanceCount: state.docs.create.dialog.instanceCount,\n directory: state.docs.create.dialog.directory\n})\n\nexport default connect(mapStateToProps, mapActionCreators)(FileInput)\n","export const OPEN_DIALOG = 'docs/create/OPEN_DIALOG'\nexport const FILES_SELECTED = 'docs/create/FILES_SELECTED'\n\nexport const openDialog = (location, directory, onSuccess, onError) => ({\n type: OPEN_DIALOG,\n payload: {\n location,\n directory,\n onSuccess,\n onError\n }\n})\n\nexport const filesSelected = (files, isDirectory) => ({\n type: FILES_SELECTED,\n payload: {\n files,\n isDirectory\n }\n})\n","import styled from 'styled-components'\nimport {scale} from 'tocco-ui'\n\nexport const StyledContentWrapper = styled.div`\n display: flex;\n align-items: center;\n`\n\nexport const StyledIconWrapper = styled.span`\n font-size: ${scale.font(1)};\n display: inline-block;\n margin-right: ${scale.space(-2)};\n`\n","import PropTypes from 'prop-types'\nimport React, {Suspense, useEffect, useMemo, useReducer, useRef, useState} from 'react'\nimport {searchFormTypePropTypes, selectionStylePropType} from 'tocco-entity-list/src/main'\nimport {Icon, LoadMask, scrollBehaviourPropType} from 'tocco-ui'\nimport {viewPersistor} from 'tocco-util'\n\nimport isRootLocation from '../../utils/isRootLocation'\nimport Action from '../Action'\nimport FileInput from '../FileInput'\nimport {StyledContentWrapper, StyledIconWrapper} from './StyledComponents'\n\nexport const getParent = match => {\n if (match.params && match.params.model) {\n const model = match.params.model.charAt(0).toUpperCase() + match.params.model.slice(1)\n const key = match.params.key\n const fullKey = `${model}/${key}`\n return {\n model: 'Docs_list_item',\n key: fullKey // e.g. \"Domain/118\"\n }\n }\n return null\n}\n\nexport const getTql = domainTypes =>\n Array.isArray(domainTypes) && domainTypes.length > 0\n ? `exists(relDomain_type where IN(unique_id, ${domainTypes.map(type => `\"${type}\"`).join(',')}))`\n : null\n\nexport const getFormName = (parent, keys) =>\n parent ? 'Docs_list_item' : keys ? 'Root_docs_list_item_specific' : 'Root_docs_list_item'\n\nexport const getDefaultLocation = (model, key) => {\n switch (model) {\n case 'Domain':\n return `/docs/domain/${key}/list`\n case 'Folder':\n return `/docs/folder/${key}/list`\n case 'Resource':\n return `/docs/doc/${key}/detail`\n default:\n throw new Error(`Unexpected model: ${model}`)\n }\n}\n\nconst LazyListApp = React.lazy(() => import('./LazyListApp'))\n\nconst DocsView = props => {\n const {\n history,\n match,\n domainTypes,\n rootNodes,\n navigationStrategy,\n changeListParent,\n onSearchChange,\n emitAction,\n openFileDialog,\n limit,\n searchFormType,\n selectionStyle,\n getCustomLocation,\n disableViewPersistor,\n getListFormName,\n domainDetailFormName,\n folderDetailFormName,\n showActions,\n scrollBehaviour,\n sortable,\n searchMode,\n openResource,\n searchFormCollapsed,\n changeSelection,\n changeSearchFormCollapsed\n } = props\n // eslint-disable-next-line no-unused-vars\n const [entityListNumber, forceEntityListUpdate] = useReducer(x => x + 1, 0)\n\n const entityListKey = `entity-list-${entityListNumber}`\n\n const [selection, setSelection] = useState([])\n const parent = useMemo(() => getParent(match), [match.params])\n\n const keys = !parent && rootNodes ? rootNodes.map(node => `${node.entityName}/${node.key}`) : null\n const formName = useMemo(\n () => (getListFormName ? getListFormName(parent, keys) : getFormName(parent, keys)),\n [match.params, getListFormName]\n )\n\n const mounted = useRef(false)\n const searchModeRef = useRef(searchMode)\n\n searchModeRef.current = searchMode\n\n useEffect(() => {\n mounted.current = true\n return () => (mounted.current = false)\n })\n\n useEffect(() => {\n changeListParent(parent)\n setSelection([])\n }, [parent])\n\n const onSelectChange = selection => {\n setSelection(selection)\n changeSelection(selection)\n }\n\n const handleRowClick = ({id}) => {\n onSelectChange([id])\n\n if (searchModeRef.current && isRootLocation(history.location.pathname)) {\n if (!viewPersistor.viewInfoSelector('search').store) {\n // persist search store to allow a \"go back to search\"\n const searchStore = viewPersistor.viewInfoSelector(entityListKey).store\n viewPersistor.persistViewInfo('search', {store: searchStore})\n }\n forceEntityListUpdate()\n }\n\n const [model, key] = id.split('/')\n const location = getCustomLocation ? getCustomLocation(model, key) : getDefaultLocation(model, key)\n\n if (location) {\n if (openResource && model === 'Resource') {\n openResource(location)\n } else {\n history.push(location)\n }\n }\n }\n\n const tql = !parent && !keys ? getTql(domainTypes) : null\n\n const handleUploadDocument = function* (definition, selection, parent, params, config, onSuccess, onError) {\n const directory = false\n openFileDialog(history.location.pathname, directory, onSuccess, onError)\n }\n\n const handleUploadDirectory = function* (definition, selection, parent, params, config, onSuccess, onError) {\n const directory = true\n openFileDialog(history.location.pathname, directory, onSuccess, onError)\n }\n\n const handleSearch = e => {\n if (mounted.current) {\n onSearchChange(e)\n }\n }\n\n const store = disableViewPersistor\n ? undefined\n : isRootLocation(history.location.pathname)\n ? viewPersistor.viewInfoSelector('search').store\n : null\n\n const handleStoreCreation = store => {\n if (!disableViewPersistor) {\n viewPersistor.persistViewInfo(entityListKey, {store})\n }\n return null\n }\n\n return (\n <>\n <Suspense fallback={<LoadMask />}>\n <LazyListApp\n key={entityListKey}\n id=\"documents\"\n entityName=\"Docs_list_item\"\n formName={formName}\n limit={limit || 25}\n onRowClick={handleRowClick}\n searchFormPosition=\"left\"\n searchFormType={searchFormType || 'admin'}\n parent={parent}\n onSearchChange={handleSearch}\n store={store}\n onStoreCreate={handleStoreCreation(store)}\n cellRenderers={{\n 'dms-label-with-icon': (rowData, column, cellRenderer) => (\n <StyledContentWrapper>\n <StyledIconWrapper>\n <Icon icon={rowData.icon} />\n </StyledIconWrapper>\n <span>{cellRenderer(column.children[0])}</span>\n </StyledContentWrapper>\n ),\n 'dms-actions': (rowData, column, cellRenderer) => (\n <StyledContentWrapper>\n {column.children\n .filter(c => !c.dmsEntityModel || c.dmsEntityModel === rowData.type)\n .map(c => cellRenderer(c))}\n </StyledContentWrapper>\n )\n }}\n emitAction={emitAction}\n actionAppComponent={Action}\n contextParams={{\n history,\n detailFormNames: {\n Domain: domainDetailFormName,\n Folder: folderDetailFormName\n }\n }}\n customActions={{\n 'upload-document': handleUploadDocument,\n 'upload-directory': handleUploadDirectory\n }}\n navigationStrategy={navigationStrategy}\n tql={tql}\n keys={keys}\n selectionStyle={selectionStyle || 'multi_explicit'}\n onSelectChange={onSelectChange}\n selection={selection}\n showActions={showActions}\n sortable={sortable}\n searchFormCollapsed={searchFormCollapsed}\n scrollBehaviour={scrollBehaviour}\n onSearchFormCollapsedChange={changeSearchFormCollapsed}\n />\n </Suspense>\n <FileInput />\n </>\n )\n}\n\nDocsView.propTypes = {\n match: PropTypes.object.isRequired,\n history: PropTypes.object.isRequired,\n navigationStrategy: PropTypes.object,\n domainTypes: PropTypes.arrayOf(PropTypes.string),\n rootNodes: PropTypes.arrayOf(\n PropTypes.shape({\n entityName: PropTypes.string,\n key: PropTypes.string\n })\n ),\n changeListParent: PropTypes.func.isRequired,\n onSearchChange: PropTypes.func.isRequired,\n emitAction: PropTypes.func.isRequired,\n openFileDialog: PropTypes.func.isRequired,\n limit: PropTypes.number,\n searchFormType: searchFormTypePropTypes,\n selectionStyle: selectionStylePropType,\n getCustomLocation: PropTypes.func,\n disableViewPersistor: PropTypes.bool,\n getListFormName: PropTypes.func,\n domainDetailFormName: PropTypes.string,\n folderDetailFormName: PropTypes.string,\n showActions: PropTypes.bool,\n sortable: PropTypes.bool,\n searchMode: PropTypes.bool,\n openResource: PropTypes.func,\n searchFormCollapsed: PropTypes.bool,\n scrollBehaviour: scrollBehaviourPropType,\n changeSelection: PropTypes.func.isRequired,\n changeSearchFormCollapsed: PropTypes.func.isRequired\n}\n\nexport default DocsView\n","import {injectIntl} from 'react-intl'\nimport {connect} from 'react-redux'\n\nimport {changeListParent, changeSearchFormCollapsed, changeSelection} from '../../modules/list/actions'\nimport DocsView from './DocsView'\n\nconst mapStateToProps = state => ({\n domainTypes: state.input.domainTypes,\n rootNodes: state.input.rootNodes,\n limit: state.input.listLimit,\n searchFormType: state.input.searchFormType,\n selectionStyle: state.input.selectionStyle,\n getCustomLocation: state.input.getCustomLocation,\n disableViewPersistor: state.input.disableViewPersistor,\n getListFormName: state.input.getListFormName,\n domainDetailFormName: state.input.domainDetailFormName,\n folderDetailFormName: state.input.folderDetailFormName,\n showActions: state.input.showActions,\n sortable: state.input.sortable,\n openResource: state.input.openResource,\n searchFormCollapsed: state.docs.list.searchFormCollapsed,\n scrollBehaviour: state.docs.list.scrollBehaviour\n})\n\nconst mapActionCreators = {\n changeListParent,\n changeSelection,\n changeSearchFormCollapsed\n}\n\nexport default connect(mapStateToProps, mapActionCreators)(injectIntl(DocsView))\n","import styled from 'styled-components'\nimport {theme, scale} from 'tocco-ui'\n\nexport const StyledDocumentViewWrapper = styled.div`\n height: 100%;\n background-color: ${theme.color('paper')};\n padding-left: ${scale.space(0.5)};\n overflow-y: hidden;\n`\n","import PropTypes from 'prop-types'\nimport React, {Suspense} from 'react'\nimport {LoadMask} from 'tocco-ui'\n\nimport Action from '../Action/'\nimport {StyledDocumentViewWrapper} from './StyledComponents'\n\nconst LazyDetailApp = React.lazy(() => import('./LazyDetailApp'))\n\nconst DocumentView = ({match, history, breadcrumbs, formName, navigationStrategy, emitAction}) => {\n const handleEntityDeleted = () => {\n const lastList = breadcrumbs\n .slice()\n .reverse()\n .find(breadcrumb => breadcrumb.type === 'list')\n const lastListUrl = `/docs/${lastList.path}`\n history.push(lastListUrl)\n }\n\n return (\n <StyledDocumentViewWrapper>\n <Suspense fallback={<LoadMask />}>\n <LazyDetailApp\n entityName=\"Resource\"\n entityId={match.params.key}\n formName={formName || 'DmsResource'}\n mode=\"update\"\n actionAppComponent={Action}\n navigationStrategy={navigationStrategy}\n emitAction={emitAction}\n onEntityDeleted={handleEntityDeleted}\n />\n </Suspense>\n </StyledDocumentViewWrapper>\n )\n}\n\nDocumentView.propTypes = {\n match: PropTypes.shape({\n params: PropTypes.shape({\n key: PropTypes.string.isRequired\n }).isRequired\n }).isRequired,\n history: PropTypes.shape({\n push: PropTypes.func.isRequired\n }).isRequired,\n breadcrumbs: PropTypes.arrayOf(\n PropTypes.shape({\n path: PropTypes.string.isRequired,\n type: PropTypes.string.isRequired\n })\n ).isRequired,\n formName: PropTypes.string,\n navigationStrategy: PropTypes.object,\n emitAction: PropTypes.func.isRequired\n}\n\nexport default DocumentView\n","import {injectIntl} from 'react-intl'\nimport {connect} from 'react-redux'\nimport {actionEmitter} from 'tocco-app-extensions'\n\nimport DocumentView from './DocumentView'\n\nconst mapStateToProps = state => ({\n breadcrumbs: state.docs.path.breadcrumbs,\n formName: state.input.documentDetailFormName\n})\n\nconst mapActionCreators = {\n emitAction: action => actionEmitter.dispatchEmittedAction(action)\n}\n\nexport default connect(mapStateToProps, mapActionCreators)(injectIntl(DocumentView))\n","import styled from 'styled-components'\nimport {StyledScrollbar} from 'tocco-ui'\n\nexport const StyledWrapper = styled.div`\n display: grid;\n grid-template-rows: auto 1fr;\n grid-template-areas:\n 'breadcrumbs'\n 'content';\n ${({scrollBehaviour}) => scrollBehaviour === 'inline' && 'height: 100%;'}\n width: 100%;\n`\n\nexport const StyledContent = styled.div`\n grid-area: content;\n ${({scrollBehaviour}) => scrollBehaviour === 'inline' && 'overflow-x: hidden;'}\n ${StyledScrollbar}\n`\n\nexport const StyledBreadcrumbs = styled.div`\n grid-area: breadcrumbs;\n ${({noLeftPadding}) =>\n noLeftPadding &&\n `\n > div {\n padding-left: 0;\n }\n `}\n`\n","import PropTypes from 'prop-types'\nimport React, {useEffect, useReducer, useRef} from 'react'\nimport {Route, Switch, useLocation} from 'react-router-dom'\nimport {withTheme} from 'styled-components'\nimport {scrollBehaviourPropType, theme as themeUtil} from 'tocco-ui'\nimport {viewPersistor} from 'tocco-util'\n\nimport Breadcrumbs from '../../containers/BreadcrumbsContainer'\nimport isRootLocation from '../../utils/isRootLocation'\nimport DocsView from '../DocsView'\nimport DocumentView from '../DocumentView'\nimport {StyledWrapper, StyledBreadcrumbs, StyledContent} from './StyledComponents'\n\nconst DocsBrowser = ({\n history,\n searchMode,\n navigationStrategy,\n setSearchMode,\n loadBreadcrumbs,\n emitAction,\n openFileDialog,\n theme,\n embedded,\n noLeftPadding,\n scrollBehaviour\n}) => {\n // eslint-disable-next-line no-unused-vars\n const [docsViewNumber, forceDocsViewUpdate] = useReducer(x => x + 1, 0)\n\n const location = useLocation()\n\n const searchModeRef = useRef(searchMode)\n searchModeRef.current = searchMode\n\n useEffect(() => {\n loadBreadcrumbs(location.pathname)\n })\n\n const resetSearchMode = () => {\n if (searchModeRef.current) {\n viewPersistor.clearPersistedViews()\n setSearchMode(false)\n loadBreadcrumbs(location.pathname)\n forceDocsViewUpdate()\n }\n }\n\n const handleSearchChange = e => {\n const hasUserChanges = e.query && e.query.hasUserChanges\n if (hasUserChanges) {\n setSearchMode(true)\n history.push('/docs/')\n loadBreadcrumbs(location.pathname)\n } else if (isRootLocation(history.location.pathname)) {\n resetSearchMode()\n }\n }\n\n const handleBreadcrumbsClick = breadcrumbsItem => {\n if (breadcrumbsItem.path === '') {\n resetSearchMode()\n }\n }\n\n const key = `docs-view-${docsViewNumber}`\n\n return (\n <StyledWrapper scrollBehaviour={scrollBehaviour}>\n <StyledBreadcrumbs noLeftPadding={noLeftPadding}>\n <Breadcrumbs\n {...(embedded ? {backgroundColor: themeUtil.color('paper')({theme})} : {})}\n onClick={handleBreadcrumbsClick}\n />\n </StyledBreadcrumbs>\n <StyledContent scrollBehaviour={scrollBehaviour}>\n <Switch>\n <Route\n exact\n path={'/docs/doc/:key/detail'}\n render={({match}) => (\n <DocumentView match={match} history={history} navigationStrategy={navigationStrategy} />\n )}\n />\n <Route\n exact\n path={['/docs/:model/:key/list', '/docs']}\n render={({match}) => (\n <DocsView\n key={key}\n history={history}\n match={match}\n navigationStrategy={navigationStrategy}\n onSearchChange={handleSearchChange}\n emitAction={emitAction}\n openFileDialog={openFileDialog}\n searchMode={searchMode}\n />\n )}\n />\n </Switch>\n </StyledContent>\n </StyledWrapper>\n )\n}\n\nDocsBrowser.propTypes = {\n loadBreadcrumbs: PropTypes.func.isRequired,\n setSearchMode: PropTypes.func.isRequired,\n emitAction: PropTypes.func.isRequired,\n openFileDialog: PropTypes.func.isRequired,\n history: PropTypes.object.isRequired,\n searchMode: PropTypes.bool.isRequired,\n navigationStrategy: PropTypes.object,\n embedded: PropTypes.bool,\n theme: PropTypes.object,\n noLeftPadding: PropTypes.bool,\n scrollBehaviour: scrollBehaviourPropType\n}\n\nexport default withTheme(DocsBrowser)\n","import {injectIntl} from 'react-intl'\nimport {connect} from 'react-redux'\nimport {actionEmitter} from 'tocco-app-extensions'\n\nimport {openDialog} from '../../modules/create/actions'\nimport {loadBreadcrumbs, setSearchMode} from '../../modules/path/actions'\nimport DocsBrowser from './DocsBrowser'\n\nconst mapStateToProps = state => ({\n searchMode: state.docs.path.searchMode,\n navigationStrategy: state.input.navigationStrategy,\n embedded: state.input.embedded,\n noLeftPadding: state.input.noLeftPadding,\n scrollBehaviour: state.docs.list.scrollBehaviour\n})\n\nconst mapActionCreators = {\n loadBreadcrumbs,\n setSearchMode,\n emitAction: action => actionEmitter.dispatchEmittedAction(action),\n openFileDialog: openDialog\n}\n\nexport default connect(mapStateToProps, mapActionCreators)(injectIntl(DocsBrowser))\n","import {setScrollBehaviour, setSearchFormCollapsed} from './modules/list/actions'\n\nconst isDefined = value => value !== undefined\n\nexport const getDispatchActions = input =>\n actionSettings.reduce((acc, actionSetting) => {\n if (isDefined(input[actionSetting.name])) {\n acc.push(actionSetting.action(...actionSetting.argsFactory(input)))\n }\n return acc\n }, [])\n\nconst actionSettings = [\n {\n name: 'searchFormCollapsed',\n action: setSearchFormCollapsed,\n argsFactory: input => [input.searchFormCollapsed]\n },\n {\n name: 'scrollBehaviour',\n action: setScrollBehaviour,\n argsFactory: input => [input.scrollBehaviour]\n }\n]\n","import * as actions from './actions'\n\nconst openDialog = (state, {payload: {location, directory, onSuccess, onError}}) => ({\n ...state,\n dialog: {\n instanceCount: state.dialog.instanceCount + 1,\n directory,\n location,\n onSuccess,\n onError\n }\n})\n\nconst ACTION_HANDLERS = {\n [actions.OPEN_DIALOG]: openDialog\n}\n\nconst initialState = {\n dialog: {\n instanceCount: 0,\n directory: false,\n location: null,\n onSuccess: null,\n onError: null\n }\n}\n\nexport default function reducer(state = initialState, action) {\n const handler = ACTION_HANDLERS[action.type]\n return handler ? handler(state, action) : state\n}\n","import {all, takeEvery, call, put, select} from 'redux-saga/effects'\nimport {rest, notification} from 'tocco-app-extensions'\nimport {consoleLogger} from 'tocco-util'\nimport {v4 as uuid} from 'uuid'\n\nimport getNode from '../../utils/getNode'\nimport * as actions from './actions'\n\nexport const dialogSelector = state => state.docs.create.dialog\nexport const textResourceSelector = (state, key) => state.intl.messages[key]\n\nconst CREATED_STATUS = 201\n\nexport function* handleFilesSelected({payload: {files, isDirectory}}) {\n const blockingInfoId = yield call(uuid)\n yield put(\n notification.blockingInfo(\n blockingInfoId,\n isDirectory\n ? 'client.docs-browser.uploadInProgressDirectory'\n : files.length > 1\n ? 'client.docs-browser.uploadInProgressMultiple'\n : 'client.docs-browser.uploadInProgress',\n null\n )\n )\n\n const {location, onSuccess, onError} = yield select(dialogSelector)\n\n try {\n const response = yield call(createDocuments, location, files)\n\n if (response.status === 403) {\n yield put(notification.removeBlockingInfo(blockingInfoId))\n onError({\n title: yield select(textResourceSelector, 'client.entity-detail.saveAbortedTitle'),\n message: yield select(textResourceSelector, 'client.docs-browser.failedNoPermission')\n })\n } else {\n const remoteEvents = [\n {\n type: 'entity-create-event',\n payload: {\n entities: response.body.items\n .filter(item => item.status === CREATED_STATUS)\n .map(item => ({\n entityName: item.bean.model,\n key: item.bean.key\n }))\n }\n }\n ]\n\n yield put(notification.removeBlockingInfo(blockingInfoId))\n\n const msgId = isDirectory\n ? 'client.docs-browser.uploadSuccessfulDirectory'\n : 'client.docs-browser.uploadSuccessful'\n onSuccess({\n title: yield select(textResourceSelector, msgId),\n remoteEvents\n })\n }\n } catch (e) {\n consoleLogger.logError('Failed to upload files', e)\n yield put(notification.removeBlockingInfo(blockingInfoId))\n onError({\n title: yield select(textResourceSelector, 'client.docs-browser.uploadFailed')\n })\n }\n}\n\nexport function* createDocuments(location, files) {\n const node = getNode(location)\n\n if (!node) {\n return\n }\n\n const formData = new FormData()\n for (const file of files) {\n formData.append('files', file)\n }\n\n const resource = `documents/${node.model}/${node.key}`\n const options = {\n method: 'POST',\n body: formData,\n acceptedStatusCodes: [403]\n }\n\n return yield call(rest.requestSaga, resource, options)\n}\n\nexport default function* mainSagas() {\n yield all([takeEvery(actions.FILES_SELECTED, handleFilesSelected)])\n}\n","import {fork, all} from 'redux-saga/effects'\n\nimport reducer from './reducer'\nimport moduleSagas from './sagas'\n\nexport function* sagas() {\n yield all([fork(moduleSagas)])\n}\n\nexport default reducer\n","import {reducer as reducerUtil} from 'tocco-util'\n\nimport * as actions from './actions'\n\nconst ACTION_HANDLERS = {\n [actions.SET_SEARCH_FORM_COLLAPSED]: reducerUtil.singleTransferReducer('searchFormCollapsed'),\n [actions.SET_SCROLL_BEHAVIOUR]: reducerUtil.singleTransferReducer('scrollBehaviour')\n}\n\nconst initialState = {\n searchFormCollapsed: null,\n scrollBehaviour: 'inline'\n}\n\nexport default function reducer(state = initialState, action) {\n const handler = ACTION_HANDLERS[action.type]\n return handler ? handler(state, action) : state\n}\n","import reducer from './reducer'\nimport sagas from './sagas'\n\nexport {sagas}\n\nexport default reducer\n","import {all, put, takeLatest} from 'redux-saga/effects'\nimport {externalEvents} from 'tocco-app-extensions'\n\nimport * as actions from './actions'\n\nexport function* changeListParent({payload}) {\n yield put(externalEvents.fireExternalEvent('onListParentChange', payload.parent))\n}\n\nexport function* changeSelection({payload}) {\n yield put(externalEvents.fireExternalEvent('onSelectChange', payload.selection))\n}\n\nexport function* changeSearchFormCollapsed({payload}) {\n yield put(externalEvents.fireExternalEvent('onSearchFormCollapsedChange', payload.collapsed))\n}\n\nexport default function* mainSagas() {\n yield all([\n takeLatest(actions.CHANGE_LIST_PARENT, changeListParent),\n takeLatest(actions.CHANGE_SELECTION, changeSelection),\n takeLatest(actions.CHANGE_SEARCH_FORM_COLLAPSED, changeSearchFormCollapsed)\n ])\n}\n","import {reducer as reducerUtil} from 'tocco-util'\n\nimport * as actions from './actions'\n\nconst initialize = (state, {payload: {selection, onSuccess, onError}}) => ({\n ...state,\n input: {\n selection,\n onSuccess,\n onError\n }\n})\n\nconst close = () => ({\n ...initialState\n})\n\nconst ACTION_HANDLERS = {\n [actions.INITIALIZE]: initialize,\n [actions.SET_WAITING]: reducerUtil.singleTransferReducer('isWaiting'),\n [actions.CLOSE]: close\n}\n\nconst initialState = {\n isWaiting: false,\n input: {\n selection: null,\n onSuccess: null,\n onError: null\n }\n}\n\nexport default function reducer(state = initialState, action) {\n const handler = ACTION_HANDLERS[action.type]\n return handler ? handler(state, action) : state\n}\n","import {takeLatest, all, call, put, select} from 'redux-saga/effects'\nimport {notification, rest} from 'tocco-app-extensions'\nimport {validation} from 'tocco-util'\n\nimport * as actions from './actions'\n\nexport const inputSelector = state => state.docs.move.input\nexport const textResourceSelector = (state, key) => state.intl.messages[key]\n\nexport function* moveElements({payload}) {\n const resource = 'documents/move'\n const options = {\n method: 'POST',\n acceptedStatusCodes: [400, 403],\n body: {\n targetEntityKey: payload.target,\n selectedEntityKeys: payload.selected\n }\n }\n\n yield put(actions.setWaiting(true))\n const response = yield call(rest.requestSaga, resource, options)\n\n if (response.status === 204) {\n yield call(setDone)\n } else {\n yield put(actions.setWaiting(false))\n let message = 'client.actions.dms-move.failed.message'\n if (response.body?.errorCode === 'VALIDATION_FAILED') {\n message = validation.getErrorCompact(response.body.errors)\n }\n if (response.status === 403) {\n message = 'client.docs-browser.failedNoPermission'\n }\n yield put(notification.toaster({type: 'error', title: 'client.actions.dms-move.failed.title', body: message}))\n }\n}\n\nexport function* setDone() {\n const {selection, onSuccess} = yield select(inputSelector)\n\n const remoteEvents = [\n {\n type: 'entity-update-event',\n payload: {\n entities: selection.ids.map(id => ({\n entityName: 'Docs_list_item',\n key: id\n }))\n }\n }\n ]\n\n onSuccess({\n title: yield select(textResourceSelector, 'client.docs-browser.moveSuccessful'),\n remoteEvents\n })\n\n yield put(actions.close())\n}\n\nexport default function* mainSagas() {\n yield all([takeLatest(actions.MOVE_ELEMENTS, moveElements)])\n}\n","import {fork, all} from 'redux-saga/effects'\n\nimport reducer from './reducer'\nimport moduleSagas from './sagas'\n\nexport function* sagas() {\n yield all([fork(moduleSagas)])\n}\n\nexport default reducer\n","import {reducer as reducerUtil} from 'tocco-util'\n\nimport * as actions from './actions'\n\nconst ACTION_HANDLERS = {\n [actions.SET_BREADCRUMBS]: reducerUtil.singleTransferReducer('breadcrumbs'),\n [actions.SET_SEARCH_MODE]: reducerUtil.singleTransferReducer('searchMode')\n}\n\nconst initialState = {\n breadcrumbs: [],\n searchMode: false\n}\n\nexport default function reducer(state = initialState, action) {\n const handler = ACTION_HANDLERS[action.type]\n return handler ? handler(state, action) : state\n}\n","import {takeLatest, all, call, put, select} from 'redux-saga/effects'\nimport {rest} from 'tocco-app-extensions'\n\nimport getNode from '../../utils/getNode'\nimport * as actions from './actions'\n\nexport const textResourceSelector = (state, key) => state.intl.messages[key] || key\nexport const docsPathSelector = state => state.docs.path\nexport const rootNodesSelector = state => state.input.rootNodes\n\nexport function* getSearchBreadcrumbs() {\n return [\n {\n display: yield select(textResourceSelector, 'client.docs-browser.breadcrumbs.start'),\n path: '',\n type: 'list'\n },\n {\n display: yield select(textResourceSelector, 'client.docs-browser.breadcrumbs.searchResults'),\n path: '',\n type: 'list'\n }\n ]\n}\n\nexport function* loadBreadcrumbs({payload: {location}}) {\n const node = getNode(location)\n const pathState = yield select(docsPathSelector)\n\n let breadcrumbs\n\n if (pathState.searchMode && !node) {\n breadcrumbs = yield call(getSearchBreadcrumbs)\n } else {\n const url = node ? `documents/${node.model}/${node.key}/breadcrumbs` : 'documents/breadcrumbs'\n const options = {\n queryParams: {\n rootnodes: yield call(getRootNodesParam)\n }\n }\n const result = yield call(rest.requestSaga, url, options)\n breadcrumbs = result.body.breadcrumbs\n }\n\n yield put(actions.setBreadcrumbs(breadcrumbs))\n}\n\nfunction* getRootNodesParam() {\n const rootNodes = yield select(rootNodesSelector)\n return Array.isArray(rootNodes) && rootNodes.length > 0\n ? rootNodes.map(node => `${node.entityName}/${node.key}`).join(',')\n : null\n}\n\nexport default function* mainSagas() {\n yield all([takeLatest(actions.LOAD_BREADCRUMBS, loadBreadcrumbs)])\n}\n","import {fork, all} from 'redux-saga/effects'\n\nimport reducer from './reducer'\nimport moduleSagas from './sagas'\n\nexport function* sagas() {\n yield all([fork(moduleSagas)])\n}\n\nexport default reducer\n","import {combineReducers} from 'redux'\n\nimport create, {sagas as createSagas} from './create'\nimport list, {sagas as listSagas} from './list'\nimport move, {sagas as moveSagas} from './move'\nimport path, {sagas as pathSagas} from './path'\n\nexport default {\n docs: combineReducers({path, create, list, move})\n}\n\nexport const sagas = [pathSagas, createSagas, listSagas, moveSagas]\n","import createHashHistory from 'history/createHashHistory'\nimport createMemoryHistory from 'history/createMemoryHistory'\nimport _isEmpty from 'lodash/isEmpty'\nimport _isEqual from 'lodash/isEqual'\nimport _pickBy from 'lodash/pickBy'\nimport PropTypes from 'prop-types'\nimport React from 'react'\nimport {Redirect, Route, Router as ReactRouter} from 'react-router'\nimport {actionEmitter, appFactory, cache, errorLogging, externalEvents, notification} from 'tocco-app-extensions'\nimport {searchFormTypePropTypes, selectionStylePropType} from 'tocco-entity-list/src/main'\nimport {GlobalStyles, scrollBehaviourPropType} from 'tocco-ui'\nimport {react, reducer as reducerUtil, env} from 'tocco-util'\n\nimport DocsBrowser from './components/DocsBrowser'\nimport {getDispatchActions} from './input'\nimport chooseDocument from './modules/chooseDocument'\nimport reducers, {sagas} from './modules/reducers'\n\nconst packageName = 'docs-browser'\n\nconst EXTERNAL_EVENTS = ['onListParentChange', 'openResource', 'onSelectChange', 'onSearchFormCollapsedChange']\n\nconst textResourceSelector = (state, key) => state.intl.messages[key] || key\n\nconst createHistory = (store, memoryHistory) => {\n const historyFactory = memoryHistory ? createMemoryHistory : createHashHistory\n\n return historyFactory({\n getUserConfirmation: (message, confirmCallback) => {\n const state = store.getState()\n\n const okText = textResourceSelector(state, 'client.common.ok')\n const cancelText = textResourceSelector(state, 'client.common.cancel')\n\n const action = notification.confirm(\n '',\n message,\n okText,\n cancelText,\n () => confirmCallback(true),\n () => confirmCallback(false)\n )\n store.dispatch(action)\n }\n })\n}\nconst initApp = (id, input, events = {}, publicPath) => {\n const store = appFactory.createStore(reducers, sagas, input, packageName)\n\n if (input.backendUrl) {\n env.setBackendUrl(input.backendUrl)\n }\n\n if (input.businessUnit) {\n env.setBusinessUnit(input.businessUnit)\n }\n\n externalEvents.addToStore(store, events)\n actionEmitter.addToStore(store)\n errorLogging.addToStore(store, true, ['console', 'remote', 'notification'])\n const handleNotifications = !events.emitAction\n notification.addToStore(store, handleNotifications)\n cache.addToStore(store)\n\n const history = input.history || createHistory(store, input.memoryHistory)\n\n if (input.initialLocation) {\n history.push(input.initialLocation)\n }\n\n const singleRootNode =\n Array.isArray(input.rootNodes) && input.rootNodes.length === 1 && input.rootNodes[0].entityName !== 'Resource'\n ? input.rootNodes[0]\n : null\n\n const startUrl = singleRootNode\n ? `/docs/${singleRootNode.entityName.toLowerCase()}/${singleRootNode.key}/list`\n : '/docs'\n\n const content = (\n <ReactRouter history={history}>\n {handleNotifications && <notification.Notifications />}\n <GlobalStyles />\n <DocsBrowser history={history} />\n <Route exact path=\"/\">\n <Redirect to={startUrl} />\n </Route>\n {singleRootNode && (\n <Route exact path=\"/docs\">\n <Redirect to={startUrl} />\n </Route>\n )}\n </ReactRouter>\n )\n\n return appFactory.createApp(packageName, content, store, {\n input,\n events,\n actions: getDispatchActions(input),\n publicPath,\n textResourceModules: ['component', 'common', 'actions', 'entity-list', 'entity-detail', packageName]\n })\n}\n\n;(() => {\n if (__PACKAGE_NAME__ === packageName) {\n appFactory.registerAppInRegistry(packageName, initApp)\n\n if (__DEV__) {\n const input = require('./dev/input.json')\n\n if (!__NO_MOCK__) {\n const fetchMock = require('fetch-mock').default\n fetchMock.config.overwriteRoutes = false\n const setupFetchMocks = require('./dev/fetchMocks').default\n setupFetchMocks(packageName, fetchMock)\n fetchMock.spy()\n }\n\n const app = initApp(packageName, input)\n\n if (module.hot) {\n module.hot.accept('./modules/reducers', () => {\n const reducers = require('./modules/reducers').default\n reducerUtil.hotReloadReducers(app.store, reducers)\n })\n }\n\n appFactory.renderApp(app.component)\n }\n }\n})()\n\nconst DocsBrowserApp = props => {\n const {component, store} = appFactory.useApp({initApp, props, packageName, externalEvents: EXTERNAL_EVENTS})\n\n const prevProps = react.usePrevious(props)\n react.useDidUpdate(() => {\n const changedProps = _pickBy(props, (value, key) => !_isEqual(value, prevProps[key]))\n if (!_isEmpty(changedProps)) {\n getDispatchActions(changedProps).forEach(action => {\n store.dispatch(action)\n })\n }\n }, [props])\n\n return component\n}\n\nDocsBrowserApp.propTypes = {\n history: PropTypes.object,\n navigationStrategy: PropTypes.object,\n domainTypes: PropTypes.arrayOf(PropTypes.string),\n rootNodes: PropTypes.arrayOf(\n PropTypes.shape({\n entityName: PropTypes.string,\n key: PropTypes.string\n })\n ),\n initialLocation: PropTypes.string,\n listLimit: PropTypes.number,\n documentDetailFormName: PropTypes.string,\n searchFormType: searchFormTypePropTypes,\n selectionStyle: selectionStylePropType,\n scrollBehaviour: scrollBehaviourPropType,\n getListFormName: PropTypes.func,\n memoryHistory: PropTypes.bool,\n disableViewPersistor: PropTypes.bool,\n getCustomLocation: PropTypes.func,\n businessUnit: PropTypes.string,\n searchFormCollapsed: PropTypes.bool,\n backendUrl: PropTypes.string,\n ...EXTERNAL_EVENTS.reduce((propTypes, event) => {\n propTypes[event] = PropTypes.func\n return propTypes\n }, {})\n}\n\nexport default DocsBrowserApp\nexport {chooseDocument}\n","export const INITIALIZE = 'docs/move/INITIALIZE'\nexport const INVALID_SELECTION = 'docs/move/INVALID_SELECTION'\nexport const MOVE_ELEMENTS = 'docs/move/MOVE_ELEMENTS'\nexport const SET_WAITING = 'docs/move/SET_WAITING'\nexport const SET_DONE = 'docs/move/SET_DONE'\nexport const CLOSE = 'docs/move/CLOSE'\n\nexport const initialize = (selection, onSuccess, onError) => ({\n type: INITIALIZE,\n payload: {\n selection,\n onSuccess,\n onError\n }\n})\n\nexport const invalidSelection = () => ({\n type: INVALID_SELECTION\n})\n\nexport const moveElements = (target, selected) => ({\n type: MOVE_ELEMENTS,\n payload: {\n target,\n selected\n }\n})\n\nexport const setWaiting = (isWaiting = true) => ({\n type: SET_WAITING,\n payload: {\n isWaiting\n }\n})\n\nexport const close = () => ({\n type: CLOSE\n})\n","const DOC_PATH_REGEX = /^\\/docs\\/doc\\/(\\d+)\\/detail$/\nconst PARENT_PATH_REGEX = /^\\/docs\\/(domain|folder)\\/(\\d+)\\/list$/\n\nconst getResourceNode = pathname => {\n const docMatches = DOC_PATH_REGEX.exec(pathname)\n return docMatches && docMatches.length >= 2\n ? {\n model: 'Resource',\n key: docMatches[1]\n }\n : null\n}\n\nconst getParentNode = pathname => {\n const parentMatches = PARENT_PATH_REGEX.exec(pathname)\n if (parentMatches && parentMatches.length >= 3) {\n const model = parentMatches[1].charAt(0).toUpperCase() + parentMatches[1].slice(1)\n const key = parentMatches[2]\n return {\n model,\n key\n }\n }\n return null\n}\n\nconst getNode = pathname => getResourceNode(pathname) || getParentNode(pathname)\n\nexport default getNode\n","import ace from 'ace-builds/src-min-noconflict/ace'\nimport 'ace-builds/src-min-noconflict/mode-text'\nimport _isArray from 'lodash/isArray'\nimport _mergeWith from 'lodash/mergeWith'\n\nimport TqlAutoCompleter from './TqlAutoCompleter'\n\nexport const operators = ['==', '!=', '<=', '>=', '<', '>', '~=']\nexport const atoms = ['true', 'false', 'null']\nexport const types = [\n 'string',\n 'long',\n 'serial',\n 'bool',\n 'boolean',\n 'double',\n 'float',\n 'time',\n 'timestamp',\n 'char',\n 'varchar',\n 'date',\n 'datetime'\n]\nexport const placeholders = [\n 'now_date',\n 'yesterday_date',\n 'tomorrow_date',\n 'today_date',\n 'now_start',\n 'yesterday_start',\n 'tomorrow_start',\n 'today_start',\n 'now',\n 'yesterday',\n 'tomorrow',\n 'today',\n 'currentUsername',\n 'currentUser',\n 'currentBu'\n]\nexport const functions = [\n 'in',\n 'dateadd',\n 'datetimeadd',\n 'duedate',\n 'birthdayin',\n 'fulltext',\n 'likeall',\n 'distance',\n 'inboundingbox'\n]\n\nexport class TqlHighlightRules extends ace.require('ace/mode/text_highlight_rules').TextHighlightRules {\n constructor() {\n super()\n\n const commonWhere = [\n {\n token: 'keyword.operator.conjunction',\n regex: /(\\s*)(and|or|not)($|\\s+)/,\n caseInsensitive: true\n },\n {\n token: 'support.class.relation',\n regex: /rel/,\n push: 'model'\n },\n {\n token: 'keyword.exists',\n regex: /exists\\s*/,\n push: 'exists',\n caseInsensitive: true\n },\n {\n token: 'keyword.count',\n regex: /count\\s*/,\n push: 'count',\n caseInsensitive: true\n },\n {\n token: [\n 'keyword.function.nice_function',\n 'paren.lparen.function_arguments',\n 'text.function_arguments',\n 'paren.rparen',\n 'text.whitespace'\n ],\n regex: `((?:${functions.join('|')})\\\\s*)(\\\\()(.*?)(\\\\))($|\\\\s+)`,\n caseInsensitive: true\n },\n {\n token: 'keyword.other.chaining',\n regex: /\\./\n },\n {\n token: 'support.function.field',\n regex: /([a-z_]+)($|\\s+)/,\n push: 'comparison'\n }\n ]\n\n const customRules = {\n start: [\n {\n token: 'keyword.find',\n regex: /find($|\\s+)/,\n push: 'model',\n caseInsensitive: true\n },\n {\n token: 'keyword.where',\n regex: /where($|\\s+)/,\n next: 'rootwhere',\n caseInsensitive: true\n }\n ],\n model: [\n {\n token: 'support.class.model',\n regex: /[A-Z][a-z_0-9]*\\s*/,\n next: 'pop'\n }\n ],\n rootwhere: [\n {\n token: 'keyword.order_by',\n regex: /order by($|\\s+)/,\n next: 'order',\n caseInsensitive: true\n },\n ...commonWhere\n ],\n comparison: [\n {\n token: 'keyword.operator.comparison',\n regex: `(${operators.join('|')})\\\\s*`,\n next: 'value'\n }\n ],\n value: [\n {\n token: 'string',\n regex: /\".*?\"\\s*/,\n next: 'pop'\n },\n {\n token: 'constant.numeric',\n regex: /[0-9]+(.[0-9]+)?\\s*/,\n next: 'pop'\n },\n {\n token: 'constant.language.tocco_placeholder',\n regex: `\\\\:(${placeholders.join('|')})\\\\s*`,\n next: 'pop',\n caseInsensitive: true\n },\n {\n token: 'constant.language',\n regex: `(${atoms.join('|')})\\\\s*`,\n next: 'pop',\n caseInsensitive: true\n },\n {\n token: 'support.type',\n regex: `(${types.join('|')}):\\\\s*`,\n caseInsensitive: true\n }\n ],\n exists: [\n {\n token: 'paren.lparen',\n regex: /\\(\\s*/\n },\n {\n token: 'support.class.relation',\n regex: /rel/,\n push: 'model'\n },\n {\n token: 'keyword.other.chaining',\n regex: /\\./\n },\n {\n token: 'keyword.where',\n regex: /where($|\\s+)/,\n next: 'existswhere',\n caseInsensitive: true\n },\n {\n token: 'paren.rparen',\n regex: /\\)\\s*/,\n next: 'pop'\n }\n ],\n existswhere: [\n ...commonWhere,\n {\n token: 'paren.rparen',\n regex: /\\)\\s*/,\n next: 'pop'\n }\n ],\n count: [\n {\n token: 'paren.lparen',\n regex: /\\(\\s*/\n },\n {\n token: 'support.class.relation',\n regex: /rel/,\n push: 'model'\n },\n {\n token: 'keyword.other.chaining',\n regex: /\\./\n },\n {\n token: 'keyword.where',\n regex: /where($|\\s+)/,\n next: 'countwhere',\n caseInsensitive: true\n },\n {\n token: 'paren.rparen',\n regex: /\\)\\s*/,\n next: 'comparison'\n }\n ],\n countwhere: [\n ...commonWhere,\n {\n token: 'paren.rparen',\n regex: /\\)\\s*/,\n next: 'comparison'\n }\n ],\n order: [\n {\n token: 'support.class.relation',\n regex: /rel/,\n push: 'model'\n },\n {\n token: 'keyword.other.chaining',\n regex: /\\./\n },\n {\n token: ['support.function.field', 'keyword.direction', 'separator'],\n regex: /([a-z_]+\\s*)(asc|desc)?($|,|\\s+)/\n }\n ]\n }\n this.$rules = _mergeWith(this.$rules, customRules, (objValue, srcValue) =>\n _isArray(objValue) ? objValue.concat(srcValue) : undefined\n )\n\n this.normalizeRules()\n }\n}\n\nexport default class TqlMode extends ace.require('ace/mode/text').Mode {\n constructor() {\n super()\n this.HighlightRules = TqlHighlightRules\n this.completer = TqlAutoCompleter()\n this.snippedIdField = null // TODO implement? TOCDEV-4499\n }\n}\n","import ace from 'ace-builds/src-min-noconflict/ace'\nimport {request} from 'tocco-util'\n\nimport {functions, placeholders, types} from './TqlMode'\n\nconst TokenIterator = ace.require('ace/token_iterator').TokenIterator\nconst getTokenType = token => (token ? token.type.substring(token.type.lastIndexOf('.') + 1) : null)\n\nconst isCurrentTokenOfType = (iterator, type) => getTokenType(iterator.getCurrentToken()) === type\n\nconst findLastPathStep = iterator => {\n if (isCurrentTokenOfType(iterator, 'model')) {\n iterator.stepBackward()\n }\n if (isCurrentTokenOfType(iterator, 'field') || isCurrentTokenOfType(iterator, 'relation')) {\n iterator.stepBackward()\n }\n if (isCurrentTokenOfType(iterator, 'chaining')) {\n iterator.stepBackward()\n } else {\n return null\n }\n\n if (isCurrentTokenOfType(iterator, 'model')) {\n const modelToken = iterator.getCurrentToken()\n iterator.stepBackward()\n iterator.stepBackward()\n return modelToken ? modelToken.value.trim() : null\n } else {\n return null\n }\n}\n\nconst stepBackUntilToken = (iterator, type) => {\n while (!isCurrentTokenOfType(iterator, type)) {\n if (!iterator.stepBackward()) {\n return false\n }\n }\n return true\n}\n\nconst handleParentheses = (iterator, parenCount) => {\n if (isCurrentTokenOfType(iterator, 'rparen')) {\n return 1\n } else if (parenCount > 0 && isCurrentTokenOfType(iterator, 'lparen')) {\n iterator.stepBackward()\n return -1\n } else {\n return 0\n }\n}\n\nconst findLastModelScope = iterator => {\n let parenCount = 0\n while (iterator.getCurrentToken()) {\n if (parenCount === 0 && isCurrentTokenOfType(iterator, 'where')) {\n const modelToken = iterator.stepBackward()\n return modelToken ? [modelToken.value.trim(), ...findCurrentPath(iterator)] : []\n }\n if (isCurrentTokenOfType(iterator, 'order_by')) {\n stepBackUntilToken(iterator, 'find')\n const modelToken = iterator.stepForward()\n return modelToken ? modelToken.value.trim() : []\n }\n parenCount += handleParentheses(iterator, parenCount)\n if (!iterator.stepBackward()) {\n return null\n }\n }\n return null\n}\n\nconst backtrack = (iterator, stepBack) => {\n const steps = []\n let lastStep = stepBack(iterator)\n while (lastStep) {\n if (Array.isArray(lastStep)) {\n lastStep.forEach(step => steps.unshift(step))\n } else {\n steps.unshift(lastStep)\n }\n lastStep = stepBack(iterator)\n }\n return steps\n}\n\nexport const findCurrentPath = iterator => backtrack(iterator, findLastPathStep)\nexport const findCurrentModelScope = iterator => backtrack(iterator, findLastModelScope)\n\n/**\n * built-in language completions use 1000000, which also seems to just be some magic number\n * keyword and local completions seem to be somewhere around 100 based on some experiments with ordering\n **/\nconst defaultScore = 1000\n\nconst sendRequest = endpoint => request.executeRequest(`rest/${endpoint}`)\n\nconst extractBody = response => (response.status === 200 ? response.json() : null)\n\nconst loadModels = () =>\n sendRequest('entities')\n .then(extractBody)\n .then(body => (body ? body.entities : {}))\n .then(entities => (entities ? Object.keys(entities) : []))\n\nconst buildRelationLabel = relation =>\n relation.relationName.substring(3) !== relation.targetEntity\n ? `${relation.relationName} (${relation.targetEntity})`\n : relation.relationName\n\nconst buildResolveUrl = (sourceModel, relationSteps) => {\n const resolvePart = relationSteps.length > 0 ? '/resolve?path=' + relationSteps.join('.') : ''\n return `entities/${sourceModel}/model${resolvePart}`\n}\n\nconst resolvePath = ([sourceModel, ...relationSteps]) =>\n sendRequest(buildResolveUrl(sourceModel, relationSteps))\n .then(extractBody)\n .then(body => {\n if (!body) {\n return []\n }\n const fields = body.fields || []\n const relations = body.relations || []\n return [\n ...fields.map(f => ({\n label: `${f.fieldName} (${f.type})`,\n value: f.fieldName,\n type: 'field'\n })),\n ...relations.map(r => ({\n label: buildRelationLabel(r),\n value: r.relationName,\n type: 'relation'\n }))\n ]\n })\n\nconst determineAvailablePaths = (createIterator, callback) => {\n const [baseModel, ...modelScope] = findCurrentModelScope(createIterator())\n if (!baseModel) {\n return\n }\n const currentPath = findCurrentPath(createIterator())\n const relationSteps = [...modelScope, ...currentPath].map(model => `rel${model}`)\n const fullPath = [baseModel, ...relationSteps]\n resolvePath(fullPath)\n .then(paths => {\n const pathCompletions = paths.map(path => ({\n caption: path.label,\n value: path.value,\n meta: path.type,\n score: defaultScore\n }))\n callback(null, pathCompletions)\n })\n .catch(errors => callback(errors))\n}\n\nconst loadAllAvailableModels = callback =>\n loadModels()\n .then(models => {\n const modelCompletions = models.map(model => ({\n caption: model,\n value: model,\n meta: 'model',\n score: defaultScore\n }))\n callback(null, modelCompletions)\n })\n .catch(errors => callback(errors))\n\nconst getAvailableFunctions = () =>\n functions\n .map(f => f.toUpperCase())\n .map(f => ({\n caption: f,\n value: `${f}()`,\n meta: 'function',\n score: defaultScore - 30\n }))\n\nconst getAvailableTypes = () =>\n types.map(type => ({\n caption: type,\n value: `${type}:`,\n meta: 'type',\n score: defaultScore - 20\n }))\n\nconst getAvailablePlaceholders = () =>\n placeholders.map(placeholder => ({\n caption: placeholder,\n value: `:${placeholder}`,\n meta: 'placeholder',\n score: defaultScore - 10\n }))\n\nexport default () => ({\n getCompletions: (editor, session, pos, prefix, callback) => {\n const createIteratorAtCurrentPosition = () => new TokenIterator(session, pos.row, pos.column)\n\n const iterator = createIteratorAtCurrentPosition()\n const currentToken = iterator.getCurrentToken()\n const previousToken = iterator.stepBackward() ? iterator.getCurrentToken() : null\n switch (getTokenType(currentToken)) {\n case 'chaining':\n case 'relation':\n case 'separator':\n case 'order_by':\n case 'count':\n case 'exists':\n case 'field':\n case 'function_arguments':\n determineAvailablePaths(createIteratorAtCurrentPosition, callback)\n break\n case 'where':\n case 'conjunction':\n determineAvailablePaths(createIteratorAtCurrentPosition, callback)\n callback(null, getAvailableFunctions())\n break\n case 'nice_function':\n callback(null, getAvailableFunctions())\n break\n case 'find':\n loadAllAvailableModels(callback)\n break\n case 'type':\n case 'tocco_placeholder':\n case 'comparison':\n callback(null, getAvailableTypes())\n callback(null, getAvailablePlaceholders())\n break\n case 'model':\n determineAvailablePaths(createIteratorAtCurrentPosition, callback)\n if (previousToken && getTokenType(previousToken) !== 'relation') {\n loadAllAvailableModels(callback)\n }\n break\n }\n }\n})\n","import ace from 'ace-builds/src-min-noconflict/ace'\nimport 'ace-builds/src-min-noconflict/mode-ftl'\nimport 'ace-builds/src-min-noconflict/mode-text'\nimport 'ace-builds/src-min-noconflict/mode-html'\nimport _isArray from 'lodash/isArray'\nimport _mergeWith from 'lodash/mergeWith'\n\nimport TqlAutoCompleter from './TqlAutoCompleter'\nimport {TqlHighlightRules} from './TqlMode'\n\n/** this is a copy from https://github.com/ajaxorg/ace/blob/master/lib/ace/mode/ftl_highlight_rules.js but with angled\n * brackets replaced with square brackets as described in\n * https://freemarker.apache.org/docs/dgui_misc_alternativesyntax.html\n *\n * TODO add auto-complete? only for tocco functions? TOCDEV-4496\n * TODO implement possibility to switch between the two and open PR with ACE repository? TOCDEV-4495\n **/\nclass ToccoFtlLangHighlightRules extends ace.require('ace/mode/text_highlight_rules').TextHighlightRules {\n constructor() {\n super()\n\n const stringBuiltIns =\n '\\\\?|substring|cap_first|uncap_first|capitalize|chop_linebreak|date|time|datetime|' +\n 'ends_with|html|groups|index_of|j_string|js_string|json_string|last_index_of|length|lower_case|' +\n 'left_pad|right_pad|contains|matches|number|replace|rtf|url|split|starts_with|string|trim|' +\n 'upper_case|word_list|xhtml|xml'\n const numberBuiltIns = 'c|round|floor|ceiling'\n const dateBuiltIns = 'iso_[a-z_]+'\n const seqBuiltIns = 'first|last|seq_contains|seq_index_of|seq_last_index_of|reverse|size|sort|sort_by|chunk'\n const hashBuiltIns = 'keys|values'\n const xmlBuiltIns = 'children|parent|root|ancestors|node_name|node_type|node_namespace'\n const expertBuiltIns =\n 'byte|double|float|int|long|short|number_to_date|number_to_time|number_to_datetime|' +\n 'eval|has_content|interpret|is_[a-z_]+|namespacenew'\n const allBuiltIns =\n stringBuiltIns + numberBuiltIns + dateBuiltIns + seqBuiltIns + hashBuiltIns + xmlBuiltIns + expertBuiltIns\n\n const deprecatedBuiltIns = 'default|exists|if_exists|web_safe'\n\n const variables =\n 'data_model|error|globals|lang|locale|locals|main|namespace|node|current_node|' +\n 'now|output_encoding|template_name|url_escaping_charset|vars|version'\n\n const operators = 'gt|gte|lt|lte|as|in|using'\n\n const reserved = 'true|false'\n\n const attributes =\n 'encoding|parse|locale|number_format|date_format|time_format|datetime_format|time_zone|' +\n 'url_escaping_charset|classic_compatible|strip_whitespace|strip_text|strict_syntax|ns_prefixes|' +\n 'attributes'\n\n this.$rules = {\n start: [\n {\n token: 'constant.character.entity',\n regex: /&[^;]+;/\n },\n {\n token: 'support.function',\n regex: '\\\\?(' + allBuiltIns + ')'\n },\n {\n token: 'support.function.deprecated',\n regex: '\\\\?(' + deprecatedBuiltIns + ')'\n },\n {\n token: 'language.variable',\n regex: '\\\\.(?:' + variables + ')'\n },\n {\n token: 'constant.language',\n regex: '\\\\b(' + reserved + ')\\\\b'\n },\n {\n token: 'keyword.operator',\n regex: '\\\\b(?:' + operators + ')\\\\b'\n },\n {\n token: 'entity.other.attribute-name',\n regex: attributes\n },\n {\n token: 'string', //\n regex: /['\"]/,\n next: 'qstring'\n },\n {\n // Deal with variable names that contains number\n // e.g. <#if var42 == 42 >\n token: function (value) {\n if (value.match('^[+-]?\\\\d+(?:(?:\\\\.\\\\d*)?(?:[eE][+-]?\\\\d+)?)?$')) {\n return 'constant.numeric'\n } else {\n return 'variable'\n }\n },\n regex: /[\\w.+-]+/\n },\n {\n token: 'keyword.operator',\n regex:\n '!|\\\\.|\\\\$|%|&|\\\\*|\\\\-\\\\-|\\\\-|\\\\+\\\\+|\\\\+|~|===|==|=|!=|!==|<=|>=|<<=|>>=|>>>=|<>|<|>|&&|\\\\|\\\\||\\\\?\\\\:' +\n '|\\\\*=|%=|\\\\+=|\\\\-=|&=|\\\\^='\n },\n {\n token: 'paren.lparen',\n regex: '[[({]'\n },\n {\n token: 'paren.rparen',\n regex: '[\\\\])}]'\n },\n {\n token: 'text',\n regex: '\\\\s+'\n }\n ],\n\n qstring: [\n {\n token: 'constant.character.escape',\n regex: '\\\\\\\\[nrtvef\\\\\\\\\"$]'\n },\n {\n token: 'string',\n regex: /['\"]/,\n next: 'start'\n },\n {\n defaultToken: 'string'\n }\n ]\n }\n }\n}\n\nexport class ToccoFtlHighlightRules extends ace.require('ace/mode/html_highlight_rules').HtmlHighlightRules {\n constructor() {\n super()\n\n const directives =\n 'assign|attempt|break|case|compress|default|elseif|else|escape|fallback|function|flush|' +\n 'ftl|global|if|import|include|list|local|lt|macro|nested|noescape|noparse|nt|recover|recurse|return|rt|' +\n 'setting|stop|switch|t|visit'\n\n const tqlDirectives = ['query', 'queryCount']\n\n const startRules = [\n {\n token: 'keyword.function',\n regex: `\\\\[@(${tqlDirectives.join('|')}).*?]`,\n push: 'tql-start'\n },\n {\n token: 'comment',\n regex: '\\\\[#--',\n next: 'ftl-dcomment'\n },\n {\n token: 'string.interpolated',\n regex: '\\\\${',\n push: 'ftl-start'\n },\n {\n token: 'keyword.function',\n regex: '\\\\[/?#(' + directives + ')',\n push: 'ftl-start'\n },\n {\n token: 'keyword.other',\n regex: '\\\\[/?@[a-zA-Z\\\\.]+',\n push: 'ftl-start'\n }\n ]\n\n const endRules = [\n {\n token: 'keyword',\n regex: '/?\\\\]',\n next: 'pop'\n },\n {\n token: 'string.interpolated',\n regex: '}',\n next: 'pop'\n }\n ]\n\n for (const key in this.$rules) {\n this.$rules[key].unshift.apply(this.$rules[key], startRules)\n }\n\n this.embedRules(ToccoFtlLangHighlightRules, 'ftl-', endRules, ['start'])\n\n this.addRules({\n 'ftl-dcomment': [\n {\n token: 'comment',\n regex: '--\\\\]',\n next: 'pop'\n },\n {\n defaultToken: 'comment'\n }\n ]\n })\n\n const tqlEndRules = [\n {\n token: 'keyword.function',\n regex: `\\\\[/@(${tqlDirectives.join('|')})]`,\n next: 'pop'\n }\n ]\n\n this.embedRules(TqlHighlightRules, 'tql-', tqlEndRules, ['start'])\n\n const mergingRules = {\n 'tql-rootwhere': [\n {\n token: 'keyword.function',\n regex: `\\\\[/@(${tqlDirectives.join('|')})]`,\n next: 'pop'\n }\n ],\n 'tql-order': [\n {\n token: 'keyword.function',\n regex: `\\\\[/@(${tqlDirectives.join('|')})]`,\n next: 'pop'\n }\n ]\n }\n this.$rules = _mergeWith(this.$rules, mergingRules, (objValue, srcValue) =>\n _isArray(objValue) ? objValue.concat(srcValue) : undefined\n )\n\n this.normalizeRules()\n }\n}\n\nexport default class ToccoFtlMode extends ace.require('ace/mode/ftl').Mode {\n constructor() {\n super()\n this.HighlightRules = ToccoFtlHighlightRules\n this.completer = TqlAutoCompleter()\n }\n}\n","import ace from 'ace-builds/src-min-noconflict/ace'\nimport 'ace-builds/webpack-resolver'\nimport {Mode as DroolsMode} from 'ace-builds/src-min-noconflict/mode-drools'\nimport {Mode as GroovyMode} from 'ace-builds/src-min-noconflict/mode-groovy'\nimport {Mode as HtmlMode} from 'ace-builds/src-min-noconflict/mode-html'\nimport {Mode as JsonMode} from 'ace-builds/src-min-noconflict/mode-json'\nimport {Mode as LessMode} from 'ace-builds/src-min-noconflict/mode-less'\nimport {Mode as PropertiesMode} from 'ace-builds/src-min-noconflict/mode-properties'\nimport {Mode as TextMode} from 'ace-builds/src-min-noconflict/mode-text'\nimport {Mode as XmlMode} from 'ace-builds/src-min-noconflict/mode-xml'\nimport _get from 'lodash/get'\nimport React, {useEffect, useRef} from 'react'\nimport styled from 'styled-components'\n\nimport AceEditorPropTypes from './AceEditorPropTypes'\nimport 'ace-builds/src-min-noconflict/snippets/ftl'\nimport 'ace-builds/src-min-noconflict/snippets/groovy'\nimport 'ace-builds/src-min-noconflict/snippets/html'\nimport 'ace-builds/src-min-noconflict/snippets/less'\nimport 'ace-builds/src-min-noconflict/snippets/xml'\nimport 'ace-builds/src-min-noconflict/snippets/properties'\nimport 'ace-builds/src-min-noconflict/snippets/json'\nimport 'ace-builds/src-min-noconflict/snippets/drools'\nimport 'ace-builds/src-min-noconflict/theme-textmate'\nimport 'ace-builds/src-min-noconflict/ext-language_tools'\nimport ToccoFtlMode from './ToccoFtlMode'\nimport TqlMode from './TqlMode'\n\nconst StyledEditor = styled.div`\n width: 100%;\n z-index: 0; /* gutter lays over menu otherwise */\n`\n\nconst modeMappings = {\n groovy: new GroovyMode(),\n html: new HtmlMode(),\n xml: new XmlMode(),\n properties: new PropertiesMode(),\n json: new JsonMode(),\n htmlmixed: new ToccoFtlMode(),\n freemarkermixed: new ToccoFtlMode(),\n ftl: new ToccoFtlMode(),\n tql: new TqlMode(),\n less: new LessMode(),\n drools: new DroolsMode(),\n text: new TextMode()\n}\n\nconst getMode = mode => _get(modeMappings, mode, mode)\n\nconst setEditorConfiguration = (editor, {mode, theme, showGutter, editorOptions = {}}) => {\n editor.getSession().setMode(getMode(mode))\n editor.setTheme(`ace/theme/${theme}`)\n Object.entries(editorOptions).forEach(([k, v]) => {\n editor.setOption(k, v)\n })\n editor.renderer.setShowGutter(showGutter)\n editor.resize()\n}\n\nconst AceEditor = props => {\n const {mode, theme = 'textmate', value, onChange, showGutter = true, editorOptions = {}} = props\n const containerReference = useRef(null)\n const editorReference = useRef(null)\n\n useEffect(() => {\n const aceEditor = ace.edit(containerReference.current)\n aceEditor.getSession().setValue(value || '')\n aceEditor.on('change', () => onChange(aceEditor.getValue()))\n setEditorConfiguration(aceEditor, props)\n editorReference.current = aceEditor\n\n return () => aceEditor.destroy()\n }, [])\n useEffect(() => {\n if (editorReference.current) {\n setEditorConfiguration(editorReference.current, props)\n }\n }, [mode, theme, showGutter, editorOptions])\n return <StyledEditor ref={containerReference} />\n}\n\nAceEditor.propTypes = AceEditorPropTypes\n\nexport default AceEditor\n","'use strict';\n\nexports.__esModule = true;\nvar canUseDOM = exports.canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\n\nvar addEventListener = exports.addEventListener = function addEventListener(node, event, listener) {\n return node.addEventListener ? node.addEventListener(event, listener, false) : node.attachEvent('on' + event, listener);\n};\n\nvar removeEventListener = exports.removeEventListener = function removeEventListener(node, event, listener) {\n return node.removeEventListener ? node.removeEventListener(event, listener, false) : node.detachEvent('on' + event, listener);\n};\n\nvar getConfirmation = exports.getConfirmation = function getConfirmation(message, callback) {\n return callback(window.confirm(message));\n}; // eslint-disable-line no-alert\n\n/**\n * Returns true if the HTML5 history API is supported. Taken from Modernizr.\n *\n * https://github.com/Modernizr/Modernizr/blob/master/LICENSE\n * https://github.com/Modernizr/Modernizr/blob/master/feature-detects/history.js\n * changed to avoid false negatives for Windows Phones: https://github.com/reactjs/react-router/issues/586\n */\nvar supportsHistory = exports.supportsHistory = function supportsHistory() {\n var ua = window.navigator.userAgent;\n\n if ((ua.indexOf('Android 2.') !== -1 || ua.indexOf('Android 4.0') !== -1) && ua.indexOf('Mobile Safari') !== -1 && ua.indexOf('Chrome') === -1 && ua.indexOf('Windows Phone') === -1) return false;\n\n return window.history && 'pushState' in window.history;\n};\n\n/**\n * Returns true if browser fires popstate on hash change.\n * IE10 and IE11 do not.\n */\nvar supportsPopStateOnHashChange = exports.supportsPopStateOnHashChange = function supportsPopStateOnHashChange() {\n return window.navigator.userAgent.indexOf('Trident') === -1;\n};\n\n/**\n * Returns false if using go(n) with hash history causes a full page reload.\n */\nvar supportsGoWithoutReloadUsingHash = exports.supportsGoWithoutReloadUsingHash = function supportsGoWithoutReloadUsingHash() {\n return window.navigator.userAgent.indexOf('Firefox') === -1;\n};\n\n/**\n * Returns true if a given popstate event is an extraneous WebKit event.\n * Accounts for the fact that Chrome on iOS fires real popstate events\n * containing undefined state when pressing the back button.\n */\nvar isExtraneousPopstateEvent = exports.isExtraneousPopstateEvent = function isExtraneousPopstateEvent(event) {\n return event.state === undefined && navigator.userAgent.indexOf('CriOS') === -1;\n};","'use strict';\n\nexports.__esModule = true;\nexports.locationsAreEqual = exports.createLocation = undefined;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _resolvePathname = require('resolve-pathname');\n\nvar _resolvePathname2 = _interopRequireDefault(_resolvePathname);\n\nvar _valueEqual = require('value-equal');\n\nvar _valueEqual2 = _interopRequireDefault(_valueEqual);\n\nvar _PathUtils = require('./PathUtils');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar createLocation = exports.createLocation = function createLocation(path, state, key, currentLocation) {\n var location = void 0;\n if (typeof path === 'string') {\n // Two-arg form: push(path, state)\n location = (0, _PathUtils.parsePath)(path);\n location.state = state;\n } else {\n // One-arg form: push(location)\n location = _extends({}, path);\n\n if (location.pathname === undefined) location.pathname = '';\n\n if (location.search) {\n if (location.search.charAt(0) !== '?') location.search = '?' + location.search;\n } else {\n location.search = '';\n }\n\n if (location.hash) {\n if (location.hash.charAt(0) !== '#') location.hash = '#' + location.hash;\n } else {\n location.hash = '';\n }\n\n if (state !== undefined && location.state === undefined) location.state = state;\n }\n\n try {\n location.pathname = decodeURI(location.pathname);\n } catch (e) {\n if (e instanceof URIError) {\n throw new URIError('Pathname \"' + location.pathname + '\" could not be decoded. ' + 'This is likely caused by an invalid percent-encoding.');\n } else {\n throw e;\n }\n }\n\n if (key) location.key = key;\n\n if (currentLocation) {\n // Resolve incomplete/relative pathname relative to current location.\n if (!location.pathname) {\n location.pathname = currentLocation.pathname;\n } else if (location.pathname.charAt(0) !== '/') {\n location.pathname = (0, _resolvePathname2.default)(location.pathname, currentLocation.pathname);\n }\n } else {\n // When there is no prior location and pathname is empty, set it to /\n if (!location.pathname) {\n location.pathname = '/';\n }\n }\n\n return location;\n};\n\nvar locationsAreEqual = exports.locationsAreEqual = function locationsAreEqual(a, b) {\n return a.pathname === b.pathname && a.search === b.search && a.hash === b.hash && a.key === b.key && (0, _valueEqual2.default)(a.state, b.state);\n};","'use strict';\n\nexports.__esModule = true;\nvar addLeadingSlash = exports.addLeadingSlash = function addLeadingSlash(path) {\n return path.charAt(0) === '/' ? path : '/' + path;\n};\n\nvar stripLeadingSlash = exports.stripLeadingSlash = function stripLeadingSlash(path) {\n return path.charAt(0) === '/' ? path.substr(1) : path;\n};\n\nvar hasBasename = exports.hasBasename = function hasBasename(path, prefix) {\n return new RegExp('^' + prefix + '(\\\\/|\\\\?|#|$)', 'i').test(path);\n};\n\nvar stripBasename = exports.stripBasename = function stripBasename(path, prefix) {\n return hasBasename(path, prefix) ? path.substr(prefix.length) : path;\n};\n\nvar stripTrailingSlash = exports.stripTrailingSlash = function stripTrailingSlash(path) {\n return path.charAt(path.length - 1) === '/' ? path.slice(0, -1) : path;\n};\n\nvar parsePath = exports.parsePath = function parsePath(path) {\n var pathname = path || '/';\n var search = '';\n var hash = '';\n\n var hashIndex = pathname.indexOf('#');\n if (hashIndex !== -1) {\n hash = pathname.substr(hashIndex);\n pathname = pathname.substr(0, hashIndex);\n }\n\n var searchIndex = pathname.indexOf('?');\n if (searchIndex !== -1) {\n search = pathname.substr(searchIndex);\n pathname = pathname.substr(0, searchIndex);\n }\n\n return {\n pathname: pathname,\n search: search === '?' ? '' : search,\n hash: hash === '#' ? '' : hash\n };\n};\n\nvar createPath = exports.createPath = function createPath(location) {\n var pathname = location.pathname,\n search = location.search,\n hash = location.hash;\n\n\n var path = pathname || '/';\n\n if (search && search !== '?') path += search.charAt(0) === '?' ? search : '?' + search;\n\n if (hash && hash !== '#') path += hash.charAt(0) === '#' ? hash : '#' + hash;\n\n return path;\n};","'use strict';\n\nexports.__esModule = true;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _warning = require('warning');\n\nvar _warning2 = _interopRequireDefault(_warning);\n\nvar _invariant = require('invariant');\n\nvar _invariant2 = _interopRequireDefault(_invariant);\n\nvar _LocationUtils = require('./LocationUtils');\n\nvar _PathUtils = require('./PathUtils');\n\nvar _createTransitionManager = require('./createTransitionManager');\n\nvar _createTransitionManager2 = _interopRequireDefault(_createTransitionManager);\n\nvar _DOMUtils = require('./DOMUtils');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar HashChangeEvent = 'hashchange';\n\nvar HashPathCoders = {\n hashbang: {\n encodePath: function encodePath(path) {\n return path.charAt(0) === '!' ? path : '!/' + (0, _PathUtils.stripLeadingSlash)(path);\n },\n decodePath: function decodePath(path) {\n return path.charAt(0) === '!' ? path.substr(1) : path;\n }\n },\n noslash: {\n encodePath: _PathUtils.stripLeadingSlash,\n decodePath: _PathUtils.addLeadingSlash\n },\n slash: {\n encodePath: _PathUtils.addLeadingSlash,\n decodePath: _PathUtils.addLeadingSlash\n }\n};\n\nvar getHashPath = function getHashPath() {\n // We can't use window.location.hash here because it's not\n // consistent across browsers - Firefox will pre-decode it!\n var href = window.location.href;\n var hashIndex = href.indexOf('#');\n return hashIndex === -1 ? '' : href.substring(hashIndex + 1);\n};\n\nvar pushHashPath = function pushHashPath(path) {\n return window.location.hash = path;\n};\n\nvar replaceHashPath = function replaceHashPath(path) {\n var hashIndex = window.location.href.indexOf('#');\n\n window.location.replace(window.location.href.slice(0, hashIndex >= 0 ? hashIndex : 0) + '#' + path);\n};\n\nvar createHashHistory = function createHashHistory() {\n var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n (0, _invariant2.default)(_DOMUtils.canUseDOM, 'Hash history needs a DOM');\n\n var globalHistory = window.history;\n var canGoWithoutReload = (0, _DOMUtils.supportsGoWithoutReloadUsingHash)();\n\n var _props$getUserConfirm = props.getUserConfirmation,\n getUserConfirmation = _props$getUserConfirm === undefined ? _DOMUtils.getConfirmation : _props$getUserConfirm,\n _props$hashType = props.hashType,\n hashType = _props$hashType === undefined ? 'slash' : _props$hashType;\n\n var basename = props.basename ? (0, _PathUtils.stripTrailingSlash)((0, _PathUtils.addLeadingSlash)(props.basename)) : '';\n\n var _HashPathCoders$hashT = HashPathCoders[hashType],\n encodePath = _HashPathCoders$hashT.encodePath,\n decodePath = _HashPathCoders$hashT.decodePath;\n\n\n var getDOMLocation = function getDOMLocation() {\n var path = decodePath(getHashPath());\n\n (0, _warning2.default)(!basename || (0, _PathUtils.hasBasename)(path, basename), 'You are attempting to use a basename on a page whose URL path does not begin ' + 'with the basename. Expected path \"' + path + '\" to begin with \"' + basename + '\".');\n\n if (basename) path = (0, _PathUtils.stripBasename)(path, basename);\n\n return (0, _LocationUtils.createLocation)(path);\n };\n\n var transitionManager = (0, _createTransitionManager2.default)();\n\n var setState = function setState(nextState) {\n _extends(history, nextState);\n\n history.length = globalHistory.length;\n\n transitionManager.notifyListeners(history.location, history.action);\n };\n\n var forceNextPop = false;\n var ignorePath = null;\n\n var handleHashChange = function handleHashChange() {\n var path = getHashPath();\n var encodedPath = encodePath(path);\n\n if (path !== encodedPath) {\n // Ensure we always have a properly-encoded hash.\n replaceHashPath(encodedPath);\n } else {\n var location = getDOMLocation();\n var prevLocation = history.location;\n\n if (!forceNextPop && (0, _LocationUtils.locationsAreEqual)(prevLocation, location)) return; // A hashchange doesn't always == location change.\n\n if (ignorePath === (0, _PathUtils.createPath)(location)) return; // Ignore this change; we already setState in push/replace.\n\n ignorePath = null;\n\n handlePop(location);\n }\n };\n\n var handlePop = function handlePop(location) {\n if (forceNextPop) {\n forceNextPop = false;\n setState();\n } else {\n var action = 'POP';\n\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (ok) {\n setState({ action: action, location: location });\n } else {\n revertPop(location);\n }\n });\n }\n };\n\n var revertPop = function revertPop(fromLocation) {\n var toLocation = history.location;\n\n // TODO: We could probably make this more reliable by\n // keeping a list of paths we've seen in sessionStorage.\n // Instead, we just default to 0 for paths we don't know.\n\n var toIndex = allPaths.lastIndexOf((0, _PathUtils.createPath)(toLocation));\n\n if (toIndex === -1) toIndex = 0;\n\n var fromIndex = allPaths.lastIndexOf((0, _PathUtils.createPath)(fromLocation));\n\n if (fromIndex === -1) fromIndex = 0;\n\n var delta = toIndex - fromIndex;\n\n if (delta) {\n forceNextPop = true;\n go(delta);\n }\n };\n\n // Ensure the hash is encoded properly before doing anything else.\n var path = getHashPath();\n var encodedPath = encodePath(path);\n\n if (path !== encodedPath) replaceHashPath(encodedPath);\n\n var initialLocation = getDOMLocation();\n var allPaths = [(0, _PathUtils.createPath)(initialLocation)];\n\n // Public interface\n\n var createHref = function createHref(location) {\n return '#' + encodePath(basename + (0, _PathUtils.createPath)(location));\n };\n\n var push = function push(path, state) {\n (0, _warning2.default)(state === undefined, 'Hash history cannot push state; it is ignored');\n\n var action = 'PUSH';\n var location = (0, _LocationUtils.createLocation)(path, undefined, undefined, history.location);\n\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n\n var path = (0, _PathUtils.createPath)(location);\n var encodedPath = encodePath(basename + path);\n var hashChanged = getHashPath() !== encodedPath;\n\n if (hashChanged) {\n // We cannot tell if a hashchange was caused by a PUSH, so we'd\n // rather setState here and ignore the hashchange. The caveat here\n // is that other hash histories in the page will consider it a POP.\n ignorePath = path;\n pushHashPath(encodedPath);\n\n var prevIndex = allPaths.lastIndexOf((0, _PathUtils.createPath)(history.location));\n var nextPaths = allPaths.slice(0, prevIndex === -1 ? 0 : prevIndex + 1);\n\n nextPaths.push(path);\n allPaths = nextPaths;\n\n setState({ action: action, location: location });\n } else {\n (0, _warning2.default)(false, 'Hash history cannot PUSH the same path; a new entry will not be added to the history stack');\n\n setState();\n }\n });\n };\n\n var replace = function replace(path, state) {\n (0, _warning2.default)(state === undefined, 'Hash history cannot replace state; it is ignored');\n\n var action = 'REPLACE';\n var location = (0, _LocationUtils.createLocation)(path, undefined, undefined, history.location);\n\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n\n var path = (0, _PathUtils.createPath)(location);\n var encodedPath = encodePath(basename + path);\n var hashChanged = getHashPath() !== encodedPath;\n\n if (hashChanged) {\n // We cannot tell if a hashchange was caused by a REPLACE, so we'd\n // rather setState here and ignore the hashchange. The caveat here\n // is that other hash histories in the page will consider it a POP.\n ignorePath = path;\n replaceHashPath(encodedPath);\n }\n\n var prevIndex = allPaths.indexOf((0, _PathUtils.createPath)(history.location));\n\n if (prevIndex !== -1) allPaths[prevIndex] = path;\n\n setState({ action: action, location: location });\n });\n };\n\n var go = function go(n) {\n (0, _warning2.default)(canGoWithoutReload, 'Hash history go(n) causes a full page reload in this browser');\n\n globalHistory.go(n);\n };\n\n var goBack = function goBack() {\n return go(-1);\n };\n\n var goForward = function goForward() {\n return go(1);\n };\n\n var listenerCount = 0;\n\n var checkDOMListeners = function checkDOMListeners(delta) {\n listenerCount += delta;\n\n if (listenerCount === 1) {\n (0, _DOMUtils.addEventListener)(window, HashChangeEvent, handleHashChange);\n } else if (listenerCount === 0) {\n (0, _DOMUtils.removeEventListener)(window, HashChangeEvent, handleHashChange);\n }\n };\n\n var isBlocked = false;\n\n var block = function block() {\n var prompt = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n var unblock = transitionManager.setPrompt(prompt);\n\n if (!isBlocked) {\n checkDOMListeners(1);\n isBlocked = true;\n }\n\n return function () {\n if (isBlocked) {\n isBlocked = false;\n checkDOMListeners(-1);\n }\n\n return unblock();\n };\n };\n\n var listen = function listen(listener) {\n var unlisten = transitionManager.appendListener(listener);\n checkDOMListeners(1);\n\n return function () {\n checkDOMListeners(-1);\n unlisten();\n };\n };\n\n var history = {\n length: globalHistory.length,\n action: 'POP',\n location: initialLocation,\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n goBack: goBack,\n goForward: goForward,\n block: block,\n listen: listen\n };\n\n return history;\n};\n\nexports.default = createHashHistory;","'use strict';\n\nexports.__esModule = true;\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _warning = require('warning');\n\nvar _warning2 = _interopRequireDefault(_warning);\n\nvar _PathUtils = require('./PathUtils');\n\nvar _LocationUtils = require('./LocationUtils');\n\nvar _createTransitionManager = require('./createTransitionManager');\n\nvar _createTransitionManager2 = _interopRequireDefault(_createTransitionManager);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar clamp = function clamp(n, lowerBound, upperBound) {\n return Math.min(Math.max(n, lowerBound), upperBound);\n};\n\n/**\n * Creates a history object that stores locations in memory.\n */\nvar createMemoryHistory = function createMemoryHistory() {\n var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var getUserConfirmation = props.getUserConfirmation,\n _props$initialEntries = props.initialEntries,\n initialEntries = _props$initialEntries === undefined ? ['/'] : _props$initialEntries,\n _props$initialIndex = props.initialIndex,\n initialIndex = _props$initialIndex === undefined ? 0 : _props$initialIndex,\n _props$keyLength = props.keyLength,\n keyLength = _props$keyLength === undefined ? 6 : _props$keyLength;\n\n\n var transitionManager = (0, _createTransitionManager2.default)();\n\n var setState = function setState(nextState) {\n _extends(history, nextState);\n\n history.length = history.entries.length;\n\n transitionManager.notifyListeners(history.location, history.action);\n };\n\n var createKey = function createKey() {\n return Math.random().toString(36).substr(2, keyLength);\n };\n\n var index = clamp(initialIndex, 0, initialEntries.length - 1);\n var entries = initialEntries.map(function (entry) {\n return typeof entry === 'string' ? (0, _LocationUtils.createLocation)(entry, undefined, createKey()) : (0, _LocationUtils.createLocation)(entry, undefined, entry.key || createKey());\n });\n\n // Public interface\n\n var createHref = _PathUtils.createPath;\n\n var push = function push(path, state) {\n (0, _warning2.default)(!((typeof path === 'undefined' ? 'undefined' : _typeof(path)) === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to push when the 1st ' + 'argument is a location-like object that already has state; it is ignored');\n\n var action = 'PUSH';\n var location = (0, _LocationUtils.createLocation)(path, state, createKey(), history.location);\n\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n\n var prevIndex = history.index;\n var nextIndex = prevIndex + 1;\n\n var nextEntries = history.entries.slice(0);\n if (nextEntries.length > nextIndex) {\n nextEntries.splice(nextIndex, nextEntries.length - nextIndex, location);\n } else {\n nextEntries.push(location);\n }\n\n setState({\n action: action,\n location: location,\n index: nextIndex,\n entries: nextEntries\n });\n });\n };\n\n var replace = function replace(path, state) {\n (0, _warning2.default)(!((typeof path === 'undefined' ? 'undefined' : _typeof(path)) === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to replace when the 1st ' + 'argument is a location-like object that already has state; it is ignored');\n\n var action = 'REPLACE';\n var location = (0, _LocationUtils.createLocation)(path, state, createKey(), history.location);\n\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n\n history.entries[history.index] = location;\n\n setState({ action: action, location: location });\n });\n };\n\n var go = function go(n) {\n var nextIndex = clamp(history.index + n, 0, history.entries.length - 1);\n\n var action = 'POP';\n var location = history.entries[nextIndex];\n\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (ok) {\n setState({\n action: action,\n location: location,\n index: nextIndex\n });\n } else {\n // Mimic the behavior of DOM histories by\n // causing a render after a cancelled POP.\n setState();\n }\n });\n };\n\n var goBack = function goBack() {\n return go(-1);\n };\n\n var goForward = function goForward() {\n return go(1);\n };\n\n var canGo = function canGo(n) {\n var nextIndex = history.index + n;\n return nextIndex >= 0 && nextIndex < history.entries.length;\n };\n\n var block = function block() {\n var prompt = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n return transitionManager.setPrompt(prompt);\n };\n\n var listen = function listen(listener) {\n return transitionManager.appendListener(listener);\n };\n\n var history = {\n length: entries.length,\n action: 'POP',\n location: entries[index],\n index: index,\n entries: entries,\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n goBack: goBack,\n goForward: goForward,\n canGo: canGo,\n block: block,\n listen: listen\n };\n\n return history;\n};\n\nexports.default = createMemoryHistory;","'use strict';\n\nexports.__esModule = true;\n\nvar _warning = require('warning');\n\nvar _warning2 = _interopRequireDefault(_warning);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar createTransitionManager = function createTransitionManager() {\n var prompt = null;\n\n var setPrompt = function setPrompt(nextPrompt) {\n (0, _warning2.default)(prompt == null, 'A history supports only one prompt at a time');\n\n prompt = nextPrompt;\n\n return function () {\n if (prompt === nextPrompt) prompt = null;\n };\n };\n\n var confirmTransitionTo = function confirmTransitionTo(location, action, getUserConfirmation, callback) {\n // TODO: If another transition starts while we're still confirming\n // the previous one, we may end up in a weird state. Figure out the\n // best way to handle this.\n if (prompt != null) {\n var result = typeof prompt === 'function' ? prompt(location, action) : prompt;\n\n if (typeof result === 'string') {\n if (typeof getUserConfirmation === 'function') {\n getUserConfirmation(result, callback);\n } else {\n (0, _warning2.default)(false, 'A history needs a getUserConfirmation function in order to use a prompt message');\n\n callback(true);\n }\n } else {\n // Return false from a transition hook to cancel the transition.\n callback(result !== false);\n }\n } else {\n callback(true);\n }\n };\n\n var listeners = [];\n\n var appendListener = function appendListener(fn) {\n var isActive = true;\n\n var listener = function listener() {\n if (isActive) fn.apply(undefined, arguments);\n };\n\n listeners.push(listener);\n\n return function () {\n isActive = false;\n listeners = listeners.filter(function (item) {\n return item !== listener;\n });\n };\n };\n\n var notifyListeners = function notifyListeners() {\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n listeners.forEach(function (listener) {\n return listener.apply(undefined, args);\n });\n };\n\n return {\n setPrompt: setPrompt,\n confirmTransitionTo: confirmTransitionTo,\n appendListener: appendListener,\n notifyListeners: notifyListeners\n };\n};\n\nexports.default = createTransitionManager;"],"sourceRoot":""}