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.
- package/changelog.md +10 -0
- package/dist/010d0560a00a032c33da819e3c86596a.js +1 -368
- package/dist/029ed9161a8d24a9c2ba97124020989d.js +1 -9
- package/dist/02d5c4961ca855a88b1cd3e1b7fa7aa2.js +1 -113
- package/dist/03371bf1d5cbb1eab58e3a0130d1e9c2.js +1 -15001
- package/dist/03487ba89c7b63069d63c1b3802a472c.js +1 -24
- package/dist/03748243ac7148ca150ba06c2919ff81.js +1 -271
- package/dist/03980cb12dacd26148c22bb61fce440f.js +1 -9
- package/dist/03aae8272914723a7bf85b984385032c.js +1 -9
- package/dist/04770a551c5b6daa744be9b180a8d0fe.js +1 -13311
- package/dist/06d958315fc6cdbb28576b03e43203aa.js +1 -9
- package/dist/07101530302fe1d03dcd731992f7a899.js +1 -869
- package/dist/0731d7568a06d2e28351781370bc52bb.js +1 -445
- package/dist/0794fa2b9c882c72fa7d586069b61055.js +1 -3608
- package/dist/0872e65446d05c1c443180c6280b015f.js +1 -214
- package/dist/08b9f3e305b5e3e0b81f7848fa7f3b6b.js +1 -105
- package/dist/09563004132aabcfcc186943555a92a1.js +1 -263
- package/dist/0a1d9862d917663419ac2dd2e8193267.js +1 -9
- package/dist/0a858573915ab9b03fe79f98f8c51a04.js +1 -271
- package/dist/0a9cd3d62e7f1cd404606c50d9da86fb.js +1 -229
- package/dist/0beea7b55cf3b8c9f9b0bd46170bb30e.js +1 -238
- package/dist/0ec4bf56a876c2bf34ea174c584ce628.js +1 -97
- package/dist/0f418117fac55a859631143ad7d0e833.js +1 -1038
- package/dist/10132993df2cf9c9423b53a8a44379ab.js +1 -9
- package/dist/1034e3807d1bcf55cb564491950237ab.js +1 -9
- package/dist/104959bdb953a3792a203e98d2bf530f.js +1 -895
- package/dist/114c58e47951fe3f6d25f683e0cd54e7.js +1 -381
- package/dist/11b2d52156942feeb87b7c608276c49b.js +1 -119
- package/dist/11dc77ef2ea3a04834945a52f7de2072.js +1 -3208
- package/dist/12b520593765ef7e714d7fb3764633ed.js +1 -167
- package/dist/130340e2c62b9e858f186dab5f491e55.js +1 -9
- package/dist/1324f89bd8db0bae85b79b7f90f6c119.js +1 -418
- package/dist/13eda3507db9cbfb400f46b9b3ff6553.js +1 -9
- package/dist/1441681e52f3ae9ab33afbc5517359a0.js +1 -45
- package/dist/1533058f0ce13acdaa8d5bdc7d147bef.js +1 -9
- package/dist/1549fe09fd6b44aca96e2b1b7cbd93d0.js +1 -111
- package/dist/15f3800d33b854ba476c9daf1b9e0326.js +1 -9
- package/dist/16563bfaf4741097d38cc6ce3ccc1a2d.js +1 -2644
- package/dist/170487867de05784a96608617bdd544d.js +1 -9
- package/dist/179a93d3148b7edb72581279c3787d0c.js +1 -353
- package/dist/17dc98279d24649d3ca77cbce8c44e83.js +1 -9
- package/dist/1850762f1bfaf1a1044765b02b243ed4.js +1 -262
- package/dist/18cfa6de2de3832aa10439fbf963217a.js +1 -3035
- package/dist/18e63e724098792b95b076412a860636.js +1 -116
- package/dist/191feb6103c36b202bc01ba262916cdf.js +1 -9
- package/dist/19e684db1b08c82963634abc8b2c989f.js +1 -422
- package/dist/1abc9efccf77fd4527d1c2fc85d87e04.js +1 -647
- package/dist/1b15b9f88acaf59b96e59c6b5f32da12.js +1 -9
- package/dist/1b64f97eed4a3837a93f8bdd363295fb.js +1 -1873
- package/dist/1c02ec6ec024eee3ebb6b34fa8ff316f.js +1 -103
- package/dist/1c57b3481f295105588972ffa1305521.js +1 -9
- package/dist/1cc82820c232a82b5d8b6cb9e4152af3.js +1 -514
- package/dist/1cd3d09b5303cc37fa337225ed6a9132.js +1 -137
- package/dist/1e029a7f1f64457da4f54254d50ac59b.js +1 -95
- package/dist/1e26167b5f75d5b94add34f1f4d8b044.js +1 -380
- package/dist/1e4131e1241a5b81d54c7d9cb66b0e87.js +1 -254
- package/dist/1fe2d583da5f073431d81a6ea13ffc0c.js +1 -275
- package/dist/1fee62e3e043728a265935971fa26200.js +1 -981
- package/dist/211511e7b374f57ad31acaf49dbdccb1.js +1 -9
- package/dist/2183252fe9e1b88fcf2bc454d6fd9273.js +1 -115
- package/dist/222d52530e9db0a0ec565c6306c5db35.js +1 -104
- package/dist/2267d20fd89c81a461e38abecdb8fcdc.js +1 -282
- package/dist/2272c6632c52c3e402ab27b8045ab8f1.js +1 -9
- package/dist/23bb1a9f279e7a732bfd405350aab114.js +1 -9
- package/dist/23da8ba64540ff4aa68a34d3445db680.js +1 -232
- package/dist/243c0c0572ab9866e02e18821558a1c5.js +1 -89
- package/dist/244b1a234ec1728d0268214de601449d.js +1 -343
- package/dist/24a3ff38afde257888d755ece9bfd704.js +1 -9
- package/dist/25718a469574ade47e23567d8c543169.js +1 -9
- package/dist/25c99a71d30112583893bc5277402c46.js +1 -329
- package/dist/25eda4bb98e40a82cfd5b4bf9fbc06ec.js +1 -9
- package/dist/263f7107e9357b1c91997e1a21b59ff5.js +1 -2025
- package/dist/26fb247a2e0630e1f435cb4d91ec51fd.js +1 -397
- package/dist/27730a0bdc6f430cc85049a46a73a029.js +1 -9
- package/dist/27ccb71fa24357a0919a861351d5b82d.js +1 -2806
- package/dist/28474eb7ee45a125e49cc5cbe69e336f.js +1 -1193
- package/dist/28785bea435918d49b290d27bf660baa.js +1 -9
- package/dist/28acb3b48578dfd30dd555fff7c822f7.js +1 -312
- package/dist/291611f874a2bc54dbc291b52d74c512.js +1 -501
- package/dist/2b2fe1a34cdf81c656a47e493ca9d658.js +1 -257
- package/dist/2bcf741e1f2cb07989a722a6ba9c2ea7.js +1 -128
- package/dist/2d2a42eeeeec801ab35f2fff7d900e43.js +1 -330
- package/dist/2dd82c65030101b60dffccedd8741c6e.js +1 -9
- package/dist/2ddd0346681f9f12fd3a191245aa41df.js +1 -797
- package/dist/2f055ac4066041b9008dd6aebf9df34b.js +1 -9
- package/dist/2f5be3e3e9ab852d217168220854ea9b.js +1 -102
- package/dist/2f7c864f08b00c01f04ac22375f7ddd9.js +1 -520
- package/dist/2fc0239242a898632ca8aa451cb930c2.js +1 -9
- package/dist/2ff54aa3c655216f360438bc7f5b181a.js +1 -2742
- package/dist/30e80558090a09477e4466af8af4c40e.js +1 -135
- package/dist/34791bf31a4236531bc887b48f872c1c.js +1 -1090
- package/dist/34b3249d58303435b894a43d3776a5c3.js +1 -1433
- package/dist/3567d1ea443427e944a6f189a0898819.js +1 -9
- package/dist/3646668820dc96864fbed7746f805947.js +1 -452
- package/dist/36474100e81ab63c4ddbc94ab2cc8667.js +1 -799
- package/dist/365b89ceec577ebec0a39c938c2363f0.js +1 -263
- package/dist/367ad31e6d99d0021d05133b85bb9faf.js +1 -93
- package/dist/37172facd8a534a38f378ca2a9c7c11b.js +1 -9
- package/dist/37afa466cdb7fa8fc2e043164d48f29e.js +1 -13110
- package/dist/37ee3b5201ae2e2dc5dc8b1b20ad900e.js +1 -9
- package/dist/38270ad5088729f40c461c4a5a6bad5d.js +1 -248
- package/dist/3b190e5159c72fb7e27271956772bcba.js +1 -9
- package/dist/3b544bb2c5a4e7b225a4b50235a0fd6d.js +1 -9
- package/dist/3b6e7dc98c47eeafd851ca5072db4be6.js +1 -9
- package/dist/3bbf0faa999b08584dc971eab820113a.js +1 -1169
- package/dist/3c5b59a666c5d39d9ba9cc054d36a410.js +1 -9
- package/dist/3c71a5c0e85afc5486ee9ac29099843d.js +1 -230
- package/dist/3dcc18a5dee46b57ad7f85c0bee86802.js +1 -508
- package/dist/3df92508d7112d83474f31fe9590e289.js +1 -1015
- package/dist/3e277a4ce5486a806a00497aea8ecdd3.js +1 -502
- package/dist/3e3e2243675fa4fb4b320dc57daf2d4f.js +1 -346
- package/dist/3f55ba1c6515db2f98bb996c1a5bc9e3.js +1 -76
- package/dist/3f758ea78954547fed0a8d999691dd7c.js +1 -292
- package/dist/406884d5525e864955e9f5058526aa02.js +1 -101
- package/dist/40dc555a17f1c85020333a41f01dd9ba.js +1 -106
- package/dist/40e6f6cb52a24a747b1046614db3b164.js +1 -213
- package/dist/41d8a58fd52b6a06e8d3fb06cdabf67a.js +1 -989
- package/dist/42b4ce6de00994aa6bf7db7ff2f931a8.js +1 -1331
- package/dist/43a0e099f8283dc1c1c6bbd39148d98d.js +1 -867
- package/dist/440f4d477b586c7a6ba4c1c966ca79fc.js +1 -147
- package/dist/444ababf8edc26948943fbb45bd06a19.js +1 -259
- package/dist/44701e25bb6f2ab9ff18343f2357d1b0.js +1 -171
- package/dist/44ac2a2398075299754707d4bac7c276.js +1 -59
- package/dist/460c67d8fe31ef229704bd5ab6d1dd26.js +1 -942
- package/dist/4639c30a609d986a255ccc684404527e.js +1 -676
- package/dist/4700af84801dbda8a3880e3469c21130.js +1 -413
- package/dist/4736a562251eeaea46dd06892b489f35.js +1 -46
- package/dist/47541c23870e955fff15de4be490ba74.js +1 -112
- package/dist/47f0fbf038314894ac52f2d67466b5e9.js +1 -2848
- package/dist/4860a6a7c59b9ed5c779f7201dc1f591.js +1 -349
- package/dist/48e9351c5623d4da657ce7d5d0267ea6.js +1 -9
- package/dist/4a1dab236c2844d28f73c5c128afe299.js +1 -193
- package/dist/4b425eb8188febc5a89674b89a72d296.js +1 -798
- package/dist/4b61fe945e9e73aba22717e5d6f080df.js +1 -642
- package/dist/4bf3bc1fbdd26ac698fef1bdf26e3ff4.js +1 -9
- package/dist/4c2816c26725f7aae5b490142e31112f.js +1 -352
- package/dist/4ceabd28d8dc751f41002ebf2b6fed88.js +1 -539
- package/dist/4d143a2d103a9e376a9e3b55e680eef7.js +1 -310
- package/dist/4d8cb7033879cb7fcc7a43798e2bde22.js +1 -9
- package/dist/4e389cce6fb8f78845fab249bce43c0b.js +1 -9
- package/dist/4eed3725a00fc2bab78accdb014b7826.js +1 -325
- package/dist/4ef80ee74467e0297eec3cc03092da01.js +1 -9
- package/dist/506d44d8712a22011ce2bec8adbb19b2.js +1 -210
- package/dist/50c073327491a2ed3bfa2ebb466c4204.js +1 -25
- package/dist/51f903c5ce5284a63196247cffb5ca40.js +1 -9
- package/dist/5352ecd8e5f1a2637b48e18cc406edb1.js +1 -9
- package/dist/53e3600928916423671f3388e2d67844.js +1 -9
- package/dist/54b3396acd2c700969248de4b20cbf7c.js +1 -109
- package/dist/55892adefebc0d53993fb108151ed150.js +1 -207
- package/dist/57f4109bd1f06be4dc2bcb8ff7eaf1e5.js +1 -9
- package/dist/57f9654d8ecdebfb02c636e1889af2e4.js +1 -2698
- package/dist/582e24f5ba929e358fadfc7be4c18025.js +1 -9
- package/dist/58598705e7012f4ca1eb1dd21d3c59a5.js +1 -9
- package/dist/5861dfe4f2c7823623e82d0619c5bf06.js +1 -9
- package/dist/58aab872dbdb5e1607076e1935130e03.js +1 -9
- package/dist/595aef8d8b0a2017e2fc27db5703e0d1.js +1 -167
- package/dist/59cc05504a1c823b6d4796bf6b430822.js +1 -9
- package/dist/5a496ae20cc576bef1d35972548207cf.js +1 -9
- package/dist/5a67fdd5293af0a35defd2574c05cd04.js +1 -1803
- package/dist/5ada4185d70a1852b578b2063de58e37.js +1 -221
- package/dist/5b6a626249d0bc43e412fffa6a9ee177.js +1 -9
- package/dist/5bad2df0e3bfd8fdc1a332fb6276cb39.js +1 -360
- package/dist/5c53d90bf4029cfd1b6a0945d1cae142.js +1 -3550
- package/dist/5c96efcfd419a70a93c96557979bc66d.js +1 -371
- package/dist/5d3314103b00c8ea165c6f9f6757f794.js +1 -9
- package/dist/5d46734b57c7408a41473abcd515b64c.js +1 -387
- package/dist/5da9145440d57c9b84d469253e84898d.js +1 -154
- package/dist/5e37c1ef17a219449c8c6aa37a87a941.js +1 -101
- package/dist/5e3f006db26e9b277b1bdbc130611a14.js +1 -400
- package/dist/5e55b301888460bd06c8e26d1011e01a.js +1 -9
- package/dist/5e6c2744429a8fac6e536b179c1f31d0.js +1 -293
- package/dist/5ebdef8c548fca6c51280e915d6f4c3f.js +1 -168
- package/dist/5ede1aebde9d4e5f5cce2db3044495c7.js +1 -148
- package/dist/5f3ce6efab3c679ec1ad25ab0b3f6b2f.js +1 -9
- package/dist/5fb6059ab5d7abab7a74eb73028a3aeb.js +1 -361
- package/dist/5fc5c77d4df4f5d77f8530f6b23ecd1e.js +1 -135
- package/dist/5fedbf948ed123687f77167fac1faf8b.js +1 -9
- package/dist/60340be8eea1d704a17f399b3c3f9577.js +1 -200
- package/dist/621b99ed1a029c36b4e91ec35f36c344.js +1 -44
- package/dist/6292be0125d3720498496eaa7f541618.js +1 -56
- package/dist/63b15fb6fc8f897b22a4bf72b7e8452a.js +1 -57668
- package/dist/64a5f4d62507d032038dcd76d15188e1.js +1 -9
- package/dist/64c45b6610e353ba59a58afc6dd090ca.js +1 -450
- package/dist/64d6924350bd7706850cdc0dcc76ccf6.js +1 -9
- package/dist/6511453710d760c2682567b40ddb3301.js +1 -593
- package/dist/656f53e1b4c6e37a31799737faf6d639.js +1 -209
- package/dist/663234c150f2097f3812c6065491497c.js +1 -254
- package/dist/6903d8ef977a1424c4e2eb22b96feb77.js +1 -118
- package/dist/6a7bf4fb4484f6f48d8e4337f126a61d.js +1 -1246
- package/dist/6abb884bd4f1a54529c00b58c14741cc.js +1 -128
- package/dist/6bb61adbbc13088ee1c32d88b5c7e754.js +1 -1743
- package/dist/6c0a75dc5671c3f237a79f6e45b9891c.js +1 -9
- package/dist/6c67587c2093ac3a19da9f2196e040b7.js +1 -9
- package/dist/6d38cef4a006e6cfe54a6117aba7b600.js +1 -9
- package/dist/6f09754fd684f82e6c06ae526d15ac80.js +1 -740
- package/dist/6f64da239140d00b81d8b6c523e86daf.js +1 -116
- package/dist/6faa9e5f2a0122d2333fa450337a09b0.js +1 -9
- package/dist/6fd6a6ddbcbbebe735c9d21e594203ec.js +1 -145
- package/dist/6fe3f0823e345813c2084b243cb6650b.js +1 -6198
- package/dist/70074e0c785c9a808dea76c7c7d17af3.js +1 -9
- package/dist/70286c33cab463fd576766adecd2d5d9.js +1 -9
- package/dist/707fa1de4d2096da1951c4bc9d21cb6d.js +1 -75
- package/dist/7080d2a1db1608264a6d9d9fbaf2cce8.js +1 -9
- package/dist/716879b6ef8945d579595d88534ae402.js +1 -417
- package/dist/725da29f1643c2263a437c08a1454aea.js +1 -9
- package/dist/73c78b067c792ea8c737746e4671d3e0.js +1 -120
- package/dist/740f4264cd757fcf28331fd30daf295e.js +1 -18
- package/dist/7493f0c3c9bf268d6ad785019d993dd7.js +1 -150
- package/dist/74fa46809aba9625071aa51bc0a71561.js +1 -122
- package/dist/755114145e5b97e5571a160a39e716db.js +1 -9
- package/dist/75bffda9455d77087f34708ac4e85371.js +1 -2640
- package/dist/75d2dae20d7bac5ecfa9dafc48ec04eb.js +1 -277
- package/dist/760eb6458a048f3cba7bc3ae52ef2ba4.js +1 -137
- package/dist/7735af777659608bcd8cd6525e3bbe58.js +1 -135
- package/dist/77aaca51c1c32acaf32656d45f4dc017.js +1 -9
- package/dist/77dd68f6396b8ab4ce2c238d6ddb5354.js +1 -331
- package/dist/788819e459cdd8c4c1ef565fd303f519.js +1 -113
- package/dist/7a9a1dced0e327dc9cb1728bef25641d.js +1 -114
- package/dist/7bd84be066027e61c84c9c2aa9543c2a.js +1 -888
- package/dist/7c1cd1223bd45600763f8c152ad167d5.js +1 -873
- package/dist/7c27341a2599ffb713c8fb7beced7601.js +1 -306
- package/dist/7c317e61789b17749dfe6ea294c89b6b.js +1 -193
- package/dist/7c9c55eb1a1e5c1dfd63631511d9a1f0.js +1 -720
- package/dist/7dead8e2fcacc316bbfa632cd9f1c9bb.js +1 -163
- package/dist/7e4099fc2d04c7c1cf96892b962ba4ec.js +1 -9
- package/dist/7ef082035f74b3d7324f95a7498ea656.js +1 -2632
- package/dist/7f12d133c88ce53d0837a6c4c0287a37.js +1 -360
- package/dist/7f407a1006eb830d6f0aaad96c133d26.js +1 -430
- package/dist/805cb6232d7a9fa46025d48a43622ecf.js +1 -9
- package/dist/80a171b7595d1161735e23dec8efddd6.js +1 -363
- package/dist/82fed7ec74be91e0db61c500d9c6d7ee.js +1 -303
- package/dist/83387cb17a7680f59240e7b399e3ac2b.js +1 -9
- package/dist/8361542d34c46713c9aff6c4ce65a9a3.js +1 -2693
- package/dist/85a977f41a907dba8c672f9bf4943da0.js +1 -3028
- package/dist/866bf6ca5057dcb24503761af061d486.js +1 -478
- package/dist/870184211838006214be1c23c98672fc.js +1 -17
- package/dist/8707a7b49421dbbb842506674ff87fa3.js +1 -59
- package/dist/875e553a27bee88a73df34a90b3058e4.js +1 -2564
- package/dist/8772719d0f76ecabded160e32dc5eb77.js +1 -503
- package/dist/87932c8321c9985ed3b6979e86d2a50e.js +1 -96
- package/dist/87d6bf8becf2d5ebe2f71fda95a313ea.js +1 -83
- package/dist/88bbfb9fdb8730ffc23f546b42d8d620.js +1 -395
- package/dist/88e2feda80ac8cfb28f1dc0ec833b40d.js +1 -9
- package/dist/894720f1519e5eb34e1b4f33fca7a9dd.js +1 -185
- package/dist/894edcaf39c3c95818e3949d737ed459.js +1 -9
- package/dist/89d3c35a5ef97a600927b477a9ba06b4.js +1 -414
- package/dist/8ba6618773c9d8d0b4f6ecb785651e2c.js +1 -121
- package/dist/8bf75743fb14fea7cf02a5da1bda79d4.js +1 -73
- package/dist/8cb83aa3fea85e950c29450b8237fb72.js +1 -14
- package/dist/8d9bb1799d9b98db107e84f10132e17f.js +1 -9
- package/dist/8ed58ed9c7e1cb1ae1f2830d29011ffb.js +1 -9
- package/dist/909adc4a16e0f97d869e3dd16d561430.js +1 -122
- package/dist/90bafd962205e96c3285d27cbf95c55c.js +1 -68
- package/dist/91bd2b106800bd7812e2ab5a5fea985b.js +1 -110
- package/dist/92f4aab5c66f6269c7054c8fbcb3de13.js +1 -9
- package/dist/957970f69802c38a9092b9b6264cc1b9.js +1 -112
- package/dist/9600fed6a4508afbbcd2c75923d953c3.js +1 -125
- package/dist/962969a46fefcace3305abd4d6e14a2e.js +1 -9
- package/dist/964646d64dd3196a9c27fe302511414a.js +1 -10922
- package/dist/9671c350e11f1569edb5066cbfeb3334.js +1 -98
- package/dist/9696a4229fb787eeb25b26f1274b75ee.js +1 -9
- package/dist/97e72973d750ecb3bc2e75b75bf63c5b.js +1 -9000
- package/dist/9807cf1e443a7440371904b6525f37eb.js +1 -9
- package/dist/985d6749688c18f94994794f88492444.js +1 -278
- package/dist/99ade8b6895e3a1c3d6eb70583cb924e.js +1 -115
- package/dist/9b1fd9cf4206cc32e84150c49707d811.js +1 -9
- package/dist/9b8e2282f60f104ff3ace5b905af4d62.js +1 -64
- package/dist/9ff6d4a6592c0cb7d0b939113c3a6b31.js +1 -95
- package/dist/a164d0e40c4dfa485dcf8e6d5258d767.js +1 -122
- package/dist/a1c8660c5bcc6b6a43a7fb3c351174d9.js +1 -9
- package/dist/a2a705f6bc3a6827d6c94c5978aec36d.js +1 -243
- package/dist/a2c0fcb443c396b30a11fc1682a29c13.js +1 -115
- package/dist/a4306aa43824ec1a4ee422b59a851e6f.js +1 -2622
- package/dist/a4bedde07e392f8ebf64341b61f75df2.js +1 -9
- package/dist/a533e643002830be2da76c9527265860.js +1 -9
- package/dist/a5d364d12a8f7691339c497b2e725bcf.js +1 -145
- package/dist/a7824ec1ab22aeb22bb35ab8bf1ddc4a.js +1 -715
- package/dist/a934b622dd8bdcdcdc1dde985a07ac14.js +1 -36
- package/dist/a98ead014d010899b35ee25c7c225542.js +1 -411
- package/dist/aa0eee504d52a12d3a30bbd523afcc34.js +1 -9
- package/dist/aa5623ec68d23fedb9c9c115c7d99063.js +1 -9
- package/dist/aaddd877950d1e3bf1b3ef0fc0ff596e.js +1 -449
- package/dist/aaf5c3a4f1a188fd051577cea7b87209.js +1 -457
- package/dist/ab4b314445b23359319c14cce9a0e321.js +1 -3687
- package/dist/abb40a9a6ef0b2fe14c66dcadc9857a2.js +1 -248
- package/dist/ad215d7ba317c941cdcc96ae78e86666.js +1 -67
- package/dist/adc5e81257ed3f8d70d03cf79150eec1.js +1 -320
- package/dist/aedbf3a3ece39aab8c9f3b3a3779e79b.js +1 -115
- package/dist/af959c2a870f08dd8abccae97c9b9bae.js +1 -35
- package/dist/b0071564b0854c39e3de8b99d66e4dfd.js +1 -298
- package/dist/b02d982ccb1011197a5a24800b178a0a.js +1 -9
- package/dist/b0803f33b602bd3b26be70f259e38cee.js +1 -102
- package/dist/b1170472ae4b50e3b0070eb991e502fe.js +1 -9
- package/dist/b1ac30076824f72cdff7ea29ae0b6801.js +1 -489
- package/dist/b1f3f77a9279cdb38846ebe13c3438bc.js +1 -9
- package/dist/b20056c149af6b50c851ecfff90e0ccb.js +1 -2792
- package/dist/b20cd9acf45420fcacfd923754185663.js +1 -9
- package/dist/b25188cf2652d63136d5e54c38abf84e.js +1 -500
- package/dist/b2742fab9568b63c2274698af5d381fc.js +1 -135
- package/dist/b2ff96fbe6501ff45c37491b94c96c5f.js +1 -315
- package/dist/b33ef9b4202539d3690251cb8213a034.js +1 -9
- package/dist/b3bb2c8deddd8c2afcf73f6f5d711596.js +1 -61
- package/dist/b402b938ca2da72e0984a1360eda5897.js +1 -40
- package/dist/b460e24d77f9c0d8b21e65d899840adb.js +1 -363
- package/dist/b6a6a4adaab4f09a7835ff64a5096198.js +1 -80
- package/dist/b6df2278bd475169749bab512944b7ec.js +1 -207
- package/dist/b7b7be8216519adf62d75f123f9c6423.js +1 -1470
- package/dist/b808fb222140a85b23ebbe0fffa906d9.js +1 -9
- package/dist/b8197742452dd2e77090dde34cb2dc4d.js +1 -4105
- package/dist/b881dca9d9a80f61d87374b4bd5a2dd5.js +1 -9
- package/dist/b98206b2175363f1150c074608603942.js +1 -592
- package/dist/ba6b8b3e06cd9d0aee9c69278ee84647.js +1 -9
- package/dist/baa5bf4cfefed057a4657a1b02cfa114.js +1 -32
- package/dist/bb4d542cb170b3f7b27a42c69262975b.js +1 -1421
- package/dist/bb5bab7a675544fe31ddb7f4a77dffb9.js +1 -9
- package/dist/bc0551f89df16ee262a67c0431544a9e.js +1 -128
- package/dist/c0736a7477d7aac4c669bb94ccae25d9.js +1 -381
- package/dist/c0780e66c6b1ade0fa22283ce1f9c402.js +1 -1582
- package/dist/c1bc72d79cc6161590fc01c6b139fccd.js +1 -296
- package/dist/c32ec7d45ccd947b98fe458a8ca1405b.js +1 -412
- package/dist/c40023acde0f3d5f4806f5fccbb4284b.js +1 -160
- package/dist/c45445ab45defa960329c6f8e6224e57.js +1 -317
- package/dist/c51840077c684be0e7e13339f85cd4a9.js +1 -9
- package/dist/c530988d2b1966fd10a4d99fa3877e1b.js +1 -9
- package/dist/c631c95d9019218dfd22d028f215e1d1.js +1 -312
- package/dist/c728b4ef87cfd5f561d1601f0867c39d.js +1 -2509
- package/dist/c733414555a126e689832ffb55cc203f.js +1 -820
- package/dist/c797511423f91a877e7fdffa74d015cb.js +1 -914
- package/dist/c7ca9dccbac3af7ebc82b271dd2aa570.js +1 -400
- package/dist/c80e89199aef31e48addb2b35ea96365.js +1 -9
- package/dist/cb4175466ea600940f2927fa03a217e8.js +1 -472
- package/dist/cb652f200fc3dd740b2e7f678a9272ea.js +1 -9
- package/dist/cbdbd623038183a8c068dd24ecd90682.js +1 -9
- package/dist/cbdc4ca43a8c940a6c3f59a8b6f17df5.js +1 -9
- package/dist/ccde58de5468dd353dbee74d631ebdf0.js +1 -34
- package/dist/cd358d9acaaa7049d85b15ac766fc314.js +1 -311
- package/dist/cd9a17f94a922c7c88000b1b3cdd67df.js +1 -9
- package/dist/cda6c5c52fa5d595982da0fac9da25a5.js +1 -984
- package/dist/cf188b3f83735389d47bb12fc9f7069a.js +1 -9
- package/dist/cf3f6b1c74c72cb5d02870022dbc9f94.js +1 -9
- package/dist/cf90a39d245bf7e6c1b41c7a9a28f0a1.js +1 -681
- package/dist/chunk-207.cc1646ee6c7a19f6220b.js +2 -0
- package/dist/chunk-207.cc1646ee6c7a19f6220b.js.map +1 -0
- package/dist/chunk-404.e573ba4c4c7cedc843f3.js +2 -0
- package/dist/chunk-404.e573ba4c4c7cedc843f3.js.map +1 -0
- package/dist/chunk-actions.c7efc5f5036d72d3b972.js +2 -0
- package/dist/chunk-actions.c7efc5f5036d72d3b972.js.map +1 -0
- package/dist/chunk-code-editor.4932fdbfef27989069a5.js +2 -0
- package/dist/chunk-code-editor.4932fdbfef27989069a5.js.map +1 -0
- package/dist/{chunk-docs-actions.8a808416a2d69710472e.js → chunk-docs-actions.fe615fd8e3c8ff68c449.js} +2 -2
- package/dist/chunk-docs-actions.fe615fd8e3c8ff68c449.js.map +1 -0
- package/dist/chunk-vendor-icons.aae1dc235d12dd74b38e.js +1 -0
- package/dist/d04707d65591e86810ebc56d48b10810.js +1 -296
- package/dist/d1a58542777d072396d7cee5487304f9.js +1 -141
- package/dist/d1efdca26800423a363b769b1834cfcf.js +1 -223
- package/dist/d2a00e1726c71ca10fbaf4b9c4374458.js +1 -1003
- package/dist/d2fe7592ff2fdda099b2b6355abe8c06.js +1 -5240
- package/dist/d30fa4070abd6929228505790744e180.js +1 -279
- package/dist/d43ad5f9bad9a042b49b2592c7639c28.js +1 -9
- package/dist/d542dda7308361c34af2afb9b70d755a.js +1 -9
- package/dist/d5a6140d581e5c4eb200259ce372f40b.js +1 -9
- package/dist/d5f79987405c2169278f8de37bcc9d05.js +1 -9
- package/dist/d78d3b050ea95b068380d975fd413fd7.js +1 -9
- package/dist/d79b3962938d65fb85c6f844e86d92d9.js +1 -172
- package/dist/d7b57d5ebdcade0ce5e047509e06861a.js +1 -580
- package/dist/d7d616d4aa8fd3f51d681242853dcde9.js +1 -9
- package/dist/d83f2acd25388452582e5a4c727255b0.js +1 -174
- package/dist/da1c1b1569c4d5872c9a18c29f0b5c90.js +1 -3088
- package/dist/da55f4fe3daed3f79fc4565668ecf7dd.js +1 -97
- package/dist/db8ca5cfb6fe4aaef215f116f6991784.js +1 -9
- package/dist/dbc87324ecf271d088a2ab0823de9c5d.js +1 -75
- package/dist/dbd05051a3ecf6b10e2f7b8904153f2d.js +1 -3194
- package/dist/dc1eb6c1c92d7067c72b82b2833a7d2c.js +1 -2595
- package/dist/dcb197c0214e800da9d9436dfc9437d6.js +1 -162
- package/dist/ddbc961769cd2ff4d4a7a136168ebf4c.js +1 -9
- package/dist/de0fd4fd7c2d7a4887cbc99eed91f797.js +1 -9
- package/dist/df37029cdf8359ecac0aebdf4f257d03.js +1 -386
- package/dist/df5710d97a899b672060afaa8c4891c2.js +1 -316
- package/dist/dfb7dd1fab06b2403f76c23f80b15738.js +1 -1718
- package/dist/e07a0b284934d3a0e8c02c508edc9df1.js +1 -115
- package/dist/e0adad8a8579bf99f3e22f7c214a5c64.js +1 -9
- package/dist/e0e32c3798e8895695ce5b372a0c989f.js +1 -2166
- package/dist/e2b38a8393be2cf23f3894ace3efb1c3.js +1 -9
- package/dist/e3ba4b654313ae98884a6c9044197e09.js +1 -103
- package/dist/e4565878df49fd4ce3edd3f1022c1695.js +1 -244
- package/dist/e4917fa7632b01d28e99304d32d989f7.js +1 -9
- package/dist/e4968d8264b40c14f123f28419eb456d.js +1 -23
- package/dist/e6070e43daf8a9e5f13f515a5a03e66c.js +1 -498
- package/dist/e61779df91186b23e7adf2d1968b2708.js +1 -9
- package/dist/e6ad50b520736b595970c9e07029c3f1.js +1 -9
- package/dist/e6cf8898b285b71e2abe832717ac7060.js +1 -153
- package/dist/e6fae0b04a3000a57f22bb25325c8afe.js +1 -2635
- package/dist/e6fb5287a46e030336c006e3f50ade3a.js +1 -529
- package/dist/e7e1a807af3160b342e0a3550cf8f7c5.js +1 -9
- package/dist/e874d975c9128dc6eb9a513d088bed9f.js +1 -9
- package/dist/e8fa659263d5ca9e0d1be69c048133a8.js +1 -297
- package/dist/e97cfa120fde26da0359ca29afaf3171.js +1 -43
- package/dist/eaa55a522fb2cb2f0287711f42344984.js +1 -9
- package/dist/eba5ee3fb1f3e92af88c69e50b2a8fd1.js +1 -102
- package/dist/ec2d138afc9cc9e81c4c6ef36ed55228.js +1 -103
- package/dist/ec32839f8f3353e66b85450525fa3114.js +1 -2808
- package/dist/ecd02712f5a40fcdaa3bfa8190470024.js +1 -2596
- package/dist/ecd37b343c4dcc8dac849b1c680dcbef.js +1 -1010
- package/dist/ecdb4966f685f3e44b1f28fae46827a3.js +1 -9
- package/dist/ee694c1bcbdc9439e50f816c39fd1023.js +1 -2875
- package/dist/efc14cdf19554635e477781704353ec2.js +1 -9
- package/dist/f0548260c0ac6b0e7cdb8909df1a5333.js +1 -421
- package/dist/f0878cc386a608146dbc8fb3b6745c42.js +1 -422
- package/dist/f326f2f263b1498fedbe1d07d7254d10.js +1 -9
- package/dist/f3c7b9d832aa442df3d140f7697b4f62.js +1 -98
- package/dist/f42342b39da2c42adc65ebcf52839f90.js +1 -102
- package/dist/f4c53706e1721b08e8b2f650c8bd35c4.js +1 -166
- package/dist/f582d9feb91d31036d3dae4cdaea865f.js +1 -3533
- package/dist/f5bea0e1099339b99b21ee2d3c0fc489.js +1 -23
- package/dist/f7186078e00d958aa2b316483dfc7e1c.js +1 -1715
- package/dist/f79630d85284a7f6dadc25c1d256af0a.js +1 -33
- package/dist/f80efec9a63094f19edae0480a0f2cd8.js +1 -635
- package/dist/f90003058d7087f15baa27b80bf08c1d.js +1 -839
- package/dist/f980fd09c34c277299e2d3f83aebdba5.js +1 -102
- package/dist/fb59a7c154104a421146ab9e5bd71540.js +1 -462
- package/dist/fd40b62490e412d27bc67e660aacae19.js +1 -430
- package/dist/fd5bc50b18c9f46380cbe5ec1ac2127b.js +1 -9
- package/dist/fd5e2efd3b2d047abe8473f99c650a35.js +1 -677
- package/dist/fdf4d851b44839d8fdfa77b3419bce19.js +1 -204
- package/dist/ffd3b83e8b5878f4785591ff54b1dfff.js +1 -9
- package/dist/index.js +9 -9
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/dist/chunk-207.a88d16e56962fd4d2978.js +0 -2
- package/dist/chunk-207.a88d16e56962fd4d2978.js.map +0 -1
- package/dist/chunk-404.0ea933a6d9513f2665cf.js +0 -2
- package/dist/chunk-404.0ea933a6d9513f2665cf.js.map +0 -1
- package/dist/chunk-actions.1ad5d759ef5d8509c532.js +0 -2
- package/dist/chunk-actions.1ad5d759ef5d8509c532.js.map +0 -1
- package/dist/chunk-code-editor.c86cda6aae761ec82d57.js +0 -2
- package/dist/chunk-code-editor.c86cda6aae761ec82d57.js.map +0 -1
- package/dist/chunk-docs-actions.8a808416a2d69710472e.js.map +0 -1
- 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":""}
|