@openmrs/esm-app-shell 8.0.1-pre.3518 → 8.0.1-pre.3529
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/.turbo/turbo-build.log +17 -17
- package/dist/0a5e6a3a2ee6ffbf.js +1 -0
- package/dist/0aefcee1820786b6.js +1 -0
- package/dist/{2bf763f76f6cb417.js → 1118b5dd1f298819.js} +1 -1
- package/dist/11f014a16deb5cf3.js +1 -0
- package/dist/164ffa01630330db.js +1 -0
- package/dist/18a44c6c4373a884.js +1 -0
- package/dist/193297135f1153f9.js +1 -0
- package/dist/1addcfd82d049b24.js +1 -0
- package/dist/{820a6b8709f49646.js.map → 269952da6f3cfe4e.js.map} +1 -1
- package/dist/2b072669a3cda7dc.js +1 -0
- package/dist/33484c98068bf28b.js +1 -0
- package/dist/38f9014a014f82ab.js +1 -0
- package/dist/398c00843208a185.js +1 -0
- package/dist/425d87e4ac2e324d.js +1 -0
- package/dist/44ff2e3ef8289a3f.js +1 -0
- package/dist/46b2e3070645fcb5.js +1 -0
- package/dist/490be93c6af13961.js +1 -0
- package/dist/493dff34d28409a3.js +1 -0
- package/dist/4bd58324ab331c0d.js +1 -0
- package/dist/4c3ef51bc9f64859.js +1 -0
- package/dist/60f53ae0bc2d20fd.js +1 -0
- package/dist/741070c1e8456ed5.js +1 -0
- package/dist/79cdab3b05e079c1.js +1 -0
- package/dist/7f998aeddcaa0cbf.js +1 -0
- package/dist/7f998aeddcaa0cbf.js.map +1 -0
- package/dist/7fc047a51c414e62.js +1 -0
- package/dist/8090a646abbcc880.js +1 -0
- package/dist/8703177a4db66675.js +1 -0
- package/dist/870466f2a066e7df.js +1 -0
- package/dist/8760f81c61796917.js +1 -0
- package/dist/8a8d1306b4177be1.js +1 -0
- package/dist/8b827311bf13f3da.js +1 -0
- package/dist/a559da28d70a68f1.js +1 -0
- package/dist/aa04d816ec27897c.js +1 -0
- package/dist/af182733b7938751.js +1 -0
- package/dist/{b886ae9357c9eb5f.js → afb7bd7956ca01e8.js} +1 -1
- package/dist/{b886ae9357c9eb5f.js.map → afb7bd7956ca01e8.js.map} +1 -1
- package/dist/b260bab6bde4b5eb.js +1 -0
- package/dist/b4596a3caad05849.js +1 -0
- package/dist/{ac9fa62c5cff9cec.js → c3132c6f719002da.js} +1 -1
- package/dist/c4c712db16fd61a4.js +1 -0
- package/dist/d37665aba0730071.js +1 -0
- package/dist/e5468dd5fb491a9b.js +1 -0
- package/dist/e7e83d1623f418e0.js +1 -0
- package/dist/f1b1b5fc5a06fe94.js +1 -0
- package/dist/f2ed11c2bc2c61da.js +1 -0
- package/dist/f497c500ce8df7f5.js +1 -0
- package/dist/f5eaad18d8188194.js +1 -0
- package/dist/index.html +1 -1
- package/dist/{openmrs.d193eb5923114217.js → openmrs.980f0cb1d53432c2.js} +1 -1
- package/dist/{openmrs.d193eb5923114217.js.map → openmrs.980f0cb1d53432c2.js.map} +1 -1
- package/dist/service-worker.js +1 -1
- package/lib/{4954af44a37bf7a0.js → 08821a4e91ad0a9f.js} +1 -1
- package/lib/{e970bdb6c5e0199b.js → 09571236d919bf24.js} +1 -1
- package/lib/{7b0fec7d18a6e5eb.js → 0c370ea5bcd23b88.js} +13 -3
- package/lib/{87543e0e5ea93335.js → 132b63f8d5b6e585.js} +1 -1
- package/lib/{92033836790634af.js → 1dfa376743733884.js} +1 -1
- package/lib/{6f9bd0cef9692521.js → 2135bcd99479c9c8.js} +1 -1
- package/lib/{023837783dcf9a40.js → 27b9f1c5272675ac.js} +1 -1
- package/lib/{838f5154acd9f00a.js → 2a347596caa68633.js} +1 -1
- package/lib/{32a58a676d3a8a24.js → 2c48730f85a9dbcf.js} +1 -1
- package/lib/{dab24aa86ce5c857.js → 328a4a614cf4c073.js} +1 -1
- package/lib/{2267e4576ec55f03.js → 3647837457cf76ff.js} +1 -1
- package/lib/{0a433842273a50c4.js → 3dc89622da0a0733.js} +1 -1
- package/lib/{ebea98a596e90dca.js → 512553406a347ecc.js} +1 -1
- package/lib/{d2c3f3ef75b6c0ad.js → 5446a0bc8cfcce4b.js} +1 -1
- package/lib/{cd7de190ab00478d.js → 55c46a5b483b7533.js} +1 -1
- package/lib/{dd053e34346af26f.js → 58b1bca7738f6ad0.js} +1 -1
- package/lib/{213c3d2b2c9f61fa.js → 6107273a0909ebd0.js} +1 -1
- package/lib/{95a5714e16acd368.js → 6863f4fff98173a8.js} +1 -1
- package/lib/{8758bc037e04a6d1.js → 6ac249af6e0e1a35.js} +1 -1
- package/lib/{b2bd423e36f1c3db.js → 77869624c0530612.js} +1 -1
- package/lib/{7322e13176b02634.js → 7862ecb15b20c423.js} +1 -1
- package/lib/{4f91966d7a964cf1.js → 788c7efa6ebd449a.js} +1 -1
- package/lib/{d8f02d5e869ebbff.js → 7a8da8b272f58867.js} +1 -1
- package/lib/{24b6bfa223d86e47.js → 7aec545b938a6210.js} +1 -1
- package/lib/{07646a2060a3f742.js → 82d60e4c8d888da8.js} +1 -1
- package/lib/{aafe5e1665f48eee.js → 84f42d4957a8d430.js} +1 -1
- package/lib/{e8ad630182e6f1bf.js → 88a0f285869b03d3.js} +1 -1
- package/lib/{c7708e6a5e589479.js → 8ebbf8f7a0174a6e.js} +1 -1
- package/lib/{979c3a1e45624e9a.js → 9388fd545eb3f5cc.js} +1 -1
- package/lib/{996815ac6a0cbf91.js → 93c4707a49a52fc7.js} +1 -1
- package/lib/{99f86a93c19ad259.js → 9969c9354cb1f4f8.js} +1 -1
- package/lib/{2a9b2e4e4fe2aa4c.js → a04017c335a18129.js} +1 -1
- package/lib/{25aea085f6ff1ce7.js → a45ccb3577b2ee1c.js} +1 -1
- package/lib/{d370b599f35defa4.js → af0818576f0e83d8.js} +1 -1
- package/lib/{766d55a879a6f679.js → b389f90684ed724e.js} +1 -1
- package/lib/{84b518014a124d80.js → b6c4be0a1d2e07d5.js} +1 -1
- package/lib/{de7a8b3e6b5da692.js → d5938a684c87cdc0.js} +1 -1
- package/lib/{c4ff6aaf2a9c6bb4.js → d76e1a4ecc24e984.js} +1 -1
- package/lib/{28db53e22e50d0dd.js → e05ee90dc9bbf035.js} +1 -1
- package/lib/{a89044c331cc4f72.js → e618ed426c63b8d1.js} +1 -1
- package/lib/{737b8f21651c47c5.js → e72f83f6674d00b0.js} +3 -3
- package/lib/{6ce55f96741e434b.js → e91f7a8f60364993.js} +1 -1
- package/lib/esm-devtools-app/292.js +1 -0
- package/lib/esm-devtools-app/292.js.map +1 -0
- package/lib/esm-devtools-app/300.js +1 -0
- package/lib/esm-devtools-app/929.js +1 -1
- package/lib/esm-devtools-app/929.js.map +1 -1
- package/lib/esm-devtools-app/main.js +1 -1
- package/lib/esm-devtools-app/main.js.map +1 -1
- package/lib/esm-devtools-app/openmrs-esm-devtools-app.js +1 -1
- package/lib/esm-devtools-app/openmrs-esm-devtools-app.js.buildmanifest.json +57 -35
- package/lib/esm-devtools-app/openmrs-esm-devtools-app.js.map +1 -1
- package/lib/esm-devtools-app/routes.json +1 -1
- package/lib/esm-help-menu-app/185.js +2 -0
- package/lib/esm-help-menu-app/185.js.map +1 -0
- package/lib/esm-help-menu-app/292.js +1 -0
- package/lib/esm-help-menu-app/292.js.map +1 -0
- package/lib/esm-help-menu-app/300.js +1 -0
- package/lib/esm-help-menu-app/301.js +2 -0
- package/lib/{esm-offline-tools-app/7031.js.LICENSE.txt → esm-help-menu-app/301.js.LICENSE.txt} +10 -0
- package/lib/esm-help-menu-app/301.js.map +1 -0
- package/lib/esm-help-menu-app/322.js +1 -0
- package/lib/esm-help-menu-app/322.js.map +1 -0
- package/lib/esm-help-menu-app/326.js +2 -0
- package/lib/esm-help-menu-app/326.js.map +1 -0
- package/lib/esm-help-menu-app/555.js +1 -0
- package/lib/esm-help-menu-app/555.js.map +1 -0
- package/lib/esm-help-menu-app/611.js +2 -0
- package/lib/esm-help-menu-app/611.js.map +1 -0
- package/lib/esm-help-menu-app/623.js +2 -0
- package/lib/esm-help-menu-app/623.js.map +1 -0
- package/lib/esm-help-menu-app/7.js +1 -0
- package/lib/esm-help-menu-app/7.js.map +1 -0
- package/lib/esm-help-menu-app/76.js +1 -0
- package/lib/esm-help-menu-app/76.js.map +1 -0
- package/lib/esm-help-menu-app/770.js +2 -0
- package/lib/esm-help-menu-app/770.js.map +1 -0
- package/lib/esm-help-menu-app/802.js +1 -0
- package/lib/esm-help-menu-app/802.js.map +1 -0
- package/lib/esm-help-menu-app/90.js +1 -0
- package/lib/esm-help-menu-app/90.js.map +1 -0
- package/lib/esm-help-menu-app/939.js +1 -0
- package/lib/{esm-offline-tools-app → esm-help-menu-app}/939.js.map +1 -1
- package/lib/esm-help-menu-app/main.js +1 -0
- package/lib/esm-help-menu-app/main.js.map +1 -0
- package/lib/esm-help-menu-app/openmrs-esm-help-menu-app.js +1 -0
- package/lib/esm-help-menu-app/openmrs-esm-help-menu-app.js.buildmanifest.json +486 -0
- package/lib/esm-help-menu-app/openmrs-esm-help-menu-app.js.map +1 -0
- package/lib/esm-help-menu-app/routes.json +1 -0
- package/lib/esm-implementer-tools-app/4300.js +1 -1
- package/lib/esm-implementer-tools-app/6132.js +1 -1
- package/lib/esm-implementer-tools-app/6132.js.map +1 -1
- package/lib/esm-implementer-tools-app/8292.js +1 -0
- package/lib/esm-implementer-tools-app/8292.js.map +1 -0
- package/lib/esm-implementer-tools-app/main.js +1 -1
- package/lib/esm-implementer-tools-app/main.js.map +1 -1
- package/lib/esm-implementer-tools-app/openmrs-esm-implementer-tools-app.js +1 -1
- package/lib/esm-implementer-tools-app/openmrs-esm-implementer-tools-app.js.buildmanifest.json +37 -37
- package/lib/esm-implementer-tools-app/openmrs-esm-implementer-tools-app.js.map +1 -1
- package/lib/esm-implementer-tools-app/routes.json +1 -1
- package/lib/esm-login-app/8333.js +32 -0
- package/lib/esm-login-app/8333.js.map +1 -0
- package/lib/esm-login-app/main.js +2 -2
- package/lib/esm-login-app/main.js.map +1 -1
- package/lib/esm-login-app/openmrs-esm-login-app.js +3 -3
- package/lib/esm-login-app/openmrs-esm-login-app.js.buildmanifest.json +31 -31
- package/lib/esm-login-app/openmrs-esm-login-app.js.map +1 -1
- package/lib/esm-login-app/routes.json +1 -1
- package/lib/esm-primary-navigation-app/8292.js +1 -0
- package/lib/esm-primary-navigation-app/8292.js.map +1 -0
- package/lib/esm-primary-navigation-app/main.js +1 -1
- package/lib/esm-primary-navigation-app/openmrs-esm-primary-navigation-app.js +1 -1
- package/lib/esm-primary-navigation-app/openmrs-esm-primary-navigation-app.js.buildmanifest.json +30 -30
- package/lib/esm-primary-navigation-app/routes.json +1 -1
- package/lib/{2b02f29932acdf87.js → f0fb17efb5654d35.js} +1 -1
- package/lib/index.html +2 -2
- package/lib/openmrs.js +6 -6
- package/lib/service-worker.js +1 -1
- package/package.json +3 -3
- package/dist/0e7fd76b513f3804.js +0 -1
- package/dist/1765e9c6e9c5601e.js +0 -1
- package/dist/1b4d3acd30f0215d.js +0 -1
- package/dist/21b517ce955f8707.js +0 -1
- package/dist/24d60f44b4ad0a45.js +0 -1
- package/dist/308ff4894b38cf6c.js +0 -1
- package/dist/31ca2daf273ec941.js +0 -1
- package/dist/325aeb56cd5ebb65.js +0 -1
- package/dist/42b530218f2c7716.js +0 -1
- package/dist/44fa930eeb59f7e1.js +0 -1
- package/dist/452525968cf12693.js +0 -1
- package/dist/5785b8f627082d6c.js +0 -1
- package/dist/57eab9d011e339d1.js +0 -1
- package/dist/6044af2391690893.js +0 -1
- package/dist/63794a72c756ae85.js +0 -1
- package/dist/7038b1b6449ff2ce.js +0 -1
- package/dist/70daaa02e2b6b4e5.js +0 -1
- package/dist/71cd53f71ff94615.js +0 -1
- package/dist/75414cbd2aa91290.js +0 -1
- package/dist/75b57a0f7ddd7d3e.js +0 -1
- package/dist/780350778c93e9cb.js +0 -1
- package/dist/78687cc372c187eb.js +0 -1
- package/dist/7a5557ca1d893791.js +0 -1
- package/dist/816d6f3ddf208b82.js +0 -1
- package/dist/82b48a2a45986488.js +0 -1
- package/dist/906346b44b03a7c6.js +0 -1
- package/dist/95d78178b82010a5.js +0 -1
- package/dist/995781d93336a3fa.js +0 -1
- package/dist/a1780f80e62fb33f.js +0 -1
- package/dist/a62218f93ee1190f.js +0 -1
- package/dist/aa427ff1c5aac686.js +0 -1
- package/dist/afc7f33a03027af4.js +0 -1
- package/dist/b130b0e1fd857ca6.js +0 -1
- package/dist/b2befd1f5e5d99e0.js +0 -1
- package/dist/baeb5cd6a0d93ece.js +0 -1
- package/dist/bfb0a9c195bd0f99.js +0 -1
- package/dist/c71cf04b2fbf1b8d.js +0 -1
- package/dist/ca3eaa6c694f1f29.js +0 -1
- package/dist/d63791523633945e.js +0 -1
- package/dist/dc85dd697a04fb39.js +0 -1
- package/dist/e579ca3a6d9e110e.js +0 -1
- package/dist/f72b4a199866fd27.js +0 -1
- package/dist/f72b4a199866fd27.js.map +0 -1
- package/lib/esm-devtools-app/813.js +0 -1
- package/lib/esm-devtools-app/813.js.map +0 -1
- package/lib/esm-implementer-tools-app/4813.js +0 -1
- package/lib/esm-implementer-tools-app/4813.js.map +0 -1
- package/lib/esm-login-app/901.js +0 -32
- package/lib/esm-login-app/901.js.map +0 -1
- package/lib/esm-offline-tools-app/1119.js +0 -1
- package/lib/esm-offline-tools-app/1197.js +0 -1
- package/lib/esm-offline-tools-app/1405.js +0 -1
- package/lib/esm-offline-tools-app/1405.js.map +0 -1
- package/lib/esm-offline-tools-app/1584c81d564cacde.svg +0 -8
- package/lib/esm-offline-tools-app/2062.js +0 -1
- package/lib/esm-offline-tools-app/2062.js.map +0 -1
- package/lib/esm-offline-tools-app/2070.js +0 -1
- package/lib/esm-offline-tools-app/2070.js.map +0 -1
- package/lib/esm-offline-tools-app/2146.js +0 -1
- package/lib/esm-offline-tools-app/2690.js +0 -1
- package/lib/esm-offline-tools-app/3099.js +0 -1
- package/lib/esm-offline-tools-app/3584.js +0 -1
- package/lib/esm-offline-tools-app/3709.js +0 -1
- package/lib/esm-offline-tools-app/3709.js.map +0 -1
- package/lib/esm-offline-tools-app/3963.js +0 -1
- package/lib/esm-offline-tools-app/3963.js.map +0 -1
- package/lib/esm-offline-tools-app/4055.js +0 -1
- package/lib/esm-offline-tools-app/4132.js +0 -1
- package/lib/esm-offline-tools-app/4300.js +0 -1
- package/lib/esm-offline-tools-app/4335.js +0 -1
- package/lib/esm-offline-tools-app/439.js +0 -1
- package/lib/esm-offline-tools-app/4618.js +0 -1
- package/lib/esm-offline-tools-app/4652.js +0 -1
- package/lib/esm-offline-tools-app/4813.js +0 -1
- package/lib/esm-offline-tools-app/4813.js.map +0 -1
- package/lib/esm-offline-tools-app/4944.js +0 -1
- package/lib/esm-offline-tools-app/5173.js +0 -1
- package/lib/esm-offline-tools-app/5241.js +0 -1
- package/lib/esm-offline-tools-app/5442.js +0 -1
- package/lib/esm-offline-tools-app/5623.js +0 -2
- package/lib/esm-offline-tools-app/5623.js.map +0 -1
- package/lib/esm-offline-tools-app/5661.js +0 -1
- package/lib/esm-offline-tools-app/5725.js +0 -2
- package/lib/esm-offline-tools-app/5725.js.LICENSE.txt +0 -9
- package/lib/esm-offline-tools-app/5725.js.map +0 -1
- package/lib/esm-offline-tools-app/5770.js +0 -2
- package/lib/esm-offline-tools-app/5770.js.map +0 -1
- package/lib/esm-offline-tools-app/6022.js +0 -1
- package/lib/esm-offline-tools-app/6090.js +0 -2
- package/lib/esm-offline-tools-app/6090.js.LICENSE.txt +0 -9
- package/lib/esm-offline-tools-app/6090.js.map +0 -1
- package/lib/esm-offline-tools-app/6252.js +0 -1
- package/lib/esm-offline-tools-app/6252.js.map +0 -1
- package/lib/esm-offline-tools-app/6269.js +0 -2
- package/lib/esm-offline-tools-app/6269.js.LICENSE.txt +0 -9
- package/lib/esm-offline-tools-app/6269.js.map +0 -1
- package/lib/esm-offline-tools-app/6326.js +0 -2
- package/lib/esm-offline-tools-app/6326.js.map +0 -1
- package/lib/esm-offline-tools-app/6408.js +0 -2
- package/lib/esm-offline-tools-app/6408.js.LICENSE.txt +0 -32
- package/lib/esm-offline-tools-app/6408.js.map +0 -1
- package/lib/esm-offline-tools-app/6468.js +0 -1
- package/lib/esm-offline-tools-app/6516.js +0 -2
- package/lib/esm-offline-tools-app/6516.js.map +0 -1
- package/lib/esm-offline-tools-app/6589.js +0 -1
- package/lib/esm-offline-tools-app/6679.js +0 -1
- package/lib/esm-offline-tools-app/6840.js +0 -1
- package/lib/esm-offline-tools-app/6859.js +0 -1
- package/lib/esm-offline-tools-app/7031.js +0 -2
- package/lib/esm-offline-tools-app/7031.js.map +0 -1
- package/lib/esm-offline-tools-app/7097.js +0 -1
- package/lib/esm-offline-tools-app/7159.js +0 -1
- package/lib/esm-offline-tools-app/723.js +0 -1
- package/lib/esm-offline-tools-app/7617.js +0 -1
- package/lib/esm-offline-tools-app/795.js +0 -1
- package/lib/esm-offline-tools-app/8163.js +0 -1
- package/lib/esm-offline-tools-app/8349.js +0 -1
- package/lib/esm-offline-tools-app/8371.js +0 -1
- package/lib/esm-offline-tools-app/8618.js +0 -1
- package/lib/esm-offline-tools-app/8650.js +0 -1
- package/lib/esm-offline-tools-app/8650.js.map +0 -1
- package/lib/esm-offline-tools-app/890.js +0 -1
- package/lib/esm-offline-tools-app/9214.js +0 -1
- package/lib/esm-offline-tools-app/939.js +0 -1
- package/lib/esm-offline-tools-app/9538.js +0 -1
- package/lib/esm-offline-tools-app/9561.js +0 -2
- package/lib/esm-offline-tools-app/9561.js.map +0 -1
- package/lib/esm-offline-tools-app/9569.js +0 -1
- package/lib/esm-offline-tools-app/986.js +0 -1
- package/lib/esm-offline-tools-app/9879.js +0 -1
- package/lib/esm-offline-tools-app/9895.js +0 -1
- package/lib/esm-offline-tools-app/9900.js +0 -1
- package/lib/esm-offline-tools-app/9913.js +0 -1
- package/lib/esm-offline-tools-app/main.js +0 -2
- package/lib/esm-offline-tools-app/main.js.LICENSE.txt +0 -15
- package/lib/esm-offline-tools-app/main.js.map +0 -1
- package/lib/esm-offline-tools-app/openmrs-esm-offline-tools-app.js +0 -1
- package/lib/esm-offline-tools-app/openmrs-esm-offline-tools-app.js.buildmanifest.json +0 -1584
- package/lib/esm-offline-tools-app/openmrs-esm-offline-tools-app.js.map +0 -1
- package/lib/esm-offline-tools-app/routes.json +0 -1
- package/lib/esm-primary-navigation-app/4813.js +0 -1
- package/lib/esm-primary-navigation-app/4813.js.map +0 -1
- /package/dist/{820a6b8709f49646.js → 269952da6f3cfe4e.js} +0 -0
- /package/lib/{97726d513f5e2e82.js → c1f0c88cd7787b87.js} +0 -0
- /package/lib/{esm-offline-tools-app/6516.js.LICENSE.txt → esm-help-menu-app/185.js.LICENSE.txt} +0 -0
- /package/lib/{esm-offline-tools-app/6326.js.LICENSE.txt → esm-help-menu-app/326.js.LICENSE.txt} +0 -0
- /package/lib/{esm-offline-tools-app/9561.js.LICENSE.txt → esm-help-menu-app/611.js.LICENSE.txt} +0 -0
- /package/lib/{esm-offline-tools-app/5623.js.LICENSE.txt → esm-help-menu-app/623.js.LICENSE.txt} +0 -0
- /package/lib/{esm-offline-tools-app/5770.js.LICENSE.txt → esm-help-menu-app/770.js.LICENSE.txt} +0 -0
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
\*************************************************************/
|
|
16
16
|
/***/ ((module) => {
|
|
17
17
|
|
|
18
|
-
module.exports = /*#__PURE__*/JSON.parse('{"actionableNotification":"Actionable notification","actions":"操作","address":"地址","address1":"地址行1","address2":"地址行2","address3":"Address line 3","address4":"Address line 4","address5":"Address line 5","address6":"Address line 6","age":"Age","cancel":"取消","change":"更改","city":"城市","cityVillage":"城市","Clinic":"Clinic","close":"关闭","closeAllOpenedWorkspaces":"放弃 {{count}} 个工作区中的更改","closesActionableNotification":"Closes actionable notification","closeSnackbar":"Close snackbar","closeWorkspaces2PromptBody":"You are about to close the following workspace(s), which might have unsaved changes:","closeWorkspaces2PromptTitle":"Close workspace(s)","closingAllWorkspacesPromptBody":"There may be unsaved changes in the following workspaces. Do you want to discard changes in the following workspaces? {{workspaceNames}}","closingAllWorkspacesPromptTitle":"您有未保存的更改","confirm":"确认","contactAdministratorIfIssuePersists":"Contact your system administrator if the problem persists.","contactDetails":"联系方式","country":"国家","countyDistrict":"区县","delete":"Delete","discard":"放弃","discardChanges":"Discard changes","district":"District","edit":"Edit","error":"错误","errorCopy":"抱歉,显示此信息时出现问题。您可以尝试重新加载此页面,或联系网站管理员并引用上面的错误代码。","female":"女性","hide":"隐藏","leftNavigation":"Left navigation","loading":"加载中","male":"男性","maximize":"最大化","minimize":"最小化","noResultsToDisplay":"No results to display","openAnyway":"仍然打开","other":"其他","patientAvatarAlt":"Avatar for {{patientName}}","patientIdentifierSticker":"Patient identifier sticker","patientLists":"患者列表","patientPhotoAlt":"Profile photo of {{patientName}}","patientPhotoPlaceholder":"Photo placeholder for {{patientName}}","postalCode":"邮政编码","print":"Print","printError":"Print error","printErrorExplainer":"An error occurred in {{errorLocation}}","printIdentifierSticker":"Print identifier sticker","printing":"Printing","relationships":"关系","resetOverrides":"重置覆盖","save":"Save","scriptLoadingError":"无法从{{url}}加载覆盖脚本。请检查捆绑脚本是否可在预期的URL上可用。点击下面的按钮重置所有导入的映射覆盖。","scriptLoadingFailed":"错误:脚本加载失败","searchForLocation":"Search for a location","seeMoreLists":"查看{{count}}个更多列表","sex":"Sex","showLess":"Show less","showMore":"Show more","snackbarNotification":"Snackbar notification","state":"省份","stateProvince":"省份","toggleDevTools":"Toggle dev tools","unknown":"未知","unsavedChangesInOpenedWorkspace":"You may have unsaved changes in the opened workspace. Do you want to discard these changes?","unsavedChangesInWorkspace":"There may be unsaved changes in \\"{{workspaceName}}\\". Please save them before opening another workspace.","unsavedChangesTitleText":"Unsaved changes","workspaceHeader":"Workspace header","yearAbbreviation":"yr","yearsAbbreviation":"yrs"}');
|
|
18
|
+
module.exports = /*#__PURE__*/JSON.parse('{"actionableNotification":"Actionable notification","actions":"操作","address":"地址","address1":"地址行1","address2":"地址行2","address3":"Address line 3","address4":"Address line 4","address5":"Address line 5","address6":"Address line 6","age":"Age","cancel":"取消","change":"更改","city":"城市","cityVillage":"城市","Clinic":"Clinic","close":"关闭","closeAllOpenedWorkspaces":"放弃 {{count}} 个工作区中的更改","closesActionableNotification":"Closes actionable notification","closeSnackbar":"Close snackbar","closeWorkspaces2PromptBody":"You are about to close the following workspace(s), which might have unsaved changes:","closeWorkspaces2PromptTitle":"Close workspace(s)","closingAllWorkspacesPromptBody":"There may be unsaved changes in the following workspaces. Do you want to discard changes in the following workspaces? {{workspaceNames}}","closingAllWorkspacesPromptTitle":"您有未保存的更改","confirm":"确认","contactAdministratorIfIssuePersists":"Contact your system administrator if the problem persists.","contactDetails":"联系方式","country":"国家","countyDistrict":"区县","delete":"Delete","discard":"放弃","discardChanges":"Discard changes","district":"District","edit":"Edit","error":"错误","errorCopy":"抱歉,显示此信息时出现问题。您可以尝试重新加载此页面,或联系网站管理员并引用上面的错误代码。","errorLoadingLoginLocations":"Unable to load login locations. Please try again or contact support if the problem persists.","female":"女性","hide":"隐藏","leftNavigation":"Left navigation","loading":"加载中","male":"男性","maximize":"最大化","minimize":"最小化","noResultsToDisplay":"No results to display","openAnyway":"仍然打开","other":"其他","patientAvatarAlt":"Avatar for {{patientName}}","patientIdentifierSticker":"Patient identifier sticker","patientLists":"患者列表","patientPhotoAlt":"Profile photo of {{patientName}}","patientPhotoPlaceholder":"Photo placeholder for {{patientName}}","postalCode":"邮政编码","print":"Print","printError":"Print error","printErrorExplainer":"An error occurred in {{errorLocation}}","printIdentifierSticker":"Print identifier sticker","printing":"Printing","relationships":"关系","resetOverrides":"重置覆盖","save":"Save","scriptLoadingError":"无法从{{url}}加载覆盖脚本。请检查捆绑脚本是否可在预期的URL上可用。点击下面的按钮重置所有导入的映射覆盖。","scriptLoadingFailed":"错误:脚本加载失败","searchForLocation":"Search for a location","seeMoreLists":"查看{{count}}个更多列表","sex":"Sex","showLess":"Show less","showMore":"Show more","snackbarNotification":"Snackbar notification","state":"省份","stateProvince":"省份","toggleDevTools":"Toggle dev tools","unknown":"未知","unsavedChangesInOpenedWorkspace":"You may have unsaved changes in the opened workspace. Do you want to discard these changes?","unsavedChangesInWorkspace":"There may be unsaved changes in \\"{{workspaceName}}\\". Please save them before opening another workspace.","unsavedChangesTitleText":"Unsaved changes","workspaceHeader":"Workspace header","yearAbbreviation":"yr","yearsAbbreviation":"yrs"}');
|
|
19
19
|
|
|
20
20
|
/***/ })
|
|
21
21
|
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
\****************************************************************/
|
|
16
16
|
/***/ ((module) => {
|
|
17
17
|
|
|
18
|
-
module.exports = /*#__PURE__*/JSON.parse('{"actionableNotification":"Actionable notification","actions":"Actions","address":"Address","address1":"Address line 1","address2":"Address line 2","address3":"Address line 3","address4":"Address line 4","address5":"Address line 5","address6":"Address line 6","age":"Age","cancel":"Cancel","change":"Change","city":"City","cityVillage":"City","Clinic":"Clinic","close":"Close","closeAllOpenedWorkspaces":"Discard changes in {{count}} workspaces","closesActionableNotification":"Closes actionable notification","closeSnackbar":"Close snackbar","closeWorkspaces2PromptBody":"You are about to close the following workspace(s), which might have unsaved changes:","closeWorkspaces2PromptTitle":"Close workspace(s)","closingAllWorkspacesPromptBody":"There may be unsaved changes in the following workspaces. Do you want to discard changes in the following workspaces? {{workspaceNames}}","closingAllWorkspacesPromptTitle":"You have unsaved changes","confirm":"Confirm","contactAdministratorIfIssuePersists":"Contact your system administrator if the problem persists.","contactDetails":"Contact Details","country":"Country","countyDistrict":"District","delete":"Delete","discard":"Discard","discardChanges":"Discard changes","district":"District","edit":"Edit","error":"Error","errorCopy":"Sorry, there was a problem displaying this information. You can try to reload this page, or contact the site administrator and quote the error code above.","female":"Female","hide":"Hide","leftNavigation":"Left navigation","loading":"Loading","male":"Male","maximize":"Maximize","minimize":"Minimize","noResultsToDisplay":"No results to display","openAnyway":"Open Anyway","other":"Other","patientAvatarAlt":"Avatar for {{patientName}}","patientIdentifierSticker":"Patient identifier sticker","patientLists":"Patient Lists","patientPhotoAlt":"Profile photo of {{patientName}}","patientPhotoPlaceholder":"Photo placeholder for {{patientName}}","postalCode":"Postal code","print":"Print","printError":"Print error","printErrorExplainer":"An error occurred in {{errorLocation}}","printIdentifierSticker":"Print identifier sticker","printing":"Printing","relationships":"Relationships","resetOverrides":"Reset overrides","save":"Save","scriptLoadingError":"Failed to load overridden script from {{url}}. Please check that the bundled script is available at the expected URL. Click the button below to reset all import map overrides.","scriptLoadingFailed":"Error: Script failed to load","searchForLocation":"Search for a location","seeMoreLists":"See {{count}} more lists","sex":"Sex","showLess":"Show less","showMore":"Show more","snackbarNotification":"Snackbar notification","state":"State","stateProvince":"State","toggleDevTools":"Toggle dev tools","unknown":"Unknown","unsavedChangesInOpenedWorkspace":"You may have unsaved changes in the opened workspace. Do you want to discard these changes?","unsavedChangesInWorkspace":"There may be unsaved changes in \\"{{workspaceName}}\\". Please save them before opening another workspace.","unsavedChangesTitleText":"Unsaved changes","workspaceHeader":"Workspace header","yearAbbreviation":"yr","yearsAbbreviation":"yrs"}');
|
|
18
|
+
module.exports = /*#__PURE__*/JSON.parse('{"actionableNotification":"Actionable notification","actions":"Actions","address":"Address","address1":"Address line 1","address2":"Address line 2","address3":"Address line 3","address4":"Address line 4","address5":"Address line 5","address6":"Address line 6","age":"Age","cancel":"Cancel","change":"Change","city":"City","cityVillage":"City","Clinic":"Clinic","close":"Close","closeAllOpenedWorkspaces":"Discard changes in {{count}} workspaces","closesActionableNotification":"Closes actionable notification","closeSnackbar":"Close snackbar","closeWorkspaces2PromptBody":"You are about to close the following workspace(s), which might have unsaved changes:","closeWorkspaces2PromptTitle":"Close workspace(s)","closingAllWorkspacesPromptBody":"There may be unsaved changes in the following workspaces. Do you want to discard changes in the following workspaces? {{workspaceNames}}","closingAllWorkspacesPromptTitle":"You have unsaved changes","confirm":"Confirm","contactAdministratorIfIssuePersists":"Contact your system administrator if the problem persists.","contactDetails":"Contact Details","country":"Country","countyDistrict":"District","delete":"Delete","discard":"Discard","discardChanges":"Discard changes","district":"District","edit":"Edit","error":"Error","errorCopy":"Sorry, there was a problem displaying this information. You can try to reload this page, or contact the site administrator and quote the error code above.","errorLoadingLoginLocations":"Unable to load login locations. Please try again or contact support if the problem persists.","female":"Female","hide":"Hide","leftNavigation":"Left navigation","loading":"Loading","male":"Male","maximize":"Maximize","minimize":"Minimize","noResultsToDisplay":"No results to display","openAnyway":"Open Anyway","other":"Other","patientAvatarAlt":"Avatar for {{patientName}}","patientIdentifierSticker":"Patient identifier sticker","patientLists":"Patient Lists","patientPhotoAlt":"Profile photo of {{patientName}}","patientPhotoPlaceholder":"Photo placeholder for {{patientName}}","postalCode":"Postal code","print":"Print","printError":"Print error","printErrorExplainer":"An error occurred in {{errorLocation}}","printIdentifierSticker":"Print identifier sticker","printing":"Printing","relationships":"Relationships","resetOverrides":"Reset overrides","save":"Save","scriptLoadingError":"Failed to load overridden script from {{url}}. Please check that the bundled script is available at the expected URL. Click the button below to reset all import map overrides.","scriptLoadingFailed":"Error: Script failed to load","searchForLocation":"Search for a location","seeMoreLists":"See {{count}} more lists","sex":"Sex","showLess":"Show less","showMore":"Show more","snackbarNotification":"Snackbar notification","state":"State","stateProvince":"State","toggleDevTools":"Toggle dev tools","unknown":"Unknown","unsavedChangesInOpenedWorkspace":"You may have unsaved changes in the opened workspace. Do you want to discard these changes?","unsavedChangesInWorkspace":"There may be unsaved changes in \\"{{workspaceName}}\\". Please save them before opening another workspace.","unsavedChangesTitleText":"Unsaved changes","workspaceHeader":"Workspace header","yearAbbreviation":"yr","yearsAbbreviation":"yrs"}');
|
|
19
19
|
|
|
20
20
|
/***/ })
|
|
21
21
|
|
|
@@ -25,7 +25,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
|
|
|
25
25
|
\****************************************************/
|
|
26
26
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
|
27
27
|
|
|
28
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ clearCurrentUser: () => (/* binding */ clearCurrentUser),\n/* harmony export */ getCurrentUser: () => (/* binding */ getCurrentUser),\n/* harmony export */ getLoggedInUser: () => (/* binding */ getLoggedInUser),\n/* harmony export */ getSessionLocation: () => (/* binding */ getSessionLocation),\n/* harmony export */ getSessionStore: () => (/* binding */ getSessionStore),\n/* harmony export */ refetchCurrentUser: () => (/* binding */ refetchCurrentUser),\n/* harmony export */ sessionStore: () => (/* binding */ sessionStore),\n/* harmony export */ setSessionLocation: () => (/* binding */ setSessionLocation),\n/* harmony export */ setUserLanguage: () => (/* binding */ setUserLanguage),\n/* harmony export */ setUserProperties: () => (/* binding */ setUserProperties),\n/* harmony export */ userHasAccess: () => (/* binding */ userHasAccess)\n/* harmony export */ });\n/* harmony import */ var _openmrs_esm_error_handling__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @openmrs/esm-error-handling */ \"../../framework/esm-error-handling/dist/index.js\");\n/* harmony import */ var _openmrs_esm_state__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @openmrs/esm-state */ \"../../framework/esm-state/dist/index.js\");\n/* harmony import */ var lodash_es__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! lodash-es */ \"../../../node_modules/lodash-es/isUndefined.js\");\n/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! rxjs */ \"webpack/sharing/consume/default/rxjs/rxjs\");\n/* harmony import */ var _openmrs_fetch_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./openmrs-fetch.js */ \"../../framework/esm-api/dist/openmrs-fetch.js\");\n/** @module @category API */ \n\n\n\n\n/** @internal */ const sessionStore = (0,_openmrs_esm_state__WEBPACK_IMPORTED_MODULE_1__.createGlobalStore)('session', {\n loaded: false,\n session: null\n});\nlet lastFetchTimeMillis = 0;\nfunction getCurrentUser(opts = {\n includeAuthStatus: true\n}) {\n if (lastFetchTimeMillis < Date.now() - 1000 * 60 || !sessionStore.getState().loaded) {\n refetchCurrentUser();\n }\n return new rxjs__WEBPACK_IMPORTED_MODULE_2__.Observable((subscriber)=>{\n const handler = (state)=>{\n if (state.loaded) {\n if (opts.includeAuthStatus) {\n subscriber.next(state.session);\n } else {\n subscriber.next(state.session?.user);\n }\n }\n };\n handler(sessionStore.getState());\n // The observable subscribe function should return an unsubscribe function,\n // which happens to be exactly what `subscribe` returns.\n return sessionStore.subscribe(handler);\n });\n}\n\nfunction getSessionStore() {\n if (lastFetchTimeMillis < Date.now() - 1000 * 60 || !sessionStore.getState().loaded) {\n refetchCurrentUser();\n }\n return sessionStore;\n}\n// NB locale is string only if this returns true\nfunction isValidLocale(locale) {\n if (locale === undefined || typeof locale !== 'string') {\n return false;\n }\n try {\n new Intl.Locale(locale);\n } catch (e) {\n return false;\n }\n return true;\n}\nfunction setUserLanguage(data) {\n let locale = data.locale ?? data.user?.userProperties?.defaultLocale;\n if (locale && locale.includes('_')) {\n locale = locale.replaceAll('_', '-');\n }\n if (isValidLocale(locale) && locale !== document.documentElement.getAttribute('lang')) {\n document.documentElement.setAttribute('lang', locale);\n }\n}\nsessionStore.subscribe((state)=>{\n if (state.loaded && state.session) {\n setUserLanguage(state.session);\n }\n});\nfunction userHasPrivilege(requiredPrivilege, user) {\n if (typeof requiredPrivilege === 'string') {\n return !(0,lodash_es__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(user.privileges.find((p)=>requiredPrivilege === p.display));\n } else if (Array.isArray(requiredPrivilege)) {\n return requiredPrivilege.every((rp)=>!(0,lodash_es__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(user.privileges.find((p)=>rp === p.display)));\n } else if (!(0,lodash_es__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(requiredPrivilege)) {\n console.error(`Could not understand privileges \"${requiredPrivilege}\"`);\n }\n return true;\n}\nfunction isSuperUser(user) {\n return !(0,lodash_es__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(user.roles.find((role)=>role.display === 'System Developer'));\n}\n/**\n * The `refetchCurrentUser` function causes a network request to redownload\n * the user. All subscribers to the current user will be notified of the\n * new users once the new version of the user object is downloaded.\n *\n * @returns The same observable as returned by [[getCurrentUser]].\n *\n * #### Example\n * ```js\n * import { refetchCurrentUser } from '@openmrs/esm-api'\n * refetchCurrentUser()\n * ```\n */ function refetchCurrentUser(username, password) {\n lastFetchTimeMillis = Date.now();\n let headers = {};\n if (username && password) {\n headers['Authorization'] = `Basic ${window.btoa(`${username}:${password}`)}`;\n }\n return handleSessionResponse((0,_openmrs_fetch_js__WEBPACK_IMPORTED_MODULE_3__.openmrsFetch)(_openmrs_fetch_js__WEBPACK_IMPORTED_MODULE_3__.sessionEndpoint, {\n headers\n }));\n}\nfunction clearCurrentUser() {\n sessionStore.setState({\n loaded: true,\n session: {\n authenticated: false,\n sessionId: ''\n }\n });\n}\nfunction userHasAccess(requiredPrivilege, user) {\n if (user === undefined) {\n // if the user hasn't been loaded, then return false iff there is a required privilege\n return Boolean(requiredPrivilege);\n }\n if (!Boolean(requiredPrivilege)) {\n // if user exists but no requiredPrivilege is defined\n return true;\n }\n return userHasPrivilege(requiredPrivilege, user) || isSuperUser(user);\n}\nfunction getLoggedInUser() {\n let user;\n let unsubscribe;\n return new Promise((res)=>{\n const handler = (state)=>{\n if (state.loaded && state.session.user) {\n user = state.session.user;\n res(state.session.user);\n if (unsubscribe) {\n unsubscribe();\n }\n }\n };\n handler(sessionStore.getState());\n if (!user) {\n unsubscribe = sessionStore.subscribe(handler);\n }\n });\n}\nfunction getSessionLocation() {\n return new Promise((res, rej)=>{\n const sub = getCurrentUser().subscribe((session)=>{\n res(session.sessionLocation);\n }, rej);\n sub.unsubscribe();\n });\n}\nasync function setSessionLocation(locationUuid, abortController) {\n return handleSessionResponse((0,_openmrs_fetch_js__WEBPACK_IMPORTED_MODULE_3__.openmrsFetch)(_openmrs_fetch_js__WEBPACK_IMPORTED_MODULE_3__.sessionEndpoint, {\n method: 'POST',\n body: {\n sessionLocation: locationUuid\n },\n headers: {\n 'Content-Type': 'application/json'\n },\n signal: abortController.signal\n }));\n}\nasync function setUserProperties(userUuid, userProperties, abortController) {\n if (!abortController) {\n abortController = new AbortController();\n }\n await (0,_openmrs_fetch_js__WEBPACK_IMPORTED_MODULE_3__.openmrsFetch)(`${_openmrs_fetch_js__WEBPACK_IMPORTED_MODULE_3__.restBaseUrl}/user/${userUuid}`, {\n method: 'POST',\n body: {\n userProperties\n },\n headers: {\n 'Content-Type': 'application/json'\n },\n signal: abortController.signal\n });\n return refetchCurrentUser();\n}\nfunction handleSessionResponse(result) {\n return new Promise((resolve, reject)=>{\n result.then((res)=>{\n let nextState;\n if (typeof res?.data === 'object') {\n nextState = {\n loaded: true,\n session: res.data\n };\n sessionStore.setState(nextState);\n resolve(nextState);\n } else {\n nextState = {\n loaded: false,\n session: null\n };\n sessionStore.setState(nextState);\n reject(nextState);\n }\n }).catch((err)=>{\n (0,_openmrs_esm_error_handling__WEBPACK_IMPORTED_MODULE_0__.reportError)(`Failed to fetch new session information: ${err}`);\n const nextState = {\n loaded: false,\n session: null\n };\n sessionStore.setState(nextState);\n reject(nextState);\n });\n });\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vLi4vZnJhbWV3b3JrL2VzbS1hcGkvZGlzdC9jdXJyZW50LXVzZXIuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDBCQUEwQixHQUE2RDtBQUNoQztBQUNmO0FBQ047QUFDOEM7QUFDaEYsY0FBYyxHQUFVLE1BQU1PLGVBQWVOLHFFQUFpQkEsQ0FBQyxXQUFXO0lBQ3RFTyxRQUFRO0lBQ1JDLFNBQVM7QUFDYixHQUFHO0FBQ0gsSUFBSUMsc0JBQXNCO0FBQzFCLFNBQVNDLGVBQWVDLE9BQU87SUFDM0JDLG1CQUFtQjtBQUN2QixDQUFDO0lBQ0csSUFBSUgsc0JBQXNCSSxLQUFLQyxHQUFHLEtBQUssT0FBTyxNQUFNLENBQUNSLGFBQWFTLFFBQVEsR0FBR1IsTUFBTSxFQUFFO1FBQ2pGUztJQUNKO0lBQ0EsT0FBTyxJQUFJZCw0Q0FBVUEsQ0FBQyxDQUFDZTtRQUNuQixNQUFNQyxVQUFVLENBQUNDO1lBQ2IsSUFBSUEsTUFBTVosTUFBTSxFQUFFO2dCQUNkLElBQUlJLEtBQUtDLGlCQUFpQixFQUFFO29CQUN4QkssV0FBV0csSUFBSSxDQUFDRCxNQUFNWCxPQUFPO2dCQUNqQyxPQUFPO29CQUNIUyxXQUFXRyxJQUFJLENBQUNELE1BQU1YLE9BQU8sRUFBRWE7Z0JBQ25DO1lBQ0o7UUFDSjtRQUNBSCxRQUFRWixhQUFhUyxRQUFRO1FBQzdCLDJFQUEyRTtRQUMzRSx3REFBd0Q7UUFDeEQsT0FBT1QsYUFBYWdCLFNBQVMsQ0FBQ0o7SUFDbEM7QUFDSjtBQUMwQjtBQUNuQixTQUFTSztJQUNaLElBQUlkLHNCQUFzQkksS0FBS0MsR0FBRyxLQUFLLE9BQU8sTUFBTSxDQUFDUixhQUFhUyxRQUFRLEdBQUdSLE1BQU0sRUFBRTtRQUNqRlM7SUFDSjtJQUNBLE9BQU9WO0FBQ1g7QUFDQSxnREFBZ0Q7QUFDaEQsU0FBU2tCLGNBQWNDLE1BQU07SUFDekIsSUFBSUEsV0FBV0MsYUFBYSxPQUFPRCxXQUFXLFVBQVU7UUFDcEQsT0FBTztJQUNYO0lB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QUNULElBQUlrQjtZQUNKLElBQUksT0FBT2xCLEtBQUt2QyxTQUFTLFVBQVU7Z0JBQy9CeUQsWUFBWTtvQkFDUmpGLFFBQVE7b0JBQ1JDLFNBQVM4RCxJQUFJdkMsSUFBSTtnQkFDckI7Z0JBQ0F6QixhQUFhd0QsUUFBUSxDQUFDMEI7Z0JBQ3RCSCxRQUFRRztZQUNaLE9BQU87Z0JBQ0hBLFlBQVk7b0JBQ1JqRixRQUFRO29CQUNSQyxTQUFTO2dCQUNiO2dCQUNBRixhQUFhd0QsUUFBUSxDQUFDMEI7Z0JBQ3RCRixPQUFPRTtZQUNYO1FBQ0osR0FBR0MsS0FBSyxDQUFDLENBQUNDO1lBQ04zRix3RUFBV0EsQ0FBQyxDQUFDLHlDQUF5QyxFQUFFMkYsS0FBSztZQUM3RCxNQUFNRixZQUFZO2dCQUNkakYsUUFBUTtnQkFDUkMsU0FBUztZQUNiO1lBQ0FGLGFBQWF3RCxRQUFRLENBQUMwQjtZQUN0QkYsT0FBT0U7UUFDWDtJQUNKO0FBQ0oiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Ab3Blbm1ycy9lc20tYXBwLXNoZWxsLy4uLy4uL2ZyYW1ld29yay9lc20tYXBpL2Rpc3QvY3VycmVudC11c2VyLmpzP2MwMGYiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqIEBtb2R1bGUgQGNhdGVnb3J5IEFQSSAqLyBpbXBvcnQgeyByZXBvcnRFcnJvciB9IGZyb20gXCJAb3Blbm1ycy9lc20tZXJyb3ItaGFuZGxpbmdcIjtcbmltcG9ydCB7IGNyZWF0ZUdsb2JhbFN0b3JlIH0gZnJvbSBcIkBvcGVubXJzL2VzbS1zdGF0ZVwiO1xuaW1wb3J0IHsgaXNVbmRlZmluZWQgfSBmcm9tIFwibG9kYXNoLWVzXCI7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7IG9wZW5tcnNGZXRjaCwgcmVzdEJhc2VVcmwsIHNlc3Npb25FbmRwb2ludCB9IGZyb20gXCIuL29wZW5tcnMtZmV0Y2guanNcIjtcbi8qKiBAaW50ZXJuYWwgKi8gZXhwb3J0IGNvbnN0IHNlc3Npb25TdG9yZSA9IGNyZWF0ZUdsb2JhbFN0b3JlKCdzZXNzaW9uJywge1xuICAgIGxvYWRlZDogZmFsc2UsXG4gICAgc2Vzc2lvbjogbnVsbFxufSk7XG5sZXQgbGFzdEZldGNoVGltZU1pbGxpcyA9IDA7XG5mdW5jdGlvbiBnZXRDdXJyZW50VXNlcihvcHRzID0ge1xuICAgIGluY2x1ZGVBdXRoU3RhdHVzOiB0cnVlXG59KSB7XG4gICAgaWYgKGxhc3RGZXRjaFRpbWVNaWxsaXMgPCBEYXRlLm5vdygpIC0gMTAwMCAqIDYwIHx8ICFzZXNzaW9uU3RvcmUuZ2V0U3RhdGUoKS5sb2FkZWQpIHtcbiAgICAgICAgcmVmZXRjaEN1cnJlbnRVc2VyKCk7XG4gICAgfVxuICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZSgoc3Vic2NyaWJlcik9PntcbiAgICAgICAgY29uc3QgaGFuZGxlciA9IChzdGF0ZSk9PntcbiAgICAgICAgICAgIGlmIChzdGF0ZS5sb2FkZWQpIHtcbiAgICAgICAgICAgICAgICBpZiAob3B0cy5pbmNsdWRlQXV0aFN0YXR1cykge1xuICAgICAgICAgICAgICAgICAgICBzdWJzY3JpYmVyLm5leHQoc3RhdGUuc2Vzc2lvbik7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgc3Vic2NyaWJlci5uZXh0KHN0YXRlLnNlc3Npb24/LnVzZXIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICAgICAgaGFuZGxlcihzZXNzaW9uU3RvcmUuZ2V0U3RhdGUoKSk7XG4gICAgICAgIC8vIFRoZSBvYnNlcnZhYmxlIHN1YnNjcmliZSBmdW5jdGlvbiBzaG91bGQgcmV0dXJuIGFuIHVuc3Vic2NyaWJlIGZ1bmN0aW9uLFxuICAgICAgICAvLyB3aGljaCBoYXBwZW5zIHRvIGJlIGV4YWN0bHkgd2hhdCBgc3Vic2NyaWJlYCByZXR1cm5zLlxuICAgICAgICByZXR1cm4gc2Vzc2lvblN0b3JlLnN1YnNjcmliZShoYW5kbGVyKTtcbiAgICB9KTtcbn1cbmV4cG9ydCB7IGdldEN1cnJlbnRVc2VyIH07XG5leHBvcnQgZnVuY3Rpb24gZ2V0U2Vzc2lvblN0b3JlKCkge1xuICAgIGlmIChsYXN0RmV0Y2hUaW1lTWlsbGlzIDwgRGF0ZS5ub3coKSAtIDEwMDAgKiA2MCB8fCAhc2Vzc2lvblN0b3JlLmdldFN0YXRlKCkubG9hZGVkKSB7XG4gICAgICAgIHJlZmV0Y2hDdXJyZW50VXNlcigpO1xuICAgIH1cbiAgICByZXR1cm4gc2Vzc2lvblN0b3JlO1xufVxuLy8gTkIgbG9jYWxlIGlzIHN0cmluZyBvbmx5IGlmIHRoaXMgcmV0dXJucyB0cnVlXG5mdW5jdGlvbiBpc1ZhbGlkTG9jYWxlKGxvY2FsZSkge1xuICAgIGlmIChsb2NhbGUgPT09IHVuZGVmaW5lZCB8fCB0eXBlb2YgbG9jYWxlICE9PSAnc3RyaW5nJykge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHRyeSB7XG4gICAgICAgIG5ldyBJbnRsLkxvY2FsZShsb2NhbGUpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4gdHJ1ZTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBzZXRVc2VyTGFuZ3VhZ2UoZGF0YSkge1xuICAgIGxldCBsb2NhbGUgPSBkYXRhLmxvY2FsZSA/PyBkYXRhLnVzZXI/LnVzZXJQcm9wZXJ0aWVzPy5kZWZhdWx0TG9jYWxlO1xuICAgIGlmIChsb2NhbGUgJiYgbG9jYWxlLmluY2x1ZGVzKCdfJykpIHtcbiAgICAgICAgbG9jYWxlID0gbG9jYWxlLnJlcGxhY2VBbGwoJ18nLCAnLScpO1xuICAgIH1cbiAgICBpZiAoaXNWYWxpZExvY2FsZShsb2NhbGUpICYmIGxvY2FsZSAhPT0gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmdldEF0dHJpYnV0ZSgnbGFuZycpKSB7XG4gICAgICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2xhbmcnLCBsb2NhbGUpO1xuICAgIH1cbn1cbnNlc3Npb25TdG9yZS5zdWJzY3JpYmUoKHN0YXRlKT0+e1xuICAgIGlmIChzdGF0ZS5sb2FkZWQgJiYgc3RhdGUuc2Vzc2lvbikge1xuICAgICAgICBzZXRVc2VyTGFuZ3VhZ2Uoc3RhdGUuc2Vzc2lvbik7XG4gICAgfVxufSk7XG5mdW5jdGlvbiB1c2VySGFzUHJpdmlsZWdlKHJlcXVpcmVkUHJpdmlsZWdlLCB1c2VyKSB7XG4gICAgaWYgKHR5cGVvZiByZXF1aXJlZFByaXZpbGVnZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgcmV0dXJuICFpc1VuZGVmaW5lZCh1c2VyLnByaXZpbGVnZXMuZmluZCgocCk9PnJlcXVpcmVkUHJpdmlsZWdlID09PSBwLmRpc3BsYXkpKTtcbiAgICB9IGVsc2UgaWYgKEFycmF5LmlzQXJyYXkocmVxdWlyZWRQcml2aWxlZ2UpKSB7XG4gICAgICAgIHJldHVybiByZXF1aXJlZFByaXZpbGVnZS5ldmVyeSgocnApPT4haXNVbmRlZmluZWQodXNlci5wcml2aWxlZ2VzLmZpbmQoKHApPT5ycCA9PT0gcC5kaXNwbGF5KSkpO1xuICAgIH0gZWxzZSBpZiAoIWlzVW5kZWZpbmVkKHJlcXVpcmVkUHJpdmlsZWdlKSkge1xuICAgICAgICBjb25zb2xlLmVycm9yKGBDb3VsZCBub3QgdW5kZXJzdGFuZCBwcml2aWxlZ2VzIFwiJHtyZXF1aXJlZFByaXZpbGVnZX1cImApO1xuICAgIH1cbiAgICByZXR1cm4gdHJ1ZTtcbn1cbmZ1bmN0aW9uIGlzU3VwZXJVc2VyKHVzZXIpIHtcbiAgICByZXR1cm4gIWlzVW5kZWZpbmVkKHVzZXIucm9sZXMuZmluZCgocm9sZSk9PnJvbGUuZGlzcGxheSA9PT0gJ1N5c3RlbSBEZXZlbG9wZXInKSk7XG59XG4vKipcbiAqIFRoZSBgcmVmZXRjaEN1cnJlbnRVc2VyYCBmdW5jdGlvbiBjYXVzZXMgYSBuZXR3b3JrIHJlcXVlc3QgdG8gcmVkb3dubG9hZFxuICogdGhlIHVzZXIuIEFsbCBzdWJzY3JpYmVycyB0byB0aGUgY3VycmVudCB1c2VyIHdpbGwgYmUgbm90aWZpZWQgb2YgdGhlXG4gKiBuZXcgdXNlcnMgb25jZSB0aGUgbmV3IHZlcnNpb24gb2YgdGhlIHVzZXIgb2JqZWN0IGlzIGRvd25sb2FkZWQuXG4gKlxuICogQHJldHVybnMgVGhlIHNhbWUgb2JzZXJ2YWJsZSBhcyByZXR1cm5lZCBieSBbW2dldEN1cnJlbnRVc2VyXV0uXG4gKlxuICogIyMjIyBFeGFtcGxlXG4gKiBgYGBqc1xuICogaW1wb3J0IHsgcmVmZXRjaEN1cnJlbnRVc2VyIH0gZnJvbSAnQG9wZW5tcnMvZXNtLWFwaSdcbiAqIHJlZmV0Y2hDdXJyZW50VXNlcigpXG4gKiBgYGBcbiAqLyBleHBvcnQgZnVuY3Rpb24gcmVmZXRjaEN1cnJlbnRVc2VyKHVzZXJuYW1lLCBwYXNzd29yZCkge1xuICAgIGxhc3RGZXRjaFRpbWVNaWxsaXMgPSBEYXRlLm5vdygpO1xuICAgIGxldCBoZWFkZXJzID0ge307XG4gICAgaWYgKHVzZXJuYW1lICYmIHBhc3N3b3JkKSB7XG4gICAgICAgIGhlYWRlcnNbJ0F1dGhvcml6YXRpb24nXSA9IGBCYXNpYyAke3dpbmRvdy5idG9hKGAke3VzZXJuYW1lfToke3Bhc3N3b3JkfWApfWA7XG4gICAgfVxuICAgIHJldHVybiBoYW5kbGVTZXNzaW9uUmVzcG9uc2Uob3Blbm1yc0ZldGNoKHNlc3Npb25FbmRwb2ludCwge1xuICAgICAgICBoZWFkZXJzXG4gICAgfSkpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGNsZWFyQ3VycmVudFVzZXIoKSB7XG4gICAgc2Vzc2lvblN0b3JlLnNldFN0YXRlKHtcbiAgICAgICAgbG9hZGVkOiB0cnVlLFxuICAgICAgICBzZXNzaW9uOiB7XG4gICAgICAgICAgICBhdXRoZW50aWNhdGVkOiBmYWxzZSxcbiAgICAgICAgICAgIHNlc3Npb25JZDogJydcbiAgICAgICAgfVxuICAgIH0pO1xufVxuZXhwb3J0IGZ1bmN0aW9uIHVzZXJIYXNBY2Nlc3MocmVxdWlyZWRQcml2aWxlZ2UsIHVzZXIpIHtcbiAgICBpZiAodXNlciA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIC8vIGlmIHRoZSB1c2VyIGhhc24ndCBiZWVuIGxvYWRlZCwgdGhlbiByZXR1cm4gZmFsc2UgaWZmIHRoZXJlIGlzIGEgcmVxdWlyZWQgcHJpdmlsZWdlXG4gICAgICAgIHJldHVybiBCb29sZWFuKHJlcXVpcmVkUHJpdmlsZWdlKTtcbiAgICB9XG4gICAgaWYgKCFCb29sZWFuKHJlcXVpcmVkUHJpdmlsZWdlKSkge1xuICAgICAgICAvLyBpZiB1c2VyIGV4aXN0cyBidXQgbm8gcmVxdWlyZWRQcml2aWxlZ2UgaXMgZGVmaW5lZFxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgcmV0dXJuIHVzZXJIYXNQcml2aWxlZ2UocmVxdWlyZWRQcml2aWxlZ2UsIHVzZXIpIHx8IGlzU3VwZXJVc2VyKHVzZXIpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGdldExvZ2dlZEluVXNlcigpIHtcbiAgICBsZXQgdXNlcjtcbiAgICBsZXQgdW5zdWJzY3JpYmU7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXMpPT57XG4gICAgICAgIGNvbnN0IGhhbmRsZXIgPSAoc3RhdGUpPT57XG4gICAgICAgICAgICBpZiAoc3RhdGUubG9hZGVkICYmIHN0YXRlLnNlc3Npb24udXNlcikge1xuICAgICAgICAgICAgICAgIHVzZXIgPSBzdGF0ZS5zZXNzaW9uLnVzZXI7XG4gICAgICAgICAgICAgICAgcmVzKHN0YXRlLnNlc3Npb24udXNlcik7XG4gICAgICAgICAgICAgICAgaWYgKHVuc3Vic2NyaWJlKSB7XG4gICAgICAgICAgICAgICAgICAgIHVuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuICAgICAgICBoYW5kbGVyKHNlc3Npb25TdG9yZS5nZXRTdGF0ZSgpKTtcbiAgICAgICAgaWYgKCF1c2VyKSB7XG4gICAgICAgICAgICB1bnN1YnNjcmliZSA9IHNlc3Npb25TdG9yZS5zdWJzY3JpYmUoaGFuZGxlcik7XG4gICAgICAgIH1cbiAgICB9KTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBnZXRTZXNzaW9uTG9jYXRpb24oKSB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXMsIHJlaik9PntcbiAgICAgICAgY29uc3Qgc3ViID0gZ2V0Q3VycmVudFVzZXIoKS5zdWJzY3JpYmUoKHNlc3Npb24pPT57XG4gICAgICAgICAgICByZXMoc2Vzc2lvbi5zZXNzaW9uTG9jYXRpb24pO1xuICAgICAgICB9LCByZWopO1xuICAgICAgICBzdWIudW5zdWJzY3JpYmUoKTtcbiAgICB9KTtcbn1cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBzZXRTZXNzaW9uTG9jYXRpb24obG9jYXRpb25VdWlkLCBhYm9ydENvbnRyb2xsZXIpIHtcbiAgICByZXR1cm4gaGFuZGxlU2Vzc2lvblJlc3BvbnNlKG9wZW5tcnNGZXRjaChzZXNzaW9uRW5kcG9pbnQsIHtcbiAgICAgICAgbWV0aG9kOiAnUE9TVCcsXG4gICAgICAgIGJvZHk6IHtcbiAgICAgICAgICAgIHNlc3Npb25Mb2NhdGlvbjogbG9jYXRpb25VdWlkXG4gICAgICAgIH0sXG4gICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbidcbiAgICAgICAgfSxcbiAgICAgICAgc2lnbmFsOiBhYm9ydENvbnRyb2xsZXIuc2lnbmFsXG4gICAgfSkpO1xufVxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHNldFVzZXJQcm9wZXJ0aWVzKHVzZXJVdWlkLCB1c2VyUHJvcGVydGllcywgYWJvcnRDb250cm9sbGVyKSB7XG4gICAgaWYgKCFhYm9ydENvbnRyb2xsZXIpIHtcbiAgICAgICAgYWJvcnRDb250cm9sbGVyID0gbmV3IEFib3J0Q29udHJvbGxlcigpO1xuICAgIH1cbiAgICBhd2FpdCBvcGVubXJzRmV0Y2goYCR7cmVzdEJhc2VVcmx9L3VzZXIvJHt1c2VyVXVpZH1gLCB7XG4gICAgICAgIG1ldGhvZDogJ1BPU1QnLFxuICAgICAgICBib2R5OiB7XG4gICAgICAgICAgICB1c2VyUHJvcGVydGllc1xuICAgICAgICB9LFxuICAgICAgICBoZWFkZXJzOiB7XG4gICAgICAgICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nXG4gICAgICAgIH0sXG4gICAgICAgIHNpZ25hbDogYWJvcnRDb250cm9sbGVyLnNpZ25hbFxuICAgIH0pO1xuICAgIHJldHVybiByZWZldGNoQ3VycmVudFVzZXIoKTtcbn1cbmZ1bmN0aW9uIGhhbmRsZVNlc3Npb25SZXNwb25zZShyZXN1bHQpIHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCk9PntcbiAgICAgICAgcmVzdWx0LnRoZW4oKHJlcyk9PntcbiAgICAgICAgICAgIGxldCBuZXh0U3RhdGU7XG4gICAgICAgICAgICBpZiAodHlwZW9mIHJlcz8uZGF0YSA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgICAgICAgICBuZXh0U3RhdGUgPSB7XG4gICAgICAgICAgICAgICAgICAgIGxvYWRlZDogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgc2Vzc2lvbjogcmVzLmRhdGFcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIHNlc3Npb25TdG9yZS5zZXRTdGF0ZShuZXh0U3RhdGUpO1xuICAgICAgICAgICAgICAgIHJlc29sdmUobmV4dFN0YXRlKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgbmV4dFN0YXRlID0ge1xuICAgICAgICAgICAgICAgICAgICBsb2FkZWQ6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICBzZXNzaW9uOiBudWxsXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICBzZXNzaW9uU3RvcmUuc2V0U3RhdGUobmV4dFN0YXRlKTtcbiAgICAgICAgICAgICAgICByZWplY3QobmV4dFN0YXRlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSkuY2F0Y2goKGVycik9PntcbiAgICAgICAgICAgIHJlcG9ydEVycm9yKGBGYWlsZWQgdG8gZmV0Y2ggbmV3IHNlc3Npb24gaW5mb3JtYXRpb246ICR7ZXJyfWApO1xuICAgICAgICAgICAgY29uc3QgbmV4dFN0YXRlID0ge1xuICAgICAgICAgICAgICAgIGxvYWRlZDogZmFsc2UsXG4gICAgICAgICAgICAgICAgc2Vzc2lvbjogbnVsbFxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIHNlc3Npb25TdG9yZS5zZXRTdGF0ZShuZXh0U3RhdGUpO1xuICAgICAgICAgICAgcmVqZWN0KG5leHRTdGF0ZSk7XG4gICAgICAgIH0pO1xuICAgIH0pO1xufVxuIl0sIm5hbWVzIjpbInJlcG9ydEVycm9yIiwiY3JlYXRlR2xvYmFsU3RvcmUiLCJpc1VuZGVmaW5lZCIsIk9ic2VydmFibGUiLCJvcGVubXJzRmV0Y2giLCJyZXN0QmFzZVVybCIsInNlc3Npb25FbmRwb2ludCIsInNlc3Npb25TdG9yZSIsImxvYWRlZCIsInNlc3Npb24iLCJsYXN0RmV0Y2hUaW1lTWlsbGlzIiwiZ2V0Q3VycmVudFVzZXIiLCJvcHRzIiwiaW5jbHVkZUF1dGhTdGF0dXMiLCJEYXRlIiwibm93IiwiZ2V0U3RhdGUiLCJyZWZldGNoQ3VycmVudFVzZXIiLCJzdWJzY3JpYmVyIiwiaGFuZGxlciIsInN0YXRlIiwibmV4dCIsInVzZXIiLCJzdWJzY3JpYmUiLCJnZXRTZXNzaW9uU3RvcmUiLCJpc1ZhbGlkTG9jYWxlIiwibG9jYWxlIiwidW5kZWZpbmVkIiwiSW50bCIsIkxvY2FsZSIsImUiLCJzZXRVc2VyTGFuZ3VhZ2UiLCJkYXRhIiwidXNlclByb3BlcnRpZXMiLCJkZWZhdWx0TG9jYWxlIiwiaW5jbHVkZXMiLCJyZXBsYWNlQWxsIiwiZG9jdW1lbnQiLCJkb2N1bWVudEVsZW1lbnQiLCJnZXRBdHRyaWJ1dGUiLCJzZXRBdHRyaWJ1dGUiLCJ1c2VySGFzUHJpdmlsZWdlIiwicmVxdWlyZWRQcml2aWxlZ2UiLCJwcml2aWxlZ2VzIiwiZmluZCIsInAiLCJkaXNwbGF5IiwiQXJyYXkiLCJpc0FycmF5IiwiZXZlcnkiLCJycCIsImNvbnNvbGUiLCJlcnJvciIsImlzU3VwZXJVc2VyIiwicm9sZXMiLCJyb2xlIiwidXNlcm5hbWUiLCJwYXNzd29yZCIsImhlYWRlcnMiLCJ3aW5kb3ciLCJidG9hIiwiaGFuZGxlU2Vzc2lvblJlc3BvbnNlIiwiY2xlYXJDdXJyZW50VXNlciIsInNldFN0YXRlIiwiYXV0aGVudGljYXRlZCIsInNlc3Npb25JZCIsInVzZXJIYXNBY2Nlc3MiLCJCb29sZWFuIiwiZ2V0TG9nZ2VkSW5Vc2VyIiwidW5zdWJzY3JpYmUiLCJQcm9taXNlIiwicmVzIiwiZ2V0U2Vzc2lvbkxvY2F0aW9uIiwicmVqIiwic3ViIiwic2Vzc2lvbkxvY2F0aW9uIiwic2V0U2Vzc2lvbkxvY2F0aW9uIiwibG9jYXRpb25VdWlkIiwiYWJvcnRDb250cm9sbGVyIiwibWV0aG9kIiwiYm9keSIsInNpZ25hbCIsInNldFVzZXJQcm9wZXJ0aWVzIiwidXNlclV1aWQiLCJBYm9ydENvbnRyb2xsZXIiLCJyZXN1bHQiLCJyZXNvbHZlIiwicmVqZWN0IiwidGhlbiIsIm5leHRTdGF0ZSIsImNhdGNoIiwiZXJyIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///../../framework/esm-api/dist/current-user.js\n");
|
|
28
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ clearCurrentUser: () => (/* binding */ clearCurrentUser),\n/* harmony export */ getCurrentUser: () => (/* binding */ getCurrentUser),\n/* harmony export */ getLoggedInUser: () => (/* binding */ getLoggedInUser),\n/* harmony export */ getSessionLocation: () => (/* binding */ getSessionLocation),\n/* harmony export */ getSessionStore: () => (/* binding */ getSessionStore),\n/* harmony export */ refetchCurrentUser: () => (/* binding */ refetchCurrentUser),\n/* harmony export */ sessionStore: () => (/* binding */ sessionStore),\n/* harmony export */ setSessionLocation: () => (/* binding */ setSessionLocation),\n/* harmony export */ setUserLanguage: () => (/* binding */ setUserLanguage),\n/* harmony export */ setUserProperties: () => (/* binding */ setUserProperties),\n/* harmony export */ userHasAccess: () => (/* binding */ userHasAccess)\n/* harmony export */ });\n/* harmony import */ var _openmrs_esm_error_handling__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @openmrs/esm-error-handling */ \"../../framework/esm-error-handling/dist/index.js\");\n/* harmony import */ var _openmrs_esm_state__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @openmrs/esm-state */ \"../../framework/esm-state/dist/index.js\");\n/* harmony import */ var lodash_es__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! lodash-es */ \"../../../node_modules/lodash-es/isUndefined.js\");\n/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! rxjs */ \"webpack/sharing/consume/default/rxjs/rxjs\");\n/* harmony import */ var _openmrs_fetch_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./openmrs-fetch.js */ \"../../framework/esm-api/dist/openmrs-fetch.js\");\n/** @module @category API */ \n\n\n\n\n/** @internal */ const sessionStore = (0,_openmrs_esm_state__WEBPACK_IMPORTED_MODULE_1__.createGlobalStore)('session', {\n loaded: false,\n session: null\n});\nlet lastFetchTimeMillis = 0;\nfunction getCurrentUser(opts = {\n includeAuthStatus: true\n}) {\n if (lastFetchTimeMillis < Date.now() - 1000 * 60 || !sessionStore.getState().loaded) {\n refetchCurrentUser();\n }\n return new rxjs__WEBPACK_IMPORTED_MODULE_2__.Observable((subscriber)=>{\n const handler = (state)=>{\n if (state.loaded) {\n if (opts.includeAuthStatus) {\n subscriber.next(state.session);\n } else {\n subscriber.next(state.session?.user);\n }\n }\n };\n handler(sessionStore.getState());\n // The observable subscribe function should return an unsubscribe function,\n // which happens to be exactly what `subscribe` returns.\n return sessionStore.subscribe(handler);\n });\n}\n\nfunction getSessionStore() {\n if (lastFetchTimeMillis < Date.now() - 1000 * 60 || !sessionStore.getState().loaded) {\n refetchCurrentUser();\n }\n return sessionStore;\n}\n// NB locale is string only if this returns true\nfunction isValidLocale(locale) {\n if (locale === undefined || typeof locale !== 'string') {\n return false;\n }\n try {\n new Intl.Locale(locale);\n } catch (e) {\n return false;\n }\n return true;\n}\nfunction setUserLanguage(data) {\n let locale = data.locale ?? data.user?.userProperties?.defaultLocale;\n if (locale && locale.includes('_')) {\n locale = locale.replaceAll('_', '-');\n }\n if (isValidLocale(locale) && locale !== document.documentElement.getAttribute('lang')) {\n document.documentElement.setAttribute('lang', locale);\n }\n}\nsessionStore.subscribe((state)=>{\n if (state.loaded && state.session) {\n setUserLanguage(state.session);\n }\n});\nfunction userHasPrivilege(requiredPrivilege, user) {\n if (typeof requiredPrivilege === 'string') {\n return !(0,lodash_es__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(user.privileges.find((p)=>requiredPrivilege === p.display));\n } else if (Array.isArray(requiredPrivilege)) {\n return requiredPrivilege.every((rp)=>!(0,lodash_es__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(user.privileges.find((p)=>rp === p.display)));\n } else if (!(0,lodash_es__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(requiredPrivilege)) {\n console.error(`Could not understand privileges \"${requiredPrivilege}\"`);\n }\n return true;\n}\nfunction isSuperUser(user) {\n return !(0,lodash_es__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(user.roles.find((role)=>role.display === 'System Developer'));\n}\n/**\n * The `refetchCurrentUser` function causes a network request to redownload\n * the user. All subscribers to the current user will be notified of the\n * new users once the new version of the user object is downloaded.\n *\n * @returns The same observable as returned by [[getCurrentUser]].\n *\n * #### Example\n * ```js\n * import { refetchCurrentUser } from '@openmrs/esm-api'\n * refetchCurrentUser()\n * ```\n */ function refetchCurrentUser(username, password) {\n lastFetchTimeMillis = Date.now();\n let headers = {};\n if (username && password) {\n headers['Authorization'] = `Basic ${window.btoa(`${username}:${password}`)}`;\n }\n return handleSessionResponse((0,_openmrs_fetch_js__WEBPACK_IMPORTED_MODULE_3__.openmrsFetch)(_openmrs_fetch_js__WEBPACK_IMPORTED_MODULE_3__.sessionEndpoint, {\n headers\n }));\n}\nfunction clearCurrentUser() {\n sessionStore.setState({\n loaded: true,\n session: {\n authenticated: false,\n sessionId: ''\n }\n });\n}\nfunction userHasAccess(requiredPrivilege, user) {\n if (user === undefined) {\n // if the user hasn't been loaded, then return false iff there is a required privilege\n return !Boolean(requiredPrivilege);\n }\n if (!Boolean(requiredPrivilege)) {\n // if user exists but no requiredPrivilege is defined\n return true;\n }\n return userHasPrivilege(requiredPrivilege, user) || isSuperUser(user);\n}\nfunction getLoggedInUser() {\n let user;\n let unsubscribe;\n return new Promise((res)=>{\n const handler = (state)=>{\n if (state.loaded && state.session.user) {\n user = state.session.user;\n res(state.session.user);\n if (unsubscribe) {\n unsubscribe();\n }\n }\n };\n handler(sessionStore.getState());\n if (!user) {\n unsubscribe = sessionStore.subscribe(handler);\n }\n });\n}\nfunction getSessionLocation() {\n return new Promise((res, rej)=>{\n const sub = getCurrentUser().subscribe((session)=>{\n res(session.sessionLocation);\n }, rej);\n sub.unsubscribe();\n });\n}\nasync function setSessionLocation(locationUuid, abortController) {\n return handleSessionResponse((0,_openmrs_fetch_js__WEBPACK_IMPORTED_MODULE_3__.openmrsFetch)(_openmrs_fetch_js__WEBPACK_IMPORTED_MODULE_3__.sessionEndpoint, {\n method: 'POST',\n body: {\n sessionLocation: locationUuid\n },\n headers: {\n 'Content-Type': 'application/json'\n },\n signal: abortController.signal\n }));\n}\nasync function setUserProperties(userUuid, userProperties, abortController) {\n if (!abortController) {\n abortController = new AbortController();\n }\n await (0,_openmrs_fetch_js__WEBPACK_IMPORTED_MODULE_3__.openmrsFetch)(`${_openmrs_fetch_js__WEBPACK_IMPORTED_MODULE_3__.restBaseUrl}/user/${userUuid}`, {\n method: 'POST',\n body: {\n userProperties\n },\n headers: {\n 'Content-Type': 'application/json'\n },\n signal: abortController.signal\n });\n return refetchCurrentUser();\n}\nfunction handleSessionResponse(result) {\n return new Promise((resolve, reject)=>{\n result.then((res)=>{\n let nextState;\n if (typeof res?.data === 'object') {\n nextState = {\n loaded: true,\n session: res.data\n };\n sessionStore.setState(nextState);\n resolve(nextState);\n } else {\n nextState = {\n loaded: false,\n session: null\n };\n sessionStore.setState(nextState);\n reject(nextState);\n }\n }).catch((err)=>{\n (0,_openmrs_esm_error_handling__WEBPACK_IMPORTED_MODULE_0__.reportError)(`Failed to fetch new session information: ${err}`);\n const nextState = {\n loaded: false,\n session: null\n };\n sessionStore.setState(nextState);\n reject(nextState);\n });\n });\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vLi4vZnJhbWV3b3JrL2VzbS1hcGkvZGlzdC9jdXJyZW50LXVzZXIuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDBCQUEwQixHQUE2RDtBQUNoQztBQUNmO0FBQ047QUFDOEM7QUFDaEYsY0FBYyxHQUFVLE1BQU1PLGVBQWVOLHFFQUFpQkEsQ0FBQyxXQUFXO0lBQ3RFTyxRQUFRO0lBQ1JDLFNBQVM7QUFDYixHQUFHO0FBQ0gsSUFBSUMsc0JBQXNCO0FBQzFCLFNBQVNDLGVBQWVDLE9BQU87SUFDM0JDLG1CQUFtQjtBQUN2QixDQUFDO0lBQ0csSUFBSUgsc0JBQXNCSSxLQUFLQyxHQUFHLEtBQUssT0FBTyxNQUFNLENBQUNSLGFBQWFTLFFBQVEsR0FBR1IsTUFBTSxFQUFFO1FBQ2pGUztJQUNKO0lBQ0EsT0FBTyxJQUFJZCw0Q0FBVUEsQ0FBQyxDQUFDZTtRQUNuQixNQUFNQyxVQUFVLENBQUNDO1lBQ2IsSUFBSUEsTUFBTVosTUFBTSxFQUFFO2dCQUNkLElBQUlJLEtBQUtDLGlCQUFpQixFQUFFO29CQUN4QkssV0FBV0csSUFBSSxDQUFDRCxNQUFNWCxPQUFPO2dCQUNqQyxPQUFPO29CQUNIUyxXQUFXRyxJQUFJLENBQUNELE1BQU1YLE9BQU8sRUFBRWE7Z0JBQ25DO1lBQ0o7UUFDSjtRQUNBSCxRQUFRWixhQUFhUyxRQUFRO1FBQzdCLDJFQUEyRTtRQUMzRSx3REFBd0Q7UUFDeEQsT0FBT1QsYUFBYWdCLFNBQVMsQ0FBQ0o7SUFDbEM7QUFDSjtBQUMwQjtBQUNuQixTQUFTSztJQUNaLElBQUlkLHNCQUFzQkksS0FBS0MsR0FBRyxLQUFLLE9BQU8sTUFBTSxDQUFDUixhQUFhUyxRQUFRLEdBQUdSLE1BQU0sRUFBRTtRQUNqRlM7SUFDSjtJQUNBLE9BQU9WO0FBQ1g7QUFDQSxnREFBZ0Q7QUFDaEQsU0FBU2tCLGNBQWNDLE1BQU07SUFDekIsSUFBSUEsV0FBV0MsYUFBYSxPQUFPRCxXQUFXLFVBQVU7UUFDcEQsT0FBTztJQUNYO0lB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Q2pCO1lBQ1QsSUFBSWtCO1lBQ0osSUFBSSxPQUFPbEIsS0FBS3ZDLFNBQVMsVUFBVTtnQkFDL0J5RCxZQUFZO29CQUNSakYsUUFBUTtvQkFDUkMsU0FBUzhELElBQUl2QyxJQUFJO2dCQUNyQjtnQkFDQXpCLGFBQWF3RCxRQUFRLENBQUMwQjtnQkFDdEJILFFBQVFHO1lBQ1osT0FBTztnQkFDSEEsWUFBWTtvQkFDUmpGLFFBQVE7b0JBQ1JDLFNBQVM7Z0JBQ2I7Z0JBQ0FGLGFBQWF3RCxRQUFRLENBQUMwQjtnQkFDdEJGLE9BQU9FO1lBQ1g7UUFDSixHQUFHQyxLQUFLLENBQUMsQ0FBQ0M7WUFDTjNGLHdFQUFXQSxDQUFDLENBQUMseUNBQXlDLEVBQUUyRixLQUFLO1lBQzdELE1BQU1GLFlBQVk7Z0JBQ2RqRixRQUFRO2dCQUNSQyxTQUFTO1lBQ2I7WUFDQUYsYUFBYXdELFFBQVEsQ0FBQzBCO1lBQ3RCRixPQUFPRTtRQUNYO0lBQ0o7QUFDSiIsInNvdXJjZXMiOlsid2VicGFjazovL0BvcGVubXJzL2VzbS1hcHAtc2hlbGwvLi4vLi4vZnJhbWV3b3JrL2VzbS1hcGkvZGlzdC9jdXJyZW50LXVzZXIuanM/YzAwZiJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiogQG1vZHVsZSBAY2F0ZWdvcnkgQVBJICovIGltcG9ydCB7IHJlcG9ydEVycm9yIH0gZnJvbSBcIkBvcGVubXJzL2VzbS1lcnJvci1oYW5kbGluZ1wiO1xuaW1wb3J0IHsgY3JlYXRlR2xvYmFsU3RvcmUgfSBmcm9tIFwiQG9wZW5tcnMvZXNtLXN0YXRlXCI7XG5pbXBvcnQgeyBpc1VuZGVmaW5lZCB9IGZyb20gXCJsb2Rhc2gtZXNcIjtcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHsgb3Blbm1yc0ZldGNoLCByZXN0QmFzZVVybCwgc2Vzc2lvbkVuZHBvaW50IH0gZnJvbSBcIi4vb3Blbm1ycy1mZXRjaC5qc1wiO1xuLyoqIEBpbnRlcm5hbCAqLyBleHBvcnQgY29uc3Qgc2Vzc2lvblN0b3JlID0gY3JlYXRlR2xvYmFsU3RvcmUoJ3Nlc3Npb24nLCB7XG4gICAgbG9hZGVkOiBmYWxzZSxcbiAgICBzZXNzaW9uOiBudWxsXG59KTtcbmxldCBsYXN0RmV0Y2hUaW1lTWlsbGlzID0gMDtcbmZ1bmN0aW9uIGdldEN1cnJlbnRVc2VyKG9wdHMgPSB7XG4gICAgaW5jbHVkZUF1dGhTdGF0dXM6IHRydWVcbn0pIHtcbiAgICBpZiAobGFzdEZldGNoVGltZU1pbGxpcyA8IERhdGUubm93KCkgLSAxMDAwICogNjAgfHwgIXNlc3Npb25TdG9yZS5nZXRTdGF0ZSgpLmxvYWRlZCkge1xuICAgICAgICByZWZldGNoQ3VycmVudFVzZXIoKTtcbiAgICB9XG4gICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlKChzdWJzY3JpYmVyKT0+e1xuICAgICAgICBjb25zdCBoYW5kbGVyID0gKHN0YXRlKT0+e1xuICAgICAgICAgICAgaWYgKHN0YXRlLmxvYWRlZCkge1xuICAgICAgICAgICAgICAgIGlmIChvcHRzLmluY2x1ZGVBdXRoU3RhdHVzKSB7XG4gICAgICAgICAgICAgICAgICAgIHN1YnNjcmliZXIubmV4dChzdGF0ZS5zZXNzaW9uKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBzdWJzY3JpYmVyLm5leHQoc3RhdGUuc2Vzc2lvbj8udXNlcik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuICAgICAgICBoYW5kbGVyKHNlc3Npb25TdG9yZS5nZXRTdGF0ZSgpKTtcbiAgICAgICAgLy8gVGhlIG9ic2VydmFibGUgc3Vic2NyaWJlIGZ1bmN0aW9uIHNob3VsZCByZXR1cm4gYW4gdW5zdWJzY3JpYmUgZnVuY3Rpb24sXG4gICAgICAgIC8vIHdoaWNoIGhhcHBlbnMgdG8gYmUgZXhhY3RseSB3aGF0IGBzdWJzY3JpYmVgIHJldHVybnMuXG4gICAgICAgIHJldHVybiBzZXNzaW9uU3RvcmUuc3Vic2NyaWJlKGhhbmRsZXIpO1xuICAgIH0pO1xufVxuZXhwb3J0IHsgZ2V0Q3VycmVudFVzZXIgfTtcbmV4cG9ydCBmdW5jdGlvbiBnZXRTZXNzaW9uU3RvcmUoKSB7XG4gICAgaWYgKGxhc3RGZXRjaFRpbWVNaWxsaXMgPCBEYXRlLm5vdygpIC0gMTAwMCAqIDYwIHx8ICFzZXNzaW9uU3RvcmUuZ2V0U3RhdGUoKS5sb2FkZWQpIHtcbiAgICAgICAgcmVmZXRjaEN1cnJlbnRVc2VyKCk7XG4gICAgfVxuICAgIHJldHVybiBzZXNzaW9uU3RvcmU7XG59XG4vLyBOQiBsb2NhbGUgaXMgc3RyaW5nIG9ubHkgaWYgdGhpcyByZXR1cm5zIHRydWVcbmZ1bmN0aW9uIGlzVmFsaWRMb2NhbGUobG9jYWxlKSB7XG4gICAgaWYgKGxvY2FsZSA9PT0gdW5kZWZpbmVkIHx8IHR5cGVvZiBsb2NhbGUgIT09ICdzdHJpbmcnKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgdHJ5IHtcbiAgICAgICAgbmV3IEludGwuTG9jYWxlKGxvY2FsZSk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHJldHVybiB0cnVlO1xufVxuZXhwb3J0IGZ1bmN0aW9uIHNldFVzZXJMYW5ndWFnZShkYXRhKSB7XG4gICAgbGV0IGxvY2FsZSA9IGRhdGEubG9jYWxlID8/IGRhdGEudXNlcj8udXNlclByb3BlcnRpZXM/LmRlZmF1bHRMb2NhbGU7XG4gICAgaWYgKGxvY2FsZSAmJiBsb2NhbGUuaW5jbHVkZXMoJ18nKSkge1xuICAgICAgICBsb2NhbGUgPSBsb2NhbGUucmVwbGFjZUFsbCgnXycsICctJyk7XG4gICAgfVxuICAgIGlmIChpc1ZhbGlkTG9jYWxlKGxvY2FsZSkgJiYgbG9jYWxlICE9PSBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuZ2V0QXR0cmlidXRlKCdsYW5nJykpIHtcbiAgICAgICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNldEF0dHJpYnV0ZSgnbGFuZycsIGxvY2FsZSk7XG4gICAgfVxufVxuc2Vzc2lvblN0b3JlLnN1YnNjcmliZSgoc3RhdGUpPT57XG4gICAgaWYgKHN0YXRlLmxvYWRlZCAmJiBzdGF0ZS5zZXNzaW9uKSB7XG4gICAgICAgIHNldFVzZXJMYW5ndWFnZShzdGF0ZS5zZXNzaW9uKTtcbiAgICB9XG59KTtcbmZ1bmN0aW9uIHVzZXJIYXNQcml2aWxlZ2UocmVxdWlyZWRQcml2aWxlZ2UsIHVzZXIpIHtcbiAgICBpZiAodHlwZW9mIHJlcXVpcmVkUHJpdmlsZWdlID09PSAnc3RyaW5nJykge1xuICAgICAgICByZXR1cm4gIWlzVW5kZWZpbmVkKHVzZXIucHJpdmlsZWdlcy5maW5kKChwKT0+cmVxdWlyZWRQcml2aWxlZ2UgPT09IHAuZGlzcGxheSkpO1xuICAgIH0gZWxzZSBpZiAoQXJyYXkuaXNBcnJheShyZXF1aXJlZFByaXZpbGVnZSkpIHtcbiAgICAgICAgcmV0dXJuIHJlcXVpcmVkUHJpdmlsZWdlLmV2ZXJ5KChycCk9PiFpc1VuZGVmaW5lZCh1c2VyLnByaXZpbGVnZXMuZmluZCgocCk9PnJwID09PSBwLmRpc3BsYXkpKSk7XG4gICAgfSBlbHNlIGlmICghaXNVbmRlZmluZWQocmVxdWlyZWRQcml2aWxlZ2UpKSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoYENvdWxkIG5vdCB1bmRlcnN0YW5kIHByaXZpbGVnZXMgXCIke3JlcXVpcmVkUHJpdmlsZWdlfVwiYCk7XG4gICAgfVxuICAgIHJldHVybiB0cnVlO1xufVxuZnVuY3Rpb24gaXNTdXBlclVzZXIodXNlcikge1xuICAgIHJldHVybiAhaXNVbmRlZmluZWQodXNlci5yb2xlcy5maW5kKChyb2xlKT0+cm9sZS5kaXNwbGF5ID09PSAnU3lzdGVtIERldmVsb3BlcicpKTtcbn1cbi8qKlxuICogVGhlIGByZWZldGNoQ3VycmVudFVzZXJgIGZ1bmN0aW9uIGNhdXNlcyBhIG5ldHdvcmsgcmVxdWVzdCB0byByZWRvd25sb2FkXG4gKiB0aGUgdXNlci4gQWxsIHN1YnNjcmliZXJzIHRvIHRoZSBjdXJyZW50IHVzZXIgd2lsbCBiZSBub3RpZmllZCBvZiB0aGVcbiAqIG5ldyB1c2VycyBvbmNlIHRoZSBuZXcgdmVyc2lvbiBvZiB0aGUgdXNlciBvYmplY3QgaXMgZG93bmxvYWRlZC5cbiAqXG4gKiBAcmV0dXJucyBUaGUgc2FtZSBvYnNlcnZhYmxlIGFzIHJldHVybmVkIGJ5IFtbZ2V0Q3VycmVudFVzZXJdXS5cbiAqXG4gKiAjIyMjIEV4YW1wbGVcbiAqIGBgYGpzXG4gKiBpbXBvcnQgeyByZWZldGNoQ3VycmVudFVzZXIgfSBmcm9tICdAb3Blbm1ycy9lc20tYXBpJ1xuICogcmVmZXRjaEN1cnJlbnRVc2VyKClcbiAqIGBgYFxuICovIGV4cG9ydCBmdW5jdGlvbiByZWZldGNoQ3VycmVudFVzZXIodXNlcm5hbWUsIHBhc3N3b3JkKSB7XG4gICAgbGFzdEZldGNoVGltZU1pbGxpcyA9IERhdGUubm93KCk7XG4gICAgbGV0IGhlYWRlcnMgPSB7fTtcbiAgICBpZiAodXNlcm5hbWUgJiYgcGFzc3dvcmQpIHtcbiAgICAgICAgaGVhZGVyc1snQXV0aG9yaXphdGlvbiddID0gYEJhc2ljICR7d2luZG93LmJ0b2EoYCR7dXNlcm5hbWV9OiR7cGFzc3dvcmR9YCl9YDtcbiAgICB9XG4gICAgcmV0dXJuIGhhbmRsZVNlc3Npb25SZXNwb25zZShvcGVubXJzRmV0Y2goc2Vzc2lvbkVuZHBvaW50LCB7XG4gICAgICAgIGhlYWRlcnNcbiAgICB9KSk7XG59XG5leHBvcnQgZnVuY3Rpb24gY2xlYXJDdXJyZW50VXNlcigpIHtcbiAgICBzZXNzaW9uU3RvcmUuc2V0U3RhdGUoe1xuICAgICAgICBsb2FkZWQ6IHRydWUsXG4gICAgICAgIHNlc3Npb246IHtcbiAgICAgICAgICAgIGF1dGhlbnRpY2F0ZWQ6IGZhbHNlLFxuICAgICAgICAgICAgc2Vzc2lvbklkOiAnJ1xuICAgICAgICB9XG4gICAgfSk7XG59XG5leHBvcnQgZnVuY3Rpb24gdXNlckhhc0FjY2VzcyhyZXF1aXJlZFByaXZpbGVnZSwgdXNlcikge1xuICAgIGlmICh1c2VyID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgLy8gaWYgdGhlIHVzZXIgaGFzbid0IGJlZW4gbG9hZGVkLCB0aGVuIHJldHVybiBmYWxzZSBpZmYgdGhlcmUgaXMgYSByZXF1aXJlZCBwcml2aWxlZ2VcbiAgICAgICAgcmV0dXJuICFCb29sZWFuKHJlcXVpcmVkUHJpdmlsZWdlKTtcbiAgICB9XG4gICAgaWYgKCFCb29sZWFuKHJlcXVpcmVkUHJpdmlsZWdlKSkge1xuICAgICAgICAvLyBpZiB1c2VyIGV4aXN0cyBidXQgbm8gcmVxdWlyZWRQcml2aWxlZ2UgaXMgZGVmaW5lZFxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgcmV0dXJuIHVzZXJIYXNQcml2aWxlZ2UocmVxdWlyZWRQcml2aWxlZ2UsIHVzZXIpIHx8IGlzU3VwZXJVc2VyKHVzZXIpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGdldExvZ2dlZEluVXNlcigpIHtcbiAgICBsZXQgdXNlcjtcbiAgICBsZXQgdW5zdWJzY3JpYmU7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXMpPT57XG4gICAgICAgIGNvbnN0IGhhbmRsZXIgPSAoc3RhdGUpPT57XG4gICAgICAgICAgICBpZiAoc3RhdGUubG9hZGVkICYmIHN0YXRlLnNlc3Npb24udXNlcikge1xuICAgICAgICAgICAgICAgIHVzZXIgPSBzdGF0ZS5zZXNzaW9uLnVzZXI7XG4gICAgICAgICAgICAgICAgcmVzKHN0YXRlLnNlc3Npb24udXNlcik7XG4gICAgICAgICAgICAgICAgaWYgKHVuc3Vic2NyaWJlKSB7XG4gICAgICAgICAgICAgICAgICAgIHVuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuICAgICAgICBoYW5kbGVyKHNlc3Npb25TdG9yZS5nZXRTdGF0ZSgpKTtcbiAgICAgICAgaWYgKCF1c2VyKSB7XG4gICAgICAgICAgICB1bnN1YnNjcmliZSA9IHNlc3Npb25TdG9yZS5zdWJzY3JpYmUoaGFuZGxlcik7XG4gICAgICAgIH1cbiAgICB9KTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBnZXRTZXNzaW9uTG9jYXRpb24oKSB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXMsIHJlaik9PntcbiAgICAgICAgY29uc3Qgc3ViID0gZ2V0Q3VycmVudFVzZXIoKS5zdWJzY3JpYmUoKHNlc3Npb24pPT57XG4gICAgICAgICAgICByZXMoc2Vzc2lvbi5zZXNzaW9uTG9jYXRpb24pO1xuICAgICAgICB9LCByZWopO1xuICAgICAgICBzdWIudW5zdWJzY3JpYmUoKTtcbiAgICB9KTtcbn1cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBzZXRTZXNzaW9uTG9jYXRpb24obG9jYXRpb25VdWlkLCBhYm9ydENvbnRyb2xsZXIpIHtcbiAgICByZXR1cm4gaGFuZGxlU2Vzc2lvblJlc3BvbnNlKG9wZW5tcnNGZXRjaChzZXNzaW9uRW5kcG9pbnQsIHtcbiAgICAgICAgbWV0aG9kOiAnUE9TVCcsXG4gICAgICAgIGJvZHk6IHtcbiAgICAgICAgICAgIHNlc3Npb25Mb2NhdGlvbjogbG9jYXRpb25VdWlkXG4gICAgICAgIH0sXG4gICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbidcbiAgICAgICAgfSxcbiAgICAgICAgc2lnbmFsOiBhYm9ydENvbnRyb2xsZXIuc2lnbmFsXG4gICAgfSkpO1xufVxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHNldFVzZXJQcm9wZXJ0aWVzKHVzZXJVdWlkLCB1c2VyUHJvcGVydGllcywgYWJvcnRDb250cm9sbGVyKSB7XG4gICAgaWYgKCFhYm9ydENvbnRyb2xsZXIpIHtcbiAgICAgICAgYWJvcnRDb250cm9sbGVyID0gbmV3IEFib3J0Q29udHJvbGxlcigpO1xuICAgIH1cbiAgICBhd2FpdCBvcGVubXJzRmV0Y2goYCR7cmVzdEJhc2VVcmx9L3VzZXIvJHt1c2VyVXVpZH1gLCB7XG4gICAgICAgIG1ldGhvZDogJ1BPU1QnLFxuICAgICAgICBib2R5OiB7XG4gICAgICAgICAgICB1c2VyUHJvcGVydGllc1xuICAgICAgICB9LFxuICAgICAgICBoZWFkZXJzOiB7XG4gICAgICAgICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nXG4gICAgICAgIH0sXG4gICAgICAgIHNpZ25hbDogYWJvcnRDb250cm9sbGVyLnNpZ25hbFxuICAgIH0pO1xuICAgIHJldHVybiByZWZldGNoQ3VycmVudFVzZXIoKTtcbn1cbmZ1bmN0aW9uIGhhbmRsZVNlc3Npb25SZXNwb25zZShyZXN1bHQpIHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCk9PntcbiAgICAgICAgcmVzdWx0LnRoZW4oKHJlcyk9PntcbiAgICAgICAgICAgIGxldCBuZXh0U3RhdGU7XG4gICAgICAgICAgICBpZiAodHlwZW9mIHJlcz8uZGF0YSA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgICAgICAgICBuZXh0U3RhdGUgPSB7XG4gICAgICAgICAgICAgICAgICAgIGxvYWRlZDogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgc2Vzc2lvbjogcmVzLmRhdGFcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIHNlc3Npb25TdG9yZS5zZXRTdGF0ZShuZXh0U3RhdGUpO1xuICAgICAgICAgICAgICAgIHJlc29sdmUobmV4dFN0YXRlKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgbmV4dFN0YXRlID0ge1xuICAgICAgICAgICAgICAgICAgICBsb2FkZWQ6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICBzZXNzaW9uOiBudWxsXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICBzZXNzaW9uU3RvcmUuc2V0U3RhdGUobmV4dFN0YXRlKTtcbiAgICAgICAgICAgICAgICByZWplY3QobmV4dFN0YXRlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSkuY2F0Y2goKGVycik9PntcbiAgICAgICAgICAgIHJlcG9ydEVycm9yKGBGYWlsZWQgdG8gZmV0Y2ggbmV3IHNlc3Npb24gaW5mb3JtYXRpb246ICR7ZXJyfWApO1xuICAgICAgICAgICAgY29uc3QgbmV4dFN0YXRlID0ge1xuICAgICAgICAgICAgICAgIGxvYWRlZDogZmFsc2UsXG4gICAgICAgICAgICAgICAgc2Vzc2lvbjogbnVsbFxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIHNlc3Npb25TdG9yZS5zZXRTdGF0ZShuZXh0U3RhdGUpO1xuICAgICAgICAgICAgcmVqZWN0KG5leHRTdGF0ZSk7XG4gICAgICAgIH0pO1xuICAgIH0pO1xufVxuIl0sIm5hbWVzIjpbInJlcG9ydEVycm9yIiwiY3JlYXRlR2xvYmFsU3RvcmUiLCJpc1VuZGVmaW5lZCIsIk9ic2VydmFibGUiLCJvcGVubXJzRmV0Y2giLCJyZXN0QmFzZVVybCIsInNlc3Npb25FbmRwb2ludCIsInNlc3Npb25TdG9yZSIsImxvYWRlZCIsInNlc3Npb24iLCJsYXN0RmV0Y2hUaW1lTWlsbGlzIiwiZ2V0Q3VycmVudFVzZXIiLCJvcHRzIiwiaW5jbHVkZUF1dGhTdGF0dXMiLCJEYXRlIiwibm93IiwiZ2V0U3RhdGUiLCJyZWZldGNoQ3VycmVudFVzZXIiLCJzdWJzY3JpYmVyIiwiaGFuZGxlciIsInN0YXRlIiwibmV4dCIsInVzZXIiLCJzdWJzY3JpYmUiLCJnZXRTZXNzaW9uU3RvcmUiLCJpc1ZhbGlkTG9jYWxlIiwibG9jYWxlIiwidW5kZWZpbmVkIiwiSW50bCIsIkxvY2FsZSIsImUiLCJzZXRVc2VyTGFuZ3VhZ2UiLCJkYXRhIiwidXNlclByb3BlcnRpZXMiLCJkZWZhdWx0TG9jYWxlIiwiaW5jbHVkZXMiLCJyZXBsYWNlQWxsIiwiZG9jdW1lbnQiLCJkb2N1bWVudEVsZW1lbnQiLCJnZXRBdHRyaWJ1dGUiLCJzZXRBdHRyaWJ1dGUiLCJ1c2VySGFzUHJpdmlsZWdlIiwicmVxdWlyZWRQcml2aWxlZ2UiLCJwcml2aWxlZ2VzIiwiZmluZCIsInAiLCJkaXNwbGF5IiwiQXJyYXkiLCJpc0FycmF5IiwiZXZlcnkiLCJycCIsImNvbnNvbGUiLCJlcnJvciIsImlzU3VwZXJVc2VyIiwicm9sZXMiLCJyb2xlIiwidXNlcm5hbWUiLCJwYXNzd29yZCIsImhlYWRlcnMiLCJ3aW5kb3ciLCJidG9hIiwiaGFuZGxlU2Vzc2lvblJlc3BvbnNlIiwiY2xlYXJDdXJyZW50VXNlciIsInNldFN0YXRlIiwiYXV0aGVudGljYXRlZCIsInNlc3Npb25JZCIsInVzZXJIYXNBY2Nlc3MiLCJCb29sZWFuIiwiZ2V0TG9nZ2VkSW5Vc2VyIiwidW5zdWJzY3JpYmUiLCJQcm9taXNlIiwicmVzIiwiZ2V0U2Vzc2lvbkxvY2F0aW9uIiwicmVqIiwic3ViIiwic2Vzc2lvbkxvY2F0aW9uIiwic2V0U2Vzc2lvbkxvY2F0aW9uIiwibG9jYXRpb25VdWlkIiwiYWJvcnRDb250cm9sbGVyIiwibWV0aG9kIiwiYm9keSIsInNpZ25hbCIsInNldFVzZXJQcm9wZXJ0aWVzIiwidXNlclV1aWQiLCJBYm9ydENvbnRyb2xsZXIiLCJyZXN1bHQiLCJyZXNvbHZlIiwicmVqZWN0IiwidGhlbiIsIm5leHRTdGF0ZSIsImNhdGNoIiwiZXJyIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///../../framework/esm-api/dist/current-user.js\n");
|
|
29
29
|
|
|
30
30
|
/***/ }),
|
|
31
31
|
|
|
@@ -1215,7 +1215,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
|
|
|
1215
1215
|
\********************************************************/
|
|
1216
1216
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
|
1217
1217
|
|
|
1218
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ useVisit: () => (/* binding */ useVisit)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"webpack/sharing/consume/default/react/react\");\n/* harmony import */ var swr__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! swr */ \"../../../node_modules/swr/dist/core/index.mjs\");\n/* harmony import */ var dayjs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! dayjs */ \"webpack/sharing/consume/default/dayjs/dayjs\");\n/* harmony import */ var dayjs_plugin_isToday_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! dayjs/plugin/isToday.js */ \"../../../node_modules/dayjs/plugin/isToday.js\");\n/* harmony import */ var _openmrs_esm_api__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @openmrs/esm-api */ \"../../framework/esm-api/dist/index.js\");\n/* harmony import */ var _openmrs_esm_emr_api__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @openmrs/esm-emr-api */ \"../../framework/esm-emr-api/dist/index.js\");\n/* harmony import */ var _useVisitContextStore_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./useVisitContextStore.js */ \"../../framework/esm-react-utils/dist/useVisitContextStore.js\");\n/** @module @category API */ \n\n\n\n\n\n\ndayjs__WEBPACK_IMPORTED_MODULE_2__.extend(dayjs_plugin_isToday_js__WEBPACK_IMPORTED_MODULE_3__);\n/**\n * This React hook returns visit information if the patient UUID is not null. There are\n * potentially two relevant visits at a time: \"active\" and \"current\".\n *\n * The active visit is the most recent visit without an end date. The presence of an active\n * visit generally means that the patient is in the facility.\n *\n * The current visit is the active visit, unless a retrospective visit has been selected.\n * If there is no active visit and no selected retrospective visit, then there is no\n * current visit. If there is no active visit but there is a retrospective visit, then\n * the retrospective visit is the current visit. `currentVisitIsRetrospective` tells you\n * whether the current visit is a retrospective visit.\n *\n * The active visit and current visit require two separate API calls. `error` contains\n * the error from either one, if there is an error. `isValidating` is true if either\n * API call is in progress. `mutate` refreshes the data from both API calls.\n *\n * @param patientUuid Unique patient identifier `string`\n * @param representation The custom representation of the visit\n */ function useVisit(patientUuid, representation = _openmrs_esm_emr_api__WEBPACK_IMPORTED_MODULE_5__.defaultVisitCustomRepresentation) {\n const { patientUuid: visitStorePatientUuid, manuallySetVisitUuid, setVisitContext } = (0,_useVisitContextStore_js__WEBPACK_IMPORTED_MODULE_6__.useVisitContextStore)();\n // Ignore the visit store data if it is not for this patient\n const retrospectiveVisitUuid = patientUuid && visitStorePatientUuid == patientUuid ? manuallySetVisitUuid : null;\n const activeVisitUrlSuffix = `?patient=${patientUuid}&v=${representation}&includeInactive=false`;\n const retrospectiveVisitUrlSuffix = `/${retrospectiveVisitUuid}?v=${representation}`;\n const { data: activeData, error: activeError, mutate: activeMutate, isValidating: activeIsValidating } = (0,swr__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(patientUuid ? `${_openmrs_esm_api__WEBPACK_IMPORTED_MODULE_4__.restBaseUrl}/visit${activeVisitUrlSuffix}` : null, _openmrs_esm_api__WEBPACK_IMPORTED_MODULE_4__.openmrsFetch);\n const { data: retroData, error: retroError, mutate: retroMutate, isValidating: retroIsValidating } = (0,swr__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(patientUuid && retrospectiveVisitUuid ? `${_openmrs_esm_api__WEBPACK_IMPORTED_MODULE_4__.restBaseUrl}/visit${retrospectiveVisitUrlSuffix}` : null, _openmrs_esm_api__WEBPACK_IMPORTED_MODULE_4__.openmrsFetch);\n const activeVisit = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(()=>activeData?.data.results.find((visit)=>visit.stopDatetime === null) ?? null, [\n activeData\n ]);\n const currentVisit = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(()=>retrospectiveVisitUuid && retroData ? retroData.data : null, [\n retroData,\n retrospectiveVisitUuid\n ]);\n const previousCurrentVisit = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(null);\n (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(()=>{\n // if an active visit is created for the visit store patient and they have no visit in context, set the context to the active visit\n if (!activeIsValidating && activeVisit && visitStorePatientUuid === patientUuid && manuallySetVisitUuid === null) {\n setVisitContext(activeVisit);\n }\n if (!retroIsValidating) {\n // if the current visit happened to be active but it just got ended (inactive), remove the\n // visit from context\n if (previousCurrentVisit.current && currentVisit && previousCurrentVisit.current.uuid === currentVisit.uuid && !previousCurrentVisit.current.stopDatetime && currentVisit.stopDatetime) {\n setVisitContext(null);\n }\n previousCurrentVisit.current = currentVisit;\n }\n }, [\n currentVisit,\n manuallySetVisitUuid,\n activeVisit,\n activeIsValidating,\n retroIsValidating,\n visitStorePatientUuid\n ]);\n const mutateVisit = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(()=>{\n activeMutate();\n retroMutate();\n }, [\n activeMutate,\n retroMutate\n ]);\n (0,_useVisitContextStore_js__WEBPACK_IMPORTED_MODULE_6__.useVisitContextStore)(mutateVisit);\n return {\n error: activeError || retroError,\n mutate: mutateVisit,\n isValidating: activeIsValidating || retroIsValidating,\n activeVisit,\n currentVisit,\n currentVisitIsRetrospective: Boolean(retrospectiveVisitUuid),\n isLoading: Boolean((!activeData || retrospectiveVisitUuid && !retroData) && (!activeError || !retroError))\n };\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vLi4vZnJhbWV3b3JrL2VzbS1yZWFjdC11dGlscy9kaXN0L3VzZVZpc2l0LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQUEsMEJBQTBCLEdBQW1FO0FBQ3BFO0FBQ0M7QUFDb0I7QUFDZTtBQUNXO0FBQ1A7QUFDakVLLHlDQUFZLENBQUNDLG9EQUFPQTtBQUNwQjs7Ozs7Ozs7Ozs7Ozs7Ozs7OztDQW1CQyxHQUFVLFNBQVNNLFNBQVNDLFdBQVcsRUFBRUMsaUJBQWlCTCxrRkFBZ0M7SUFDdkYsTUFBTSxFQUFFSSxhQUFhRSxxQkFBcUIsRUFBRUMsb0JBQW9CLEVBQUVDLGVBQWUsRUFBRSxHQUFHUCw4RUFBb0JBO0lBQzFHLDREQUE0RDtJQUM1RCxNQUFNUSx5QkFBeUJMLGVBQWVFLHlCQUF5QkYsY0FBY0csdUJBQXVCO0lBQzVHLE1BQU1HLHVCQUF1QixDQUFDLFNBQVMsRUFBRU4sWUFBWSxHQUFHLEVBQUVDLGVBQWUsc0JBQXNCLENBQUM7SUFDaEcsTUFBTU0sOEJBQThCLENBQUMsQ0FBQyxFQUFFRix1QkFBdUIsR0FBRyxFQUFFSixnQkFBZ0I7SUFDcEYsTUFBTSxFQUFFTyxNQUFNQyxVQUFVLEVBQUVDLE9BQU9DLFdBQVcsRUFBRUMsUUFBUUMsWUFBWSxFQUFFQyxjQUFjQyxrQkFBa0IsRUFBRSxHQUFHeEIsK0NBQU1BLENBQUNTLGNBQWMsR0FBR0wseURBQVdBLENBQUMsTUFBTSxFQUFFVyxzQkFBc0IsR0FBRyxNQUFNWiwwREFBWUE7SUFDaE0sTUFBTSxFQUFFYyxNQUFNUSxTQUFTLEVBQUVOLE9BQU9PLFVBQVUsRUFBRUwsUUFBUU0sV0FBVyxFQUFFSixjQUFjSyxpQkFBaUIsRUFBRSxHQUFHNUIsK0NBQU1BLENBQUNTLGVBQWVLLHlCQUF5QixHQUFHVix5REFBV0EsQ0FBQyxNQUFNLEVBQUVZLDZCQUE2QixHQUFHLE1BQU1iLDBEQUFZQTtJQUM3TixNQUFNMEIsY0FBYy9CLDhDQUFPQSxDQUFDLElBQUlvQixZQUFZRCxLQUFLYSxRQUFRQyxLQUFLLENBQUNDLFFBQVFBLE1BQU1DLFlBQVksS0FBSyxTQUFTLE1BQU07UUFDekdmO0tBQ0g7SUFDRCxNQUFNZ0IsZUFBZXBDLDhDQUFPQSxDQUFDLElBQUlnQiwwQkFBMEJXLFlBQVlBLFVBQVVSLElBQUksR0FBRyxNQUFNO1FBQzFGUTtRQUNBWDtLQUNIO0lBQ0QsTUFBTXFCLHVCQUF1QnBDLDZDQUFNQSxDQUFDO0lBQ3BDRixnREFBU0EsQ0FBQztRQUNOLG1JQUFtSTtRQUNuSSxJQUFJLENBQUMyQixzQkFBc0JLLGVBQWVsQiwwQkFBMEJGLGVBQWVHLHlCQUF5QixNQUFNO1lBQzlHQyxnQkFBZ0JnQjtRQUNwQjtRQUNBLElBQUksQ0FBQ0QsbUJBQW1CO1lBQ3BCLDBGQUEwRjtZQUMxRixxQkFBcUI7WUFDckIsSUFBSU8scUJBQXFCQyxPQUFPLElBQUlGLGdCQUFnQkMscUJBQXFCQyxPQUFPLENBQUNDLElBQUksS0FBS0gsYUFBYUcsSUFBSSxJQUFJLENBQUNGLHFCQUFxQkMsT0FBTyxDQUFDSCxZQUFZLElBQUlDLGFBQWFELFlBQVksRUFBRTtnQkFDcExwQixnQkFBZ0I7WUFDcEI7WUFDQXNCLHFCQUFxQkMsT0FBTyxHQUFHRjtRQUNuQztJQUNKLEdBQUc7UUFDQ0E7UUFDQXRCO1FBQ0FpQjtRQUNBTDtRQUNBSTtRQUNBakI7S0FDSDtJQUNELE1BQU0yQixjQUFjMUMsa0RBQVdBLENBQUM7UUFDNUIwQjtRQUNBSztJQUNKLEdBQUc7UUFDQ0w7UUFDQUs7S0FDSDtJQUNEckIsOEVBQW9CQSxDQUFDZ0M7SUFDckIsT0FBTztRQUNIbkIsT0FBT0MsZUFBZU07UUFDdEJMLFFBQVFpQjtRQUNSZixjQUFjQyxzQkFBc0JJO1FBQ3BDQztRQUNBSztRQUNBSyw2QkFBNkJDLFFBQVExQjtRQUNyQzJCLFdBQVdELFFBQVEsQ0FBQyxDQUFDdEIsY0FBY0osMEJBQTBCLENBQUNXLFNBQVEsS0FBTyxFQUFDTCxlQUFlLENBQUNNLFVBQVM7SUFDM0c7QUFDSiIsInNvdXJjZXMiOlsid2VicGFjazovL0BvcGVubXJzL2VzbS1hcHAtc2hlbGwvLi4vLi4vZnJhbWV3b3JrL2VzbS1yZWFjdC11dGlscy9kaXN0L3VzZVZpc2l0LmpzPzQ4NjYiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqIEBtb2R1bGUgQGNhdGVnb3J5IEFQSSAqLyBpbXBvcnQgeyB1c2VDYWxsYmFjaywgdXNlRWZmZWN0LCB1c2VNZW1vLCB1c2VSZWYgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB1c2VTV1IgZnJvbSBcInN3clwiO1xuaW1wb3J0IGRheWpzIGZyb20gXCJkYXlqc1wiO1xuaW1wb3J0IGlzVG9kYXkgZnJvbSBcImRheWpzL3BsdWdpbi9pc1RvZGF5LmpzXCI7XG5pbXBvcnQgeyBvcGVubXJzRmV0Y2gsIHJlc3RCYXNlVXJsIH0gZnJvbSBcIkBvcGVubXJzL2VzbS1hcGlcIjtcbmltcG9ydCB7IGRlZmF1bHRWaXNpdEN1c3RvbVJlcHJlc2VudGF0aW9uIH0gZnJvbSBcIkBvcGVubXJzL2VzbS1lbXItYXBpXCI7XG5pbXBvcnQgeyB1c2VWaXNpdENvbnRleHRTdG9yZSB9IGZyb20gXCIuL3VzZVZpc2l0Q29udGV4dFN0b3JlLmpzXCI7XG5kYXlqcy5leHRlbmQoaXNUb2RheSk7XG4vKipcbiAqIFRoaXMgUmVhY3QgaG9vayByZXR1cm5zIHZpc2l0IGluZm9ybWF0aW9uIGlmIHRoZSBwYXRpZW50IFVVSUQgaXMgbm90IG51bGwuIFRoZXJlIGFyZVxuICogcG90ZW50aWFsbHkgdHdvIHJlbGV2YW50IHZpc2l0cyBhdCBhIHRpbWU6IFwiYWN0aXZlXCIgYW5kIFwiY3VycmVudFwiLlxuICpcbiAqIFRoZSBhY3RpdmUgdmlzaXQgaXMgdGhlIG1vc3QgcmVjZW50IHZpc2l0IHdpdGhvdXQgYW4gZW5kIGRhdGUuIFRoZSBwcmVzZW5jZSBvZiBhbiBhY3RpdmVcbiAqIHZpc2l0IGdlbmVyYWxseSBtZWFucyB0aGF0IHRoZSBwYXRpZW50IGlzIGluIHRoZSBmYWNpbGl0eS5cbiAqXG4gKiBUaGUgY3VycmVudCB2aXNpdCBpcyB0aGUgYWN0aXZlIHZpc2l0LCB1bmxlc3MgYSByZXRyb3NwZWN0aXZlIHZpc2l0IGhhcyBiZWVuIHNlbGVjdGVkLlxuICogSWYgdGhlcmUgaXMgbm8gYWN0aXZlIHZpc2l0IGFuZCBubyBzZWxlY3RlZCByZXRyb3NwZWN0aXZlIHZpc2l0LCB0aGVuIHRoZXJlIGlzIG5vXG4gKiBjdXJyZW50IHZpc2l0LiBJZiB0aGVyZSBpcyBubyBhY3RpdmUgdmlzaXQgYnV0IHRoZXJlIGlzIGEgcmV0cm9zcGVjdGl2ZSB2aXNpdCwgdGhlblxuICogdGhlIHJldHJvc3BlY3RpdmUgdmlzaXQgaXMgdGhlIGN1cnJlbnQgdmlzaXQuIGBjdXJyZW50VmlzaXRJc1JldHJvc3BlY3RpdmVgIHRlbGxzIHlvdVxuICogd2hldGhlciB0aGUgY3VycmVudCB2aXNpdCBpcyBhIHJldHJvc3BlY3RpdmUgdmlzaXQuXG4gKlxuICogVGhlIGFjdGl2ZSB2aXNpdCBhbmQgY3VycmVudCB2aXNpdCByZXF1aXJlIHR3byBzZXBhcmF0ZSBBUEkgY2FsbHMuIGBlcnJvcmAgY29udGFpbnNcbiAqIHRoZSBlcnJvciBmcm9tIGVpdGhlciBvbmUsIGlmIHRoZXJlIGlzIGFuIGVycm9yLiBgaXNWYWxpZGF0aW5nYCBpcyB0cnVlIGlmIGVpdGhlclxuICogQVBJIGNhbGwgaXMgaW4gcHJvZ3Jlc3MuIGBtdXRhdGVgIHJlZnJlc2hlcyB0aGUgZGF0YSBmcm9tIGJvdGggQVBJIGNhbGxzLlxuICpcbiAqIEBwYXJhbSBwYXRpZW50VXVpZCBVbmlxdWUgcGF0aWVudCBpZGVudGlmaWVyIGBzdHJpbmdgXG4gKiBAcGFyYW0gcmVwcmVzZW50YXRpb24gVGhlIGN1c3RvbSByZXByZXNlbnRhdGlvbiBvZiB0aGUgdmlzaXRcbiAqLyBleHBvcnQgZnVuY3Rpb24gdXNlVmlzaXQocGF0aWVudFV1aWQsIHJlcHJlc2VudGF0aW9uID0gZGVmYXVsdFZpc2l0Q3VzdG9tUmVwcmVzZW50YXRpb24pIHtcbiAgICBjb25zdCB7IHBhdGllbnRVdWlkOiB2aXNpdFN0b3JlUGF0aWVudFV1aWQsIG1hbnVhbGx5U2V0VmlzaXRVdWlkLCBzZXRWaXNpdENvbnRleHQgfSA9IHVzZVZpc2l0Q29udGV4dFN0b3JlKCk7XG4gICAgLy8gSWdub3JlIHRoZSB2aXNpdCBzdG9yZSBkYXRhIGlmIGl0IGlzIG5vdCBmb3IgdGhpcyBwYXRpZW50XG4gICAgY29uc3QgcmV0cm9zcGVjdGl2ZVZpc2l0VXVpZCA9IHBhdGllbnRVdWlkICYmIHZpc2l0U3RvcmVQYXRpZW50VXVpZCA9PSBwYXRpZW50VXVpZCA/IG1hbnVhbGx5U2V0VmlzaXRVdWlkIDogbnVsbDtcbiAgICBjb25zdCBhY3RpdmVWaXNpdFVybFN1ZmZpeCA9IGA/cGF0aWVudD0ke3BhdGllbnRVdWlkfSZ2PSR7cmVwcmVzZW50YXRpb259JmluY2x1ZGVJbmFjdGl2ZT1mYWxzZWA7XG4gICAgY29uc3QgcmV0cm9zcGVjdGl2ZVZpc2l0VXJsU3VmZml4ID0gYC8ke3JldHJvc3BlY3RpdmVWaXNpdFV1aWR9P3Y9JHtyZXByZXNlbnRhdGlvbn1gO1xuICAgIGNvbnN0IHsgZGF0YTogYWN0aXZlRGF0YSwgZXJyb3I6IGFjdGl2ZUVycm9yLCBtdXRhdGU6IGFjdGl2ZU11dGF0ZSwgaXNWYWxpZGF0aW5nOiBhY3RpdmVJc1ZhbGlkYXRpbmcgfSA9IHVzZVNXUihwYXRpZW50VXVpZCA/IGAke3Jlc3RCYXNlVXJsfS92aXNpdCR7YWN0aXZlVmlzaXRVcmxTdWZmaXh9YCA6IG51bGwsIG9wZW5tcnNGZXRjaCk7XG4gICAgY29uc3QgeyBkYXRhOiByZXRyb0RhdGEsIGVycm9yOiByZXRyb0Vycm9yLCBtdXRhdGU6IHJldHJvTXV0YXRlLCBpc1ZhbGlkYXRpbmc6IHJldHJvSXNWYWxpZGF0aW5nIH0gPSB1c2VTV1IocGF0aWVudFV1aWQgJiYgcmV0cm9zcGVjdGl2ZVZpc2l0VXVpZCA/IGAke3Jlc3RCYXNlVXJsfS92aXNpdCR7cmV0cm9zcGVjdGl2ZVZpc2l0VXJsU3VmZml4fWAgOiBudWxsLCBvcGVubXJzRmV0Y2gpO1xuICAgIGNvbnN0IGFjdGl2ZVZpc2l0ID0gdXNlTWVtbygoKT0+YWN0aXZlRGF0YT8uZGF0YS5yZXN1bHRzLmZpbmQoKHZpc2l0KT0+dmlzaXQuc3RvcERhdGV0aW1lID09PSBudWxsKSA/PyBudWxsLCBbXG4gICAgICAgIGFjdGl2ZURhdGFcbiAgICBdKTtcbiAgICBjb25zdCBjdXJyZW50VmlzaXQgPSB1c2VNZW1vKCgpPT5yZXRyb3NwZWN0aXZlVmlzaXRVdWlkICYmIHJldHJvRGF0YSA/IHJldHJvRGF0YS5kYXRhIDogbnVsbCwgW1xuICAgICAgICByZXRyb0RhdGEsXG4gICAgICAgIHJldHJvc3BlY3RpdmVWaXNpdFV1aWRcbiAgICBdKTtcbiAgICBjb25zdCBwcmV2aW91c0N1cnJlbnRWaXNpdCA9IHVzZVJlZihudWxsKTtcbiAgICB1c2VFZmZlY3QoKCk9PntcbiAgICAgICAgLy8gaWYgYW4gYWN0aXZlIHZpc2l0IGlzIGNyZWF0ZWQgZm9yIHRoZSB2aXNpdCBzdG9yZSBwYXRpZW50IGFuZCB0aGV5IGhhdmUgbm8gdmlzaXQgaW4gY29udGV4dCwgc2V0IHRoZSBjb250ZXh0IHRvIHRoZSBhY3RpdmUgdmlzaXRcbiAgICAgICAgaWYgKCFhY3RpdmVJc1ZhbGlkYXRpbmcgJiYgYWN0aXZlVmlzaXQgJiYgdmlzaXRTdG9yZVBhdGllbnRVdWlkID09PSBwYXRpZW50VXVpZCAmJiBtYW51YWxseVNldFZpc2l0VXVpZCA9PT0gbnVsbCkge1xuICAgICAgICAgICAgc2V0VmlzaXRDb250ZXh0KGFjdGl2ZVZpc2l0KTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIXJldHJvSXNWYWxpZGF0aW5nKSB7XG4gICAgICAgICAgICAvLyBpZiB0aGUgY3VycmVudCB2aXNpdCBoYXBwZW5lZCB0byBiZSBhY3RpdmUgYnV0IGl0IGp1c3QgZ290IGVuZGVkIChpbmFjdGl2ZSksIHJlbW92ZSB0aGVcbiAgICAgICAgICAgIC8vIHZpc2l0IGZyb20gY29udGV4dFxuICAgICAgICAgICAgaWYgKHByZXZpb3VzQ3VycmVudFZpc2l0LmN1cnJlbnQgJiYgY3VycmVudFZpc2l0ICYmIHByZXZpb3VzQ3VycmVudFZpc2l0LmN1cnJlbnQudXVpZCA9PT0gY3VycmVudFZpc2l0LnV1aWQgJiYgIXByZXZpb3VzQ3VycmVudFZpc2l0LmN1cnJlbnQuc3RvcERhdGV0aW1lICYmIGN1cnJlbnRWaXNpdC5zdG9wRGF0ZXRpbWUpIHtcbiAgICAgICAgICAgICAgICBzZXRWaXNpdENvbnRleHQobnVsbCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBwcmV2aW91c0N1cnJlbnRWaXNpdC5jdXJyZW50ID0gY3VycmVudFZpc2l0O1xuICAgICAgICB9XG4gICAgfSwgW1xuICAgICAgICBjdXJyZW50VmlzaXQsXG4gICAgICAgIG1hbnVhbGx5U2V0VmlzaXRVdWlkLFxuICAgICAgICBhY3RpdmVWaXNpdCxcbiAgICAgICAgYWN0aXZlSXNWYWxpZGF0aW5nLFxuICAgICAgICByZXRyb0lzVmFsaWRhdGluZyxcbiAgICAgICAgdmlzaXRTdG9yZVBhdGllbnRVdWlkXG4gICAgXSk7XG4gICAgY29uc3QgbXV0YXRlVmlzaXQgPSB1c2VDYWxsYmFjaygoKT0+e1xuICAgICAgICBhY3RpdmVNdXRhdGUoKTtcbiAgICAgICAgcmV0cm9NdXRhdGUoKTtcbiAgICB9LCBbXG4gICAgICAgIGFjdGl2ZU11dGF0ZSxcbiAgICAgICAgcmV0cm9NdXRhdGVcbiAgICBdKTtcbiAgICB1c2VWaXNpdENvbnRleHRTdG9yZShtdXRhdGVWaXNpdCk7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgZXJyb3I6IGFjdGl2ZUVycm9yIHx8IHJldHJvRXJyb3IsXG4gICAgICAgIG11dGF0ZTogbXV0YXRlVmlzaXQsXG4gICAgICAgIGlzVmFsaWRhdGluZzogYWN0aXZlSXNWYWxpZGF0aW5nIHx8IHJldHJvSXNWYWxpZGF0aW5nLFxuICAgICAgICBhY3RpdmVWaXNpdCxcbiAgICAgICAgY3VycmVudFZpc2l0LFxuICAgICAgICBjdXJyZW50VmlzaXRJc1JldHJvc3BlY3RpdmU6IEJvb2xlYW4ocmV0cm9zcGVjdGl2ZVZpc2l0VXVpZCksXG4gICAgICAgIGlzTG9hZGluZzogQm9vbGVhbigoIWFjdGl2ZURhdGEgfHwgcmV0cm9zcGVjdGl2ZVZpc2l0VXVpZCAmJiAhcmV0cm9EYXRhKSAmJiAoIWFjdGl2ZUVycm9yIHx8ICFyZXRyb0Vycm9yKSlcbiAgICB9O1xufVxuIl0sIm5hbWVzIjpbInVzZUNhbGxiYWNrIiwidXNlRWZmZWN0IiwidXNlTWVtbyIsInVzZVJlZiIsInVzZVNXUiIsImRheWpzIiwiaXNUb2RheSIsIm9wZW5tcnNGZXRjaCIsInJlc3RCYXNlVXJsIiwiZGVmYXVsdFZpc2l0Q3VzdG9tUmVwcmVzZW50YXRpb24iLCJ1c2VWaXNpdENvbnRleHRTdG9yZSIsImV4dGVuZCIsInVzZVZpc2l0IiwicGF0aWVudFV1aWQiLCJyZXByZXNlbnRhdGlvbiIsInZpc2l0U3RvcmVQYXRpZW50VXVpZCIsIm1hbnVhbGx5U2V0VmlzaXRVdWlkIiwic2V0VmlzaXRDb250ZXh0IiwicmV0cm9zcGVjdGl2ZVZpc2l0VXVpZCIsImFjdGl2ZVZpc2l0VXJsU3VmZml4IiwicmV0cm9zcGVjdGl2ZVZpc2l0VXJsU3VmZml4IiwiZGF0YSIsImFjdGl2ZURhdGEiLCJlcnJvciIsImFjdGl2ZUVycm9yIiwibXV0YXRlIiwiYWN0aXZlTXV0YXRlIiwiaXNWYWxpZGF0aW5nIiwiYWN0aXZlSXNWYWxpZGF0aW5nIiwicmV0cm9EYXRhIiwicmV0cm9FcnJvciIsInJldHJvTXV0YXRlIiwicmV0cm9Jc1ZhbGlkYXRpbmciLCJhY3RpdmVWaXNpdCIsInJlc3VsdHMiLCJmaW5kIiwidmlzaXQiLCJzdG9wRGF0ZXRpbWUiLCJjdXJyZW50VmlzaXQiLCJwcmV2aW91c0N1cnJlbnRWaXNpdCIsImN1cnJlbnQiLCJ1dWlkIiwibXV0YXRlVmlzaXQiLCJjdXJyZW50VmlzaXRJc1JldHJvc3BlY3RpdmUiLCJCb29sZWFuIiwiaXNMb2FkaW5nIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///../../framework/esm-react-utils/dist/useVisit.js\n");
|
|
1218
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ useVisit: () => (/* binding */ useVisit)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"webpack/sharing/consume/default/react/react\");\n/* harmony import */ var swr__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! swr */ \"../../../node_modules/swr/dist/core/index.mjs\");\n/* harmony import */ var dayjs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! dayjs */ \"webpack/sharing/consume/default/dayjs/dayjs\");\n/* harmony import */ var dayjs_plugin_isToday_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! dayjs/plugin/isToday.js */ \"../../../node_modules/dayjs/plugin/isToday.js\");\n/* harmony import */ var _openmrs_esm_api__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @openmrs/esm-api */ \"../../framework/esm-api/dist/index.js\");\n/* harmony import */ var _openmrs_esm_emr_api__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @openmrs/esm-emr-api */ \"../../framework/esm-emr-api/dist/index.js\");\n/* harmony import */ var _useVisitContextStore_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./useVisitContextStore.js */ \"../../framework/esm-react-utils/dist/useVisitContextStore.js\");\n/** @module @category API */ \n\n\n\n\n\n\ndayjs__WEBPACK_IMPORTED_MODULE_2__.extend(dayjs_plugin_isToday_js__WEBPACK_IMPORTED_MODULE_3__);\n/**\n * This React hook returns visit information if the patient UUID is not null. There are\n * potentially two relevant visits at a time: \"active\" and \"current\".\n *\n * The active visit is the most recent visit without an end date. The presence of an active\n * visit generally means that the patient is in the facility.\n *\n * The current visit is the active visit, unless a retrospective visit has been selected.\n * If there is no active visit and no selected retrospective visit, then there is no\n * current visit. If there is no active visit but there is a retrospective visit, then\n * the retrospective visit is the current visit. `currentVisitIsRetrospective` tells you\n * whether the current visit is a retrospective visit.\n *\n * The active visit and current visit require two separate API calls. `error` contains\n * the error from either one, if there is an error. `isValidating` is true if either\n * API call is in progress. `mutate` refreshes the data from both API calls.\n *\n * @param patientUuid Unique patient identifier `string`\n * @param representation The custom representation of the visit\n */ function useVisit(patientUuid, representation = _openmrs_esm_emr_api__WEBPACK_IMPORTED_MODULE_5__.defaultVisitCustomRepresentation) {\n const { patientUuid: visitStorePatientUuid, manuallySetVisitUuid, setVisitContext } = (0,_useVisitContextStore_js__WEBPACK_IMPORTED_MODULE_6__.useVisitContextStore)();\n // Ignore the visit store data if it is not for this patient\n const retrospectiveVisitUuid = patientUuid && visitStorePatientUuid == patientUuid ? manuallySetVisitUuid : null;\n const activeVisitUrlSuffix = `?patient=${patientUuid}&v=${representation}&includeInactive=false`;\n const retrospectiveVisitUrlSuffix = `/${retrospectiveVisitUuid}?v=${representation}`;\n const { data: activeData, error: activeError, mutate: activeMutate, isValidating: activeIsValidating } = (0,swr__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(patientUuid ? `${_openmrs_esm_api__WEBPACK_IMPORTED_MODULE_4__.restBaseUrl}/visit${activeVisitUrlSuffix}` : null, _openmrs_esm_api__WEBPACK_IMPORTED_MODULE_4__.openmrsFetch);\n const { data: retroData, error: retroError, mutate: retroMutate, isValidating: retroIsValidating } = (0,swr__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(patientUuid && retrospectiveVisitUuid ? `${_openmrs_esm_api__WEBPACK_IMPORTED_MODULE_4__.restBaseUrl}/visit${retrospectiveVisitUrlSuffix}` : null, _openmrs_esm_api__WEBPACK_IMPORTED_MODULE_4__.openmrsFetch);\n const activeVisit = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(()=>activeData?.data.results.find((visit)=>visit.stopDatetime === null) ?? null, [\n activeData\n ]);\n const currentVisit = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(()=>retrospectiveVisitUuid && retroData ? retroData.data : null, [\n retroData,\n retrospectiveVisitUuid\n ]);\n const previousCurrentVisit = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(null);\n (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(()=>{\n // if an active visit is created for the visit store patient and they have no visit in context, set the context to the active visit\n if (!activeIsValidating && activeVisit && visitStorePatientUuid === patientUuid && manuallySetVisitUuid === null) {\n setVisitContext(activeVisit);\n }\n if (!retroIsValidating) {\n // if the current visit happened to be active but it just got ended (inactive), remove the\n // visit from context\n if (previousCurrentVisit.current && currentVisit && previousCurrentVisit.current.uuid === currentVisit.uuid && !previousCurrentVisit.current.stopDatetime && currentVisit.stopDatetime) {\n setVisitContext(null);\n }\n previousCurrentVisit.current = currentVisit;\n }\n }, [\n currentVisit,\n manuallySetVisitUuid,\n activeVisit,\n activeIsValidating,\n retroIsValidating,\n visitStorePatientUuid\n ]);\n const mutateVisit = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(()=>{\n activeMutate();\n retroMutate();\n }, [\n activeMutate,\n retroMutate\n ]);\n (0,_useVisitContextStore_js__WEBPACK_IMPORTED_MODULE_6__.useVisitContextStore)(mutateVisit);\n const waitingForData = Boolean(!activeData || retrospectiveVisitUuid && !retroData);\n const hasRelevantError = Boolean(retrospectiveVisitUuid ? retroError : activeError);\n const isLoading = waitingForData && !hasRelevantError;\n return {\n error: activeError || retroError,\n mutate: mutateVisit,\n isValidating: activeIsValidating || retroIsValidating,\n activeVisit,\n currentVisit,\n currentVisitIsRetrospective: Boolean(retrospectiveVisitUuid),\n isLoading\n };\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vLi4vZnJhbWV3b3JrL2VzbS1yZWFjdC11dGlscy9kaXN0L3VzZVZpc2l0LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQUEsMEJBQTBCLEdBQW1FO0FBQ3BFO0FBQ0M7QUFDb0I7QUFDZTtBQUNXO0FBQ1A7QUFDakVLLHlDQUFZLENBQUNDLG9EQUFPQTtBQUNwQjs7Ozs7Ozs7Ozs7Ozs7Ozs7OztDQW1CQyxHQUFVLFNBQVNNLFNBQVNDLFdBQVcsRUFBRUMsaUJBQWlCTCxrRkFBZ0M7SUFDdkYsTUFBTSxFQUFFSSxhQUFhRSxxQkFBcUIsRUFBRUMsb0JBQW9CLEVBQUVDLGVBQWUsRUFBRSxHQUFHUCw4RUFBb0JBO0lBQzFHLDREQUE0RDtJQUM1RCxNQUFNUSx5QkFBeUJMLGVBQWVFLHlCQUF5QkYsY0FBY0csdUJBQXVCO0lBQzVHLE1BQU1HLHVCQUF1QixDQUFDLFNBQVMsRUFBRU4sWUFBWSxHQUFHLEVBQUVDLGVBQWUsc0JBQXNCLENBQUM7SUFDaEcsTUFBTU0sOEJBQThCLENBQUMsQ0FBQyxFQUFFRix1QkFBdUIsR0FBRyxFQUFFSixnQkFBZ0I7SUFDcEYsTUFBTSxFQUFFTyxNQUFNQyxVQUFVLEVBQUVDLE9BQU9DLFdBQVcsRUFBRUMsUUFBUUMsWUFBWSxFQUFFQyxjQUFjQyxrQkFBa0IsRUFBRSxHQUFHeEIsK0NBQU1BLENBQUNTLGNBQWMsR0FBR0wseURBQVdBLENBQUMsTUFBTSxFQUFFVyxzQkFBc0IsR0FBRyxNQUFNWiwwREFBWUE7SUFDaE0sTUFBTSxFQUFFYyxNQUFNUSxTQUFTLEVBQUVOLE9BQU9PLFVBQVUsRUFBRUwsUUFBUU0sV0FBVyxFQUFFSixjQUFjSyxpQkFBaUIsRUFBRSxHQUFHNUIsK0NBQU1BLENBQUNTLGVBQWVLLHlCQUF5QixHQUFHVix5REFBV0EsQ0FBQyxNQUFNLEVBQUVZLDZCQUE2QixHQUFHLE1BQU1iLDBEQUFZQTtJQUM3TixNQUFNMEIsY0FBYy9CLDhDQUFPQSxDQUFDLElBQUlvQixZQUFZRCxLQUFLYSxRQUFRQyxLQUFLLENBQUNDLFFBQVFBLE1BQU1DLFlBQVksS0FBSyxTQUFTLE1BQU07UUFDekdmO0tBQ0g7SUFDRCxNQUFNZ0IsZUFBZXBDLDhDQUFPQSxDQUFDLElBQUlnQiwwQkFBMEJXLFlBQVlBLFVBQVVSLElBQUksR0FBRyxNQUFNO1FBQzFGUTtRQUNBWDtLQUNIO0lBQ0QsTUFBTXFCLHVCQUF1QnBDLDZDQUFNQSxDQUFDO0lBQ3BDRixnREFBU0EsQ0FBQztRQUNOLG1JQUFtSTtRQUNuSSxJQUFJLENBQUMyQixzQkFBc0JLLGVBQWVsQiwwQkFBMEJGLGVBQWVHLHlCQUF5QixNQUFNO1lBQzlHQyxnQkFBZ0JnQjtRQUNwQjtRQUNBLElBQUksQ0FBQ0QsbUJBQW1CO1lBQ3BCLDBGQUEwRjtZQUMxRixxQkFBcUI7WUFDckIsSUFBSU8scUJBQXFCQyxPQUFPLElBQUlGLGdCQUFnQkMscUJBQXFCQyxPQUFPLENBQUNDLElBQUksS0FBS0gsYUFBYUcsSUFBSSxJQUFJLENBQUNGLHFCQUFxQkMsT0FBTyxDQUFDSCxZQUFZLElBQUlDLGFBQWFELFlBQVksRUFBRTtnQkFDcExwQixnQkFBZ0I7WUFDcEI7WUFDQXNCLHFCQUFxQkMsT0FBTyxHQUFHRjtRQUNuQztJQUNKLEdBQUc7UUFDQ0E7UUFDQXRCO1FBQ0FpQjtRQUNBTDtRQUNBSTtRQUNBakI7S0FDSDtJQUNELE1BQU0yQixjQUFjMUMsa0RBQVdBLENBQUM7UUFDNUIwQjtRQUNBSztJQUNKLEdBQUc7UUFDQ0w7UUFDQUs7S0FDSDtJQUNEckIsOEVBQW9CQSxDQUFDZ0M7SUFDckIsTUFBTUMsaUJBQWlCQyxRQUFRLENBQUN0QixjQUFjSiwwQkFBMEIsQ0FBQ1c7SUFDekUsTUFBTWdCLG1CQUFtQkQsUUFBUTFCLHlCQUF5QlksYUFBYU47SUFDdkUsTUFBTXNCLFlBQVlILGtCQUFrQixDQUFDRTtJQUNyQyxPQUFPO1FBQ0h0QixPQUFPQyxlQUFlTTtRQUN0QkwsUUFBUWlCO1FBQ1JmLGNBQWNDLHNCQUFzQkk7UUFDcENDO1FBQ0FLO1FBQ0FTLDZCQUE2QkgsUUFBUTFCO1FBQ3JDNEI7SUFDSjtBQUNKIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vQG9wZW5tcnMvZXNtLWFwcC1zaGVsbC8uLi8uLi9mcmFtZXdvcmsvZXNtLXJlYWN0LXV0aWxzL2Rpc3QvdXNlVmlzaXQuanM/NDg2NiJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiogQG1vZHVsZSBAY2F0ZWdvcnkgQVBJICovIGltcG9ydCB7IHVzZUNhbGxiYWNrLCB1c2VFZmZlY3QsIHVzZU1lbW8sIHVzZVJlZiB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHVzZVNXUiBmcm9tIFwic3dyXCI7XG5pbXBvcnQgZGF5anMgZnJvbSBcImRheWpzXCI7XG5pbXBvcnQgaXNUb2RheSBmcm9tIFwiZGF5anMvcGx1Z2luL2lzVG9kYXkuanNcIjtcbmltcG9ydCB7IG9wZW5tcnNGZXRjaCwgcmVzdEJhc2VVcmwgfSBmcm9tIFwiQG9wZW5tcnMvZXNtLWFwaVwiO1xuaW1wb3J0IHsgZGVmYXVsdFZpc2l0Q3VzdG9tUmVwcmVzZW50YXRpb24gfSBmcm9tIFwiQG9wZW5tcnMvZXNtLWVtci1hcGlcIjtcbmltcG9ydCB7IHVzZVZpc2l0Q29udGV4dFN0b3JlIH0gZnJvbSBcIi4vdXNlVmlzaXRDb250ZXh0U3RvcmUuanNcIjtcbmRheWpzLmV4dGVuZChpc1RvZGF5KTtcbi8qKlxuICogVGhpcyBSZWFjdCBob29rIHJldHVybnMgdmlzaXQgaW5mb3JtYXRpb24gaWYgdGhlIHBhdGllbnQgVVVJRCBpcyBub3QgbnVsbC4gVGhlcmUgYXJlXG4gKiBwb3RlbnRpYWxseSB0d28gcmVsZXZhbnQgdmlzaXRzIGF0IGEgdGltZTogXCJhY3RpdmVcIiBhbmQgXCJjdXJyZW50XCIuXG4gKlxuICogVGhlIGFjdGl2ZSB2aXNpdCBpcyB0aGUgbW9zdCByZWNlbnQgdmlzaXQgd2l0aG91dCBhbiBlbmQgZGF0ZS4gVGhlIHByZXNlbmNlIG9mIGFuIGFjdGl2ZVxuICogdmlzaXQgZ2VuZXJhbGx5IG1lYW5zIHRoYXQgdGhlIHBhdGllbnQgaXMgaW4gdGhlIGZhY2lsaXR5LlxuICpcbiAqIFRoZSBjdXJyZW50IHZpc2l0IGlzIHRoZSBhY3RpdmUgdmlzaXQsIHVubGVzcyBhIHJldHJvc3BlY3RpdmUgdmlzaXQgaGFzIGJlZW4gc2VsZWN0ZWQuXG4gKiBJZiB0aGVyZSBpcyBubyBhY3RpdmUgdmlzaXQgYW5kIG5vIHNlbGVjdGVkIHJldHJvc3BlY3RpdmUgdmlzaXQsIHRoZW4gdGhlcmUgaXMgbm9cbiAqIGN1cnJlbnQgdmlzaXQuIElmIHRoZXJlIGlzIG5vIGFjdGl2ZSB2aXNpdCBidXQgdGhlcmUgaXMgYSByZXRyb3NwZWN0aXZlIHZpc2l0LCB0aGVuXG4gKiB0aGUgcmV0cm9zcGVjdGl2ZSB2aXNpdCBpcyB0aGUgY3VycmVudCB2aXNpdC4gYGN1cnJlbnRWaXNpdElzUmV0cm9zcGVjdGl2ZWAgdGVsbHMgeW91XG4gKiB3aGV0aGVyIHRoZSBjdXJyZW50IHZpc2l0IGlzIGEgcmV0cm9zcGVjdGl2ZSB2aXNpdC5cbiAqXG4gKiBUaGUgYWN0aXZlIHZpc2l0IGFuZCBjdXJyZW50IHZpc2l0IHJlcXVpcmUgdHdvIHNlcGFyYXRlIEFQSSBjYWxscy4gYGVycm9yYCBjb250YWluc1xuICogdGhlIGVycm9yIGZyb20gZWl0aGVyIG9uZSwgaWYgdGhlcmUgaXMgYW4gZXJyb3IuIGBpc1ZhbGlkYXRpbmdgIGlzIHRydWUgaWYgZWl0aGVyXG4gKiBBUEkgY2FsbCBpcyBpbiBwcm9ncmVzcy4gYG11dGF0ZWAgcmVmcmVzaGVzIHRoZSBkYXRhIGZyb20gYm90aCBBUEkgY2FsbHMuXG4gKlxuICogQHBhcmFtIHBhdGllbnRVdWlkIFVuaXF1ZSBwYXRpZW50IGlkZW50aWZpZXIgYHN0cmluZ2BcbiAqIEBwYXJhbSByZXByZXNlbnRhdGlvbiBUaGUgY3VzdG9tIHJlcHJlc2VudGF0aW9uIG9mIHRoZSB2aXNpdFxuICovIGV4cG9ydCBmdW5jdGlvbiB1c2VWaXNpdChwYXRpZW50VXVpZCwgcmVwcmVzZW50YXRpb24gPSBkZWZhdWx0VmlzaXRDdXN0b21SZXByZXNlbnRhdGlvbikge1xuICAgIGNvbnN0IHsgcGF0aWVudFV1aWQ6IHZpc2l0U3RvcmVQYXRpZW50VXVpZCwgbWFudWFsbHlTZXRWaXNpdFV1aWQsIHNldFZpc2l0Q29udGV4dCB9ID0gdXNlVmlzaXRDb250ZXh0U3RvcmUoKTtcbiAgICAvLyBJZ25vcmUgdGhlIHZpc2l0IHN0b3JlIGRhdGEgaWYgaXQgaXMgbm90IGZvciB0aGlzIHBhdGllbnRcbiAgICBjb25zdCByZXRyb3NwZWN0aXZlVmlzaXRVdWlkID0gcGF0aWVudFV1aWQgJiYgdmlzaXRTdG9yZVBhdGllbnRVdWlkID09IHBhdGllbnRVdWlkID8gbWFudWFsbHlTZXRWaXNpdFV1aWQgOiBudWxsO1xuICAgIGNvbnN0IGFjdGl2ZVZpc2l0VXJsU3VmZml4ID0gYD9wYXRpZW50PSR7cGF0aWVudFV1aWR9JnY9JHtyZXByZXNlbnRhdGlvbn0maW5jbHVkZUluYWN0aXZlPWZhbHNlYDtcbiAgICBjb25zdCByZXRyb3NwZWN0aXZlVmlzaXRVcmxTdWZmaXggPSBgLyR7cmV0cm9zcGVjdGl2ZVZpc2l0VXVpZH0/dj0ke3JlcHJlc2VudGF0aW9ufWA7XG4gICAgY29uc3QgeyBkYXRhOiBhY3RpdmVEYXRhLCBlcnJvcjogYWN0aXZlRXJyb3IsIG11dGF0ZTogYWN0aXZlTXV0YXRlLCBpc1ZhbGlkYXRpbmc6IGFjdGl2ZUlzVmFsaWRhdGluZyB9ID0gdXNlU1dSKHBhdGllbnRVdWlkID8gYCR7cmVzdEJhc2VVcmx9L3Zpc2l0JHthY3RpdmVWaXNpdFVybFN1ZmZpeH1gIDogbnVsbCwgb3Blbm1yc0ZldGNoKTtcbiAgICBjb25zdCB7IGRhdGE6IHJldHJvRGF0YSwgZXJyb3I6IHJldHJvRXJyb3IsIG11dGF0ZTogcmV0cm9NdXRhdGUsIGlzVmFsaWRhdGluZzogcmV0cm9Jc1ZhbGlkYXRpbmcgfSA9IHVzZVNXUihwYXRpZW50VXVpZCAmJiByZXRyb3NwZWN0aXZlVmlzaXRVdWlkID8gYCR7cmVzdEJhc2VVcmx9L3Zpc2l0JHtyZXRyb3NwZWN0aXZlVmlzaXRVcmxTdWZmaXh9YCA6IG51bGwsIG9wZW5tcnNGZXRjaCk7XG4gICAgY29uc3QgYWN0aXZlVmlzaXQgPSB1c2VNZW1vKCgpPT5hY3RpdmVEYXRhPy5kYXRhLnJlc3VsdHMuZmluZCgodmlzaXQpPT52aXNpdC5zdG9wRGF0ZXRpbWUgPT09IG51bGwpID8/IG51bGwsIFtcbiAgICAgICAgYWN0aXZlRGF0YVxuICAgIF0pO1xuICAgIGNvbnN0IGN1cnJlbnRWaXNpdCA9IHVzZU1lbW8oKCk9PnJldHJvc3BlY3RpdmVWaXNpdFV1aWQgJiYgcmV0cm9EYXRhID8gcmV0cm9EYXRhLmRhdGEgOiBudWxsLCBbXG4gICAgICAgIHJldHJvRGF0YSxcbiAgICAgICAgcmV0cm9zcGVjdGl2ZVZpc2l0VXVpZFxuICAgIF0pO1xuICAgIGNvbnN0IHByZXZpb3VzQ3VycmVudFZpc2l0ID0gdXNlUmVmKG51bGwpO1xuICAgIHVzZUVmZmVjdCgoKT0+e1xuICAgICAgICAvLyBpZiBhbiBhY3RpdmUgdmlzaXQgaXMgY3JlYXRlZCBmb3IgdGhlIHZpc2l0IHN0b3JlIHBhdGllbnQgYW5kIHRoZXkgaGF2ZSBubyB2aXNpdCBpbiBjb250ZXh0LCBzZXQgdGhlIGNvbnRleHQgdG8gdGhlIGFjdGl2ZSB2aXNpdFxuICAgICAgICBpZiAoIWFjdGl2ZUlzVmFsaWRhdGluZyAmJiBhY3RpdmVWaXNpdCAmJiB2aXNpdFN0b3JlUGF0aWVudFV1aWQgPT09IHBhdGllbnRVdWlkICYmIG1hbnVhbGx5U2V0VmlzaXRVdWlkID09PSBudWxsKSB7XG4gICAgICAgICAgICBzZXRWaXNpdENvbnRleHQoYWN0aXZlVmlzaXQpO1xuICAgICAgICB9XG4gICAgICAgIGlmICghcmV0cm9Jc1ZhbGlkYXRpbmcpIHtcbiAgICAgICAgICAgIC8vIGlmIHRoZSBjdXJyZW50IHZpc2l0IGhhcHBlbmVkIHRvIGJlIGFjdGl2ZSBidXQgaXQganVzdCBnb3QgZW5kZWQgKGluYWN0aXZlKSwgcmVtb3ZlIHRoZVxuICAgICAgICAgICAgLy8gdmlzaXQgZnJvbSBjb250ZXh0XG4gICAgICAgICAgICBpZiAocHJldmlvdXNDdXJyZW50VmlzaXQuY3VycmVudCAmJiBjdXJyZW50VmlzaXQgJiYgcHJldmlvdXNDdXJyZW50VmlzaXQuY3VycmVudC51dWlkID09PSBjdXJyZW50VmlzaXQudXVpZCAmJiAhcHJldmlvdXNDdXJyZW50VmlzaXQuY3VycmVudC5zdG9wRGF0ZXRpbWUgJiYgY3VycmVudFZpc2l0LnN0b3BEYXRldGltZSkge1xuICAgICAgICAgICAgICAgIHNldFZpc2l0Q29udGV4dChudWxsKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHByZXZpb3VzQ3VycmVudFZpc2l0LmN1cnJlbnQgPSBjdXJyZW50VmlzaXQ7XG4gICAgICAgIH1cbiAgICB9LCBbXG4gICAgICAgIGN1cnJlbnRWaXNpdCxcbiAgICAgICAgbWFudWFsbHlTZXRWaXNpdFV1aWQsXG4gICAgICAgIGFjdGl2ZVZpc2l0LFxuICAgICAgICBhY3RpdmVJc1ZhbGlkYXRpbmcsXG4gICAgICAgIHJldHJvSXNWYWxpZGF0aW5nLFxuICAgICAgICB2aXNpdFN0b3JlUGF0aWVudFV1aWRcbiAgICBdKTtcbiAgICBjb25zdCBtdXRhdGVWaXNpdCA9IHVzZUNhbGxiYWNrKCgpPT57XG4gICAgICAgIGFjdGl2ZU11dGF0ZSgpO1xuICAgICAgICByZXRyb011dGF0ZSgpO1xuICAgIH0sIFtcbiAgICAgICAgYWN0aXZlTXV0YXRlLFxuICAgICAgICByZXRyb011dGF0ZVxuICAgIF0pO1xuICAgIHVzZVZpc2l0Q29udGV4dFN0b3JlKG11dGF0ZVZpc2l0KTtcbiAgICBjb25zdCB3YWl0aW5nRm9yRGF0YSA9IEJvb2xlYW4oIWFjdGl2ZURhdGEgfHwgcmV0cm9zcGVjdGl2ZVZpc2l0VXVpZCAmJiAhcmV0cm9EYXRhKTtcbiAgICBjb25zdCBoYXNSZWxldmFudEVycm9yID0gQm9vbGVhbihyZXRyb3NwZWN0aXZlVmlzaXRVdWlkID8gcmV0cm9FcnJvciA6IGFjdGl2ZUVycm9yKTtcbiAgICBjb25zdCBpc0xvYWRpbmcgPSB3YWl0aW5nRm9yRGF0YSAmJiAhaGFzUmVsZXZhbnRFcnJvcjtcbiAgICByZXR1cm4ge1xuICAgICAgICBlcnJvcjogYWN0aXZlRXJyb3IgfHwgcmV0cm9FcnJvcixcbiAgICAgICAgbXV0YXRlOiBtdXRhdGVWaXNpdCxcbiAgICAgICAgaXNWYWxpZGF0aW5nOiBhY3RpdmVJc1ZhbGlkYXRpbmcgfHwgcmV0cm9Jc1ZhbGlkYXRpbmcsXG4gICAgICAgIGFjdGl2ZVZpc2l0LFxuICAgICAgICBjdXJyZW50VmlzaXQsXG4gICAgICAgIGN1cnJlbnRWaXNpdElzUmV0cm9zcGVjdGl2ZTogQm9vbGVhbihyZXRyb3NwZWN0aXZlVmlzaXRVdWlkKSxcbiAgICAgICAgaXNMb2FkaW5nXG4gICAgfTtcbn1cbiJdLCJuYW1lcyI6WyJ1c2VDYWxsYmFjayIsInVzZUVmZmVjdCIsInVzZU1lbW8iLCJ1c2VSZWYiLCJ1c2VTV1IiLCJkYXlqcyIsImlzVG9kYXkiLCJvcGVubXJzRmV0Y2giLCJyZXN0QmFzZVVybCIsImRlZmF1bHRWaXNpdEN1c3RvbVJlcHJlc2VudGF0aW9uIiwidXNlVmlzaXRDb250ZXh0U3RvcmUiLCJleHRlbmQiLCJ1c2VWaXNpdCIsInBhdGllbnRVdWlkIiwicmVwcmVzZW50YXRpb24iLCJ2aXNpdFN0b3JlUGF0aWVudFV1aWQiLCJtYW51YWxseVNldFZpc2l0VXVpZCIsInNldFZpc2l0Q29udGV4dCIsInJldHJvc3BlY3RpdmVWaXNpdFV1aWQiLCJhY3RpdmVWaXNpdFVybFN1ZmZpeCIsInJldHJvc3BlY3RpdmVWaXNpdFVybFN1ZmZpeCIsImRhdGEiLCJhY3RpdmVEYXRhIiwiZXJyb3IiLCJhY3RpdmVFcnJvciIsIm11dGF0ZSIsImFjdGl2ZU11dGF0ZSIsImlzVmFsaWRhdGluZyIsImFjdGl2ZUlzVmFsaWRhdGluZyIsInJldHJvRGF0YSIsInJldHJvRXJyb3IiLCJyZXRyb011dGF0ZSIsInJldHJvSXNWYWxpZGF0aW5nIiwiYWN0aXZlVmlzaXQiLCJyZXN1bHRzIiwiZmluZCIsInZpc2l0Iiwic3RvcERhdGV0aW1lIiwiY3VycmVudFZpc2l0IiwicHJldmlvdXNDdXJyZW50VmlzaXQiLCJjdXJyZW50IiwidXVpZCIsIm11dGF0ZVZpc2l0Iiwid2FpdGluZ0ZvckRhdGEiLCJCb29sZWFuIiwiaGFzUmVsZXZhbnRFcnJvciIsImlzTG9hZGluZyIsImN1cnJlbnRWaXNpdElzUmV0cm9zcGVjdGl2ZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///../../framework/esm-react-utils/dist/useVisit.js\n");
|
|
1219
1219
|
|
|
1220
1220
|
/***/ }),
|
|
1221
1221
|
|
|
@@ -1255,7 +1255,17 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
|
|
|
1255
1255
|
\***********************************************/
|
|
1256
1256
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
|
1257
1257
|
|
|
1258
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ createGlobalStore: () => (/* binding */ createGlobalStore),\n/* harmony export */ getGlobalStore: () => (/* binding */ getGlobalStore),\n/* harmony export */ registerGlobalStore: () => (/* binding */ registerGlobalStore),\n/* harmony export */ subscribeTo: () => (/* binding */ subscribeTo)\n/* harmony export */ });\n/* harmony import */ var _openmrs_esm_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @openmrs/esm-utils */ \"../../framework/esm-utils/dist/shallowEqual.js\");\n/* harmony import */ var zustand_vanilla__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zustand/vanilla */ \"../../../node_modules/zustand/esm/vanilla.mjs\");\n/** @module @category Store */ \n\nconst availableStores = {};\n// Check if we're in a test environment (Vitest or Jest)\nconst isTestEnvironment = ()=>{\n try {\n return false || typeof process !== 'undefined' && (process.env.VITEST === 'true' || process.env.JEST_WORKER_ID !== undefined) || typeof globalThis !== 'undefined' && ('__vitest_worker__' in globalThis || '__jest__' in globalThis);\n } catch {\n return false;\n }\n};\n// spaEnv isn't available immediately. Wait a bit before making stores available\n// on window in development mode.\nsetTimeout(()=>{\n if (typeof window !== 'undefined' && window.spaEnv === 'development') {\n window['stores'] = availableStores;\n }\n}, 1000);\n/**\n * Creates a Zustand store.\n *\n * @param name A name by which the store can be looked up later.\n * Must be unique across the entire application.\n * @param initialState An object which will be the initial state of the store.\n * @returns The newly created store.\n */ function createGlobalStore(name, initialState) {\n const available = availableStores[name];\n if (available) {\n if (available.active) {\n if (!isTestEnvironment()) {\n console.error(`Attempted to override the existing store ${name}. Make sure that stores are only created once.`);\n }\n } else {\n available.value.setState(initialState, true);\n }\n available.active = true;\n return available.value;\n } else {\n const store = (0,zustand_vanilla__WEBPACK_IMPORTED_MODULE_0__.createStore)()(()=>initialState);\n availableStores[name] = {\n value: store,\n active: true\n };\n return store;\n }\n}\n/**\n * Registers an existing Zustand store.\n *\n * @param name A name by which the store can be looked up later.\n * Must be unique across the entire application.\n * @param store The Zustand store to use for this.\n * @returns The newly registered store.\n */ function registerGlobalStore(name, store) {\n const available = availableStores[name];\n if (available) {\n if (available.active) {\n if (!isTestEnvironment()) {\n console.error(`Attempted to override the existing store ${name}. Make sure that stores are only created once.`);\n }\n } else {\n available.value = store;\n }\n available.active = true;\n return available.value;\n } else {\n availableStores[name] = {\n value: store,\n active: true\n };\n return store;\n }\n}\n/**\n * Returns the existing store named `name`,\n * or creates a new store named `name` if none exists.\n *\n * @param name The name of the store to look up.\n * @param fallbackState The initial value of the new store if no store named `name` exists.\n * @returns The found or newly created store.\n */ function getGlobalStore(name, fallbackState) {\n const available = availableStores[name];\n if (!available) {\n const store = (0,zustand_vanilla__WEBPACK_IMPORTED_MODULE_0__.createStore)()(()=>fallbackState ?? {});\n availableStores[name] = {\n value: store,\n active: false\n };\n return store;\n }\n return available.value;\n}\nfunction subscribeTo(...args) {\n const [store, select, handle] = args;\n const handler = typeof handle === 'undefined' ? select : handle;\n const selector = typeof handle === 'undefined' ? (state)=>state : select;\n handler(selector(store.getState()));\n return store.subscribe((state, previous)=>{\n const current = selector(state);\n if (!(0,_openmrs_esm_utils__WEBPACK_IMPORTED_MODULE_1__.shallowEqual)(previous, current)) {\n handler(current);\n }\n });\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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Q0FBQyxDQUFDRixPQUFPRztRQUMzQixNQUFNQyxVQUFVTCxTQUFTQztRQUN6QixJQUFJLENBQUNqQyxnRUFBWUEsQ0FBQ29DLFVBQVVDLFVBQVU7WUFDbENOLFFBQVFNO1FBQ1o7SUFDSjtBQUNKIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vQG9wZW5tcnMvZXNtLWFwcC1zaGVsbC8uLi8uLi9mcmFtZXdvcmsvZXNtLXN0YXRlL2Rpc3Qvc3RhdGUuanM/MDBlYyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiogQG1vZHVsZSBAY2F0ZWdvcnkgU3RvcmUgKi8gaW1wb3J0IHsgc2hhbGxvd0VxdWFsIH0gZnJvbSBcIkBvcGVubXJzL2VzbS11dGlsc1wiO1xuaW1wb3J0IHsgY3JlYXRlU3RvcmUgfSBmcm9tIFwienVzdGFuZC92YW5pbGxhXCI7XG5jb25zdCBhdmFpbGFibGVTdG9yZXMgPSB7fTtcbi8vIENoZWNrIGlmIHdlJ3JlIGluIGEgdGVzdCBlbnZpcm9ubWVudCAoVml0ZXN0IG9yIEplc3QpXG5jb25zdCBpc1Rlc3RFbnZpcm9ubWVudCA9ICgpPT57XG4gICAgdHJ5IHtcbiAgICAgICAgcmV0dXJuIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSAndGVzdCcgfHwgdHlwZW9mIHByb2Nlc3MgIT09ICd1bmRlZmluZWQnICYmIChwcm9jZXNzLmVudi5WSVRFU1QgPT09ICd0cnVlJyB8fCBwcm9jZXNzLmVudi5KRVNUX1dPUktFUl9JRCAhPT0gdW5kZWZpbmVkKSB8fCB0eXBlb2YgZ2xvYmFsVGhpcyAhPT0gJ3VuZGVmaW5lZCcgJiYgKCdfX3ZpdGVzdF93b3JrZXJfXycgaW4gZ2xvYmFsVGhpcyB8fCAnX19qZXN0X18nIGluIGdsb2JhbFRoaXMpO1xuICAgIH0gY2F0Y2ggIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbn07XG4vLyBzcGFFbnYgaXNuJ3QgYXZhaWxhYmxlIGltbWVkaWF0ZWx5LiBXYWl0IGEgYml0IGJlZm9yZSBtYWtpbmcgc3RvcmVzIGF2YWlsYWJsZVxuLy8gb24gd2luZG93IGluIGRldmVsb3BtZW50IG1vZGUuXG5zZXRUaW1lb3V0KCgpPT57XG4gICAgaWYgKHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnICYmIHdpbmRvdy5zcGFFbnYgPT09ICdkZXZlbG9wbWVudCcpIHtcbiAgICAgICAgd2luZG93WydzdG9yZXMnXSA9IGF2YWlsYWJsZVN0b3JlcztcbiAgICB9XG59LCAxMDAwKTtcbi8qKlxuICogQ3JlYXRlcyBhIFp1c3RhbmQgc3RvcmUuXG4gKlxuICogQHBhcmFtIG5hbWUgQSBuYW1lIGJ5IHdoaWNoIHRoZSBzdG9yZSBjYW4gYmUgbG9va2VkIHVwIGxhdGVyLlxuICogICAgTXVzdCBiZSB1bmlxdWUgYWNyb3NzIHRoZSBlbnRpcmUgYXBwbGljYXRpb24uXG4gKiBAcGFyYW0gaW5pdGlhbFN0YXRlIEFuIG9iamVjdCB3aGljaCB3aWxsIGJlIHRoZSBpbml0aWFsIHN0YXRlIG9mIHRoZSBzdG9yZS5cbiAqIEByZXR1cm5zIFRoZSBuZXdseSBjcmVhdGVkIHN0b3JlLlxuICovIGV4cG9ydCBmdW5jdGlvbiBjcmVhdGVHbG9iYWxTdG9yZShuYW1lLCBpbml0aWFsU3RhdGUpIHtcbiAgICBjb25zdCBhdmFpbGFibGUgPSBhdmFpbGFibGVTdG9yZXNbbmFtZV07XG4gICAgaWYgKGF2YWlsYWJsZSkge1xuICAgICAgICBpZiAoYXZhaWxhYmxlLmFjdGl2ZSkge1xuICAgICAgICAgICAgaWYgKCFpc1Rlc3RFbnZpcm9ubWVudCgpKSB7XG4gICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcihgQXR0ZW1wdGVkIHRvIG92ZXJyaWRlIHRoZSBleGlzdGluZyBzdG9yZSAke25hbWV9LiBNYWtlIHN1cmUgdGhhdCBzdG9yZXMgYXJlIG9ubHkgY3JlYXRlZCBvbmNlLmApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgYXZhaWxhYmxlLnZhbHVlLnNldFN0YXRlKGluaXRpYWxTdGF0ZSwgdHJ1ZSk7XG4gICAgICAgIH1cbiAgICAgICAgYXZhaWxhYmxlLmFjdGl2ZSA9IHRydWU7XG4gICAgICAgIHJldHVybiBhdmFpbGFibGUudmFsdWU7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3Qgc3RvcmUgPSBjcmVhdGVTdG9yZSgpKCgpPT5pbml0aWFsU3RhdGUpO1xuICAgICAgICBhdmFpbGFibGVTdG9yZXNbbmFtZV0gPSB7XG4gICAgICAgICAgICB2YWx1ZTogc3RvcmUsXG4gICAgICAgICAgICBhY3RpdmU6IHRydWVcbiAgICAgICAgfTtcbiAgICAgICAgcmV0dXJuIHN0b3JlO1xuICAgIH1cbn1cbi8qKlxuICogUmVnaXN0ZXJzIGFuIGV4aXN0aW5nIFp1c3RhbmQgc3RvcmUuXG4gKlxuICogQHBhcmFtIG5hbWUgQSBuYW1lIGJ5IHdoaWNoIHRoZSBzdG9yZSBjYW4gYmUgbG9va2VkIHVwIGxhdGVyLlxuICogICAgTXVzdCBiZSB1bmlxdWUgYWNyb3NzIHRoZSBlbnRpcmUgYXBwbGljYXRpb24uXG4gKiBAcGFyYW0gc3RvcmUgVGhlIFp1c3RhbmQgc3RvcmUgdG8gdXNlIGZvciB0aGlzLlxuICogQHJldHVybnMgVGhlIG5ld2x5IHJlZ2lzdGVyZWQgc3RvcmUuXG4gKi8gZXhwb3J0IGZ1bmN0aW9uIHJlZ2lzdGVyR2xvYmFsU3RvcmUobmFtZSwgc3RvcmUpIHtcbiAgICBjb25zdCBhdmFpbGFibGUgPSBhdmFpbGFibGVTdG9yZXNbbmFtZV07XG4gICAgaWYgKGF2YWlsYWJsZSkge1xuICAgICAgICBpZiAoYXZhaWxhYmxlLmFjdGl2ZSkge1xuICAgICAgICAgICAgaWYgKCFpc1Rlc3RFbnZpcm9ubWVudCgpKSB7XG4gICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcihgQXR0ZW1wdGVkIHRvIG92ZXJyaWRlIHRoZSBleGlzdGluZyBzdG9yZSAke25hbWV9LiBNYWtlIHN1cmUgdGhhdCBzdG9yZXMgYXJlIG9ubHkgY3JlYXRlZCBvbmNlLmApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgYXZhaWxhYmxlLnZhbHVlID0gc3RvcmU7XG4gICAgICAgIH1cbiAgICAgICAgYXZhaWxhYmxlLmFjdGl2ZSA9IHRydWU7XG4gICAgICAgIHJldHVybiBhdmFpbGFibGUudmFsdWU7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgYXZhaWxhYmxlU3RvcmVzW25hbWVdID0ge1xuICAgICAgICAgICAgdmFsdWU6IHN0b3JlLFxuICAgICAgICAgICAgYWN0aXZlOiB0cnVlXG4gICAgICAgIH07XG4gICAgICAgIHJldHVybiBzdG9yZTtcbiAgICB9XG59XG4vKipcbiAqIFJldHVybnMgdGhlIGV4aXN0aW5nIHN0b3JlIG5hbWVkIGBuYW1lYCxcbiAqIG9yIGNyZWF0ZXMgYSBuZXcgc3RvcmUgbmFtZWQgYG5hbWVgIGlmIG5vbmUgZXhpc3RzLlxuICpcbiAqIEBwYXJhbSBuYW1lIFRoZSBuYW1lIG9mIHRoZSBzdG9yZSB0byBsb29rIHVwLlxuICogQHBhcmFtIGZhbGxiYWNrU3RhdGUgVGhlIGluaXRpYWwgdmFsdWUgb2YgdGhlIG5ldyBzdG9yZSBpZiBubyBzdG9yZSBuYW1lZCBgbmFtZWAgZXhpc3RzLlxuICogQHJldHVybnMgVGhlIGZvdW5kIG9yIG5ld2x5IGNyZWF0ZWQgc3RvcmUuXG4gKi8gZXhwb3J0IGZ1bmN0aW9uIGdldEdsb2JhbFN0b3JlKG5hbWUsIGZhbGxiYWNrU3RhdGUpIHtcbiAgICBjb25zdCBhdmFpbGFibGUgPSBhdmFpbGFibGVTdG9yZXNbbmFtZV07XG4gICAgaWYgKCFhdmFpbGFibGUpIHtcbiAgICAgICAgY29uc3Qgc3RvcmUgPSBjcmVhdGVTdG9yZSgpKCgpPT5mYWxsYmFja1N0YXRlID8/IHt9KTtcbiAgICAgICAgYXZhaWxhYmxlU3RvcmVzW25hbWVdID0ge1xuICAgICAgICAgICAgdmFsdWU6IHN0b3JlLFxuICAgICAgICAgICAgYWN0aXZlOiBmYWxzZVxuICAgICAgICB9O1xuICAgICAgICByZXR1cm4gc3RvcmU7XG4gICAgfVxuICAgIHJldHVybiBhdmFpbGFibGUudmFsdWU7XG59XG5leHBvcnQgZnVuY3Rpb24gc3Vic2NyaWJlVG8oLi4uYXJncykge1xuICAgIGNvbnN0IFtzdG9yZSwgc2VsZWN0LCBoYW5kbGVdID0gYXJncztcbiAgICBjb25zdCBoYW5kbGVyID0gdHlwZW9mIGhhbmRsZSA9PT0gJ3VuZGVmaW5lZCcgPyBzZWxlY3QgOiBoYW5kbGU7XG4gICAgY29uc3Qgc2VsZWN0b3IgPSB0eXBlb2YgaGFuZGxlID09PSAndW5kZWZpbmVkJyA/IChzdGF0ZSk9PnN0YXRlIDogc2VsZWN0O1xuICAgIGhhbmRsZXIoc2VsZWN0b3Ioc3RvcmUuZ2V0U3RhdGUoKSkpO1xuICAgIHJldHVybiBzdG9yZS5zdWJzY3JpYmUoKHN0YXRlLCBwcmV2aW91cyk9PntcbiAgICAgICAgY29uc3QgY3VycmVudCA9IHNlbGVjdG9yKHN0YXRlKTtcbiAgICAgICAgaWYgKCFzaGFsbG93RXF1YWwocHJldmlvdXMsIGN1cnJlbnQpKSB7XG4gICAgICAgICAgICBoYW5kbGVyKGN1cnJlbnQpO1xuICAgICAgICB9XG4gICAgfSk7XG59XG4iXSwibmFtZXMiOlsic2hhbGxvd0VxdWFsIiwiY3JlYXRlU3RvcmUiLCJhdmFpbGFibGVTdG9yZXMiLCJpc1Rlc3RFbnZpcm9ubWVudCIsInByb2Nlc3MiLCJlbnYiLCJOT0RFX0VOViIsIlZJVEVTVCIsIkpFU1RfV09SS0VSX0lEIiwidW5kZWZpbmVkIiwiZ2xvYmFsVGhpcyIsInNldFRpbWVvdXQiLCJ3aW5kb3ciLCJzcGFFbnYiLCJjcmVhdGVHbG9iYWxTdG9yZSIsIm5hbWUiLCJpbml0aWFsU3RhdGUiLCJhdmFpbGFibGUiLCJhY3RpdmUiLCJjb25zb2xlIiwiZXJyb3IiLCJ2YWx1ZSIsInNldFN0YXRlIiwic3RvcmUiLCJyZWdpc3Rlckdsb2JhbFN0b3JlIiwiZ2V0R2xvYmFsU3RvcmUiLCJmYWxsYmFja1N0YXRlIiwic3Vic2NyaWJlVG8iLCJhcmdzIiwic2VsZWN0IiwiaGFuZGxlIiwiaGFuZGxlciIsInNlbGVjdG9yIiwic3RhdGUiLCJnZXRTdGF0ZSIsInN1YnNjcmliZSIsInByZXZpb3VzIiwiY3VycmVudCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///../../framework/esm-state/dist/state.js\n");
|
|
1258
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ createGlobalStore: () => (/* binding */ createGlobalStore),\n/* harmony export */ getGlobalStore: () => (/* binding */ getGlobalStore),\n/* harmony export */ registerGlobalStore: () => (/* binding */ registerGlobalStore),\n/* harmony export */ subscribeTo: () => (/* binding */ subscribeTo)\n/* harmony export */ });\n/* harmony import */ var _openmrs_esm_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @openmrs/esm-utils */ \"../../framework/esm-utils/dist/shallowEqual.js\");\n/* harmony import */ var zustand_vanilla__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! zustand/vanilla */ \"../../../node_modules/zustand/esm/vanilla.mjs\");\n/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./utils.js */ \"../../framework/esm-state/dist/utils.js\");\n/** @module @category Store */ \n\n\nconst availableStores = {};\n// spaEnv isn't available immediately. Wait a bit before making stores available\n// on window in development mode.\nglobalThis.setTimeout?.(()=>{\n if (typeof window !== 'undefined' && window.spaEnv === 'development') {\n window['stores'] = availableStores;\n }\n}, 1000);\n/**\n * Creates a Zustand store.\n *\n * @param name A name by which the store can be looked up later.\n * Must be unique across the entire application.\n * @param initialState An object which will be the initial state of the store.\n * @returns The newly created store.\n */ function createGlobalStore(name, initialState) {\n const available = availableStores[name];\n if (available) {\n if (available.active) {\n if (!(0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.isTestEnvironment)()) {\n console.error(`Attempted to override the existing store ${name}. Make sure that stores are only created once.`);\n }\n } else {\n available.value.setState(initialState, true);\n }\n available.active = true;\n return available.value;\n } else {\n const store = (0,zustand_vanilla__WEBPACK_IMPORTED_MODULE_1__.createStore)()(()=>initialState);\n availableStores[name] = {\n value: store,\n active: true\n };\n return store;\n }\n}\n/**\n * Registers an existing Zustand store.\n *\n * @param name A name by which the store can be looked up later.\n * Must be unique across the entire application.\n * @param store The Zustand store to use for this.\n * @returns The newly registered store.\n */ function registerGlobalStore(name, store) {\n const available = availableStores[name];\n if (available) {\n if (available.active) {\n if (!(0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.isTestEnvironment)()) {\n console.error(`Attempted to override the existing store ${name}. Make sure that stores are only created once.`);\n }\n } else {\n available.value = store;\n }\n available.active = true;\n return available.value;\n } else {\n availableStores[name] = {\n value: store,\n active: true\n };\n return store;\n }\n}\n/**\n * Returns the existing store named `name`,\n * or creates a new store named `name` if none exists.\n *\n * @param name The name of the store to look up.\n * @param fallbackState The initial value of the new store if no store named `name` exists.\n * @returns The found or newly created store.\n */ function getGlobalStore(name, fallbackState) {\n const available = availableStores[name];\n if (!available) {\n const store = (0,zustand_vanilla__WEBPACK_IMPORTED_MODULE_1__.createStore)()(()=>fallbackState ?? {});\n availableStores[name] = {\n value: store,\n active: false\n };\n return store;\n }\n return available.value;\n}\nfunction subscribeTo(...args) {\n const [store, select, handle] = args;\n const handler = typeof handle === 'undefined' ? select : handle;\n const selector = typeof handle === 'undefined' ? (state)=>state : select;\n let previous = selector(store.getState());\n handler(previous);\n return store.subscribe((state)=>{\n const current = selector(state);\n if (!(0,_openmrs_esm_utils__WEBPACK_IMPORTED_MODULE_2__.shallowEqual)(previous, current)) {\n previous = current;\n handler(current);\n }\n });\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vLi4vZnJhbWV3b3JrL2VzbS1zdGF0ZS9kaXN0L3N0YXRlLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFBQSw0QkFBNEIsR0FBcUQ7QUFDbkM7QUFDQztBQUMvQyxNQUFNRyxrQkFBa0IsQ0FBQztBQUN6QixnRkFBZ0Y7QUFDaEYsaUNBQWlDO0FBQ2pDQyxXQUFXQyxVQUFVLEdBQUc7SUFDcEIsSUFBSSxPQUFPQyxXQUFXLGVBQWVBLE9BQU9DLE1BQU0sS0FBSyxlQUFlO1FBQ2xFRCxNQUFNLENBQUMsU0FBUyxHQUFHSDtJQUN2QjtBQUNKLEdBQUc7QUFDSDs7Ozs7OztDQU9DLEdBQVUsU0FBU0ssa0JBQWtCQyxJQUFJLEVBQUVDLFlBQVk7SUFDcEQsTUFBTUMsWUFBWVIsZUFBZSxDQUFDTSxLQUFLO0lBQ3ZDLElBQUlFLFdBQVc7UUFDWCxJQUFJQSxVQUFVQyxNQUFNLEVBQUU7WUFDbEIsSUFBSSxDQUFDViw0REFBaUJBLElBQUk7Z0JBQ3RCVyxRQUFRQyxLQUFLLENBQUMsQ0FBQyx5Q0FBeUMsRUFBRUwsS0FBSyw4Q0FBOEMsQ0FBQztZQUNsSDtRQUNKLE9BQU87WUFDSEUsVUFBVUksS0FBSyxDQUFDQyxRQUFRLENBQUNOLGNBQWM7UUFDM0M7UUFDQUMsVUFBVUMsTUFBTSxHQUFHO1FBQ25CLE9BQU9ELFVBQVVJLEtBQUs7SUFDMUIsT0FBTztRQUNILE1BQU1FLFFBQVFoQiw0REFBV0EsR0FBRyxJQUFJUztRQUNoQ1AsZUFBZSxDQUFDTSxLQUFLLEdBQUc7WUFDcEJNLE9BQU9FO1lBQ1BMLFFBQVE7UUFDWjtRQUNBLE9BQU9LO0lBQ1g7QUFDSjtBQUNBOzs7Ozs7O0NBT0MsR0FBVSxTQUFTQyxvQkFBb0JULElBQUksRUFBRVEsS0FBSztJQUMvQyxNQUFNTixZQUFZUixlQUFlLENBQUNNLEtBQUs7SUFDdkMsSUFBSUUsV0FBVztRQUNYLElBQUlBLFVBQVVDLE1BQU0sRUFBRTtZQUNsQixJQUFJLENBQUNWLDREQUFpQkEsSUFBSTtnQkFDdEJXLFFBQVFDLEtBQUssQ0FBQyxDQUFDLHlDQUF5QyxFQUFFTCxLQUFLLDhDQUE4QyxDQUFDO1lBQ2xIO1FBQ0osT0FBTztZQUNIRSxVQUFVSSxLQUFLLEdBQUdFO1FBQ3RCO1FBQ0FOLFVBQVVDLE1BQU0sR0FBRztRQUNuQixPQUFPRCxVQUFVSSxLQUFLO0lBQzFCLE9BQU87UUFDSFosZUFBZSxDQUFDTSxLQUFLLEdBQUc7WUFDcEJNLE9BQU9FO1lBQ1BMLFFBQVE7UUFDWjtRQUNBLE9BQU9LO0lBQ1g7QUFDSjtBQUNBOzs7Ozs7O0NBT0MsR0FBVSxTQUFTRSxlQUFlVixJQUFJLEVBQUVXLGFBQWE7SUFDbEQsTUFBTVQsWUFBWVIsZUFBZSxDQUFDTSxLQUFLO0lBQ3ZDLElBQUksQ0FBQ0UsV0FBVztRQUNaLE1BQU1NLFFBQVFoQiw0REFBV0EsR0FBRyxJQUFJbUIsaUJBQWlCLENBQUM7UUFDbERqQixlQUFlLENBQUNNLEtBQUssR0FBRztZQUNwQk0sT0FBT0U7WUFDUEwsUUFBUTtRQUNaO1FBQ0EsT0FBT0s7SUFDWDtJQUNBLE9BQU9OLFVBQVVJLEtBQUs7QUFDMUI7QUFDTyxTQUFTTSxZQUFZLEdBQUdDLElBQUk7SUFDL0IsTUFBTSxDQUFDTCxPQUFPTSxRQUFRQyxPQUFPLEdBQUdGO0lBQ2hDLE1BQU1HLFVBQVUsT0FBT0QsV0FBVyxjQUFjRCxTQUFTQztJQUN6RCxNQUFNRSxXQUFXLE9BQU9GLFdBQVcsY0FBYyxDQUFDRyxRQUFRQSxRQUFRSjtJQUNsRSxJQUFJSyxXQUFXRixTQUFTVCxNQUFNWSxRQUFRO0lBQ3RDSixRQUFRRztJQUNSLE9BQU9YLE1BQU1hLFNBQVMsQ0FBQyxDQUFDSDtRQUNwQixNQUFNSSxVQUFVTCxTQUFTQztRQUN6QixJQUFJLENBQUMzQixnRUFBWUEsQ0FBQzRCLFVBQVVHLFVBQVU7WUFDbENILFdBQVdHO1lBQ1hOLFFBQVFNO1FBQ1o7SUFDSjtBQUNKIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vQG9wZW5tcnMvZXNtLWFwcC1zaGVsbC8uLi8uLi9mcmFtZXdvcmsvZXNtLXN0YXRlL2Rpc3Qvc3RhdGUuanM/MDBlYyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiogQG1vZHVsZSBAY2F0ZWdvcnkgU3RvcmUgKi8gaW1wb3J0IHsgc2hhbGxvd0VxdWFsIH0gZnJvbSBcIkBvcGVubXJzL2VzbS11dGlsc1wiO1xuaW1wb3J0IHsgY3JlYXRlU3RvcmUgfSBmcm9tIFwienVzdGFuZC92YW5pbGxhXCI7XG5pbXBvcnQgeyBpc1Rlc3RFbnZpcm9ubWVudCB9IGZyb20gXCIuL3V0aWxzLmpzXCI7XG5jb25zdCBhdmFpbGFibGVTdG9yZXMgPSB7fTtcbi8vIHNwYUVudiBpc24ndCBhdmFpbGFibGUgaW1tZWRpYXRlbHkuIFdhaXQgYSBiaXQgYmVmb3JlIG1ha2luZyBzdG9yZXMgYXZhaWxhYmxlXG4vLyBvbiB3aW5kb3cgaW4gZGV2ZWxvcG1lbnQgbW9kZS5cbmdsb2JhbFRoaXMuc2V0VGltZW91dD8uKCgpPT57XG4gICAgaWYgKHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnICYmIHdpbmRvdy5zcGFFbnYgPT09ICdkZXZlbG9wbWVudCcpIHtcbiAgICAgICAgd2luZG93WydzdG9yZXMnXSA9IGF2YWlsYWJsZVN0b3JlcztcbiAgICB9XG59LCAxMDAwKTtcbi8qKlxuICogQ3JlYXRlcyBhIFp1c3RhbmQgc3RvcmUuXG4gKlxuICogQHBhcmFtIG5hbWUgQSBuYW1lIGJ5IHdoaWNoIHRoZSBzdG9yZSBjYW4gYmUgbG9va2VkIHVwIGxhdGVyLlxuICogICAgTXVzdCBiZSB1bmlxdWUgYWNyb3NzIHRoZSBlbnRpcmUgYXBwbGljYXRpb24uXG4gKiBAcGFyYW0gaW5pdGlhbFN0YXRlIEFuIG9iamVjdCB3aGljaCB3aWxsIGJlIHRoZSBpbml0aWFsIHN0YXRlIG9mIHRoZSBzdG9yZS5cbiAqIEByZXR1cm5zIFRoZSBuZXdseSBjcmVhdGVkIHN0b3JlLlxuICovIGV4cG9ydCBmdW5jdGlvbiBjcmVhdGVHbG9iYWxTdG9yZShuYW1lLCBpbml0aWFsU3RhdGUpIHtcbiAgICBjb25zdCBhdmFpbGFibGUgPSBhdmFpbGFibGVTdG9yZXNbbmFtZV07XG4gICAgaWYgKGF2YWlsYWJsZSkge1xuICAgICAgICBpZiAoYXZhaWxhYmxlLmFjdGl2ZSkge1xuICAgICAgICAgICAgaWYgKCFpc1Rlc3RFbnZpcm9ubWVudCgpKSB7XG4gICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcihgQXR0ZW1wdGVkIHRvIG92ZXJyaWRlIHRoZSBleGlzdGluZyBzdG9yZSAke25hbWV9LiBNYWtlIHN1cmUgdGhhdCBzdG9yZXMgYXJlIG9ubHkgY3JlYXRlZCBvbmNlLmApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgYXZhaWxhYmxlLnZhbHVlLnNldFN0YXRlKGluaXRpYWxTdGF0ZSwgdHJ1ZSk7XG4gICAgICAgIH1cbiAgICAgICAgYXZhaWxhYmxlLmFjdGl2ZSA9IHRydWU7XG4gICAgICAgIHJldHVybiBhdmFpbGFibGUudmFsdWU7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3Qgc3RvcmUgPSBjcmVhdGVTdG9yZSgpKCgpPT5pbml0aWFsU3RhdGUpO1xuICAgICAgICBhdmFpbGFibGVTdG9yZXNbbmFtZV0gPSB7XG4gICAgICAgICAgICB2YWx1ZTogc3RvcmUsXG4gICAgICAgICAgICBhY3RpdmU6IHRydWVcbiAgICAgICAgfTtcbiAgICAgICAgcmV0dXJuIHN0b3JlO1xuICAgIH1cbn1cbi8qKlxuICogUmVnaXN0ZXJzIGFuIGV4aXN0aW5nIFp1c3RhbmQgc3RvcmUuXG4gKlxuICogQHBhcmFtIG5hbWUgQSBuYW1lIGJ5IHdoaWNoIHRoZSBzdG9yZSBjYW4gYmUgbG9va2VkIHVwIGxhdGVyLlxuICogICAgTXVzdCBiZSB1bmlxdWUgYWNyb3NzIHRoZSBlbnRpcmUgYXBwbGljYXRpb24uXG4gKiBAcGFyYW0gc3RvcmUgVGhlIFp1c3RhbmQgc3RvcmUgdG8gdXNlIGZvciB0aGlzLlxuICogQHJldHVybnMgVGhlIG5ld2x5IHJlZ2lzdGVyZWQgc3RvcmUuXG4gKi8gZXhwb3J0IGZ1bmN0aW9uIHJlZ2lzdGVyR2xvYmFsU3RvcmUobmFtZSwgc3RvcmUpIHtcbiAgICBjb25zdCBhdmFpbGFibGUgPSBhdmFpbGFibGVTdG9yZXNbbmFtZV07XG4gICAgaWYgKGF2YWlsYWJsZSkge1xuICAgICAgICBpZiAoYXZhaWxhYmxlLmFjdGl2ZSkge1xuICAgICAgICAgICAgaWYgKCFpc1Rlc3RFbnZpcm9ubWVudCgpKSB7XG4gICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcihgQXR0ZW1wdGVkIHRvIG92ZXJyaWRlIHRoZSBleGlzdGluZyBzdG9yZSAke25hbWV9LiBNYWtlIHN1cmUgdGhhdCBzdG9yZXMgYXJlIG9ubHkgY3JlYXRlZCBvbmNlLmApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgYXZhaWxhYmxlLnZhbHVlID0gc3RvcmU7XG4gICAgICAgIH1cbiAgICAgICAgYXZhaWxhYmxlLmFjdGl2ZSA9IHRydWU7XG4gICAgICAgIHJldHVybiBhdmFpbGFibGUudmFsdWU7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgYXZhaWxhYmxlU3RvcmVzW25hbWVdID0ge1xuICAgICAgICAgICAgdmFsdWU6IHN0b3JlLFxuICAgICAgICAgICAgYWN0aXZlOiB0cnVlXG4gICAgICAgIH07XG4gICAgICAgIHJldHVybiBzdG9yZTtcbiAgICB9XG59XG4vKipcbiAqIFJldHVybnMgdGhlIGV4aXN0aW5nIHN0b3JlIG5hbWVkIGBuYW1lYCxcbiAqIG9yIGNyZWF0ZXMgYSBuZXcgc3RvcmUgbmFtZWQgYG5hbWVgIGlmIG5vbmUgZXhpc3RzLlxuICpcbiAqIEBwYXJhbSBuYW1lIFRoZSBuYW1lIG9mIHRoZSBzdG9yZSB0byBsb29rIHVwLlxuICogQHBhcmFtIGZhbGxiYWNrU3RhdGUgVGhlIGluaXRpYWwgdmFsdWUgb2YgdGhlIG5ldyBzdG9yZSBpZiBubyBzdG9yZSBuYW1lZCBgbmFtZWAgZXhpc3RzLlxuICogQHJldHVybnMgVGhlIGZvdW5kIG9yIG5ld2x5IGNyZWF0ZWQgc3RvcmUuXG4gKi8gZXhwb3J0IGZ1bmN0aW9uIGdldEdsb2JhbFN0b3JlKG5hbWUsIGZhbGxiYWNrU3RhdGUpIHtcbiAgICBjb25zdCBhdmFpbGFibGUgPSBhdmFpbGFibGVTdG9yZXNbbmFtZV07XG4gICAgaWYgKCFhdmFpbGFibGUpIHtcbiAgICAgICAgY29uc3Qgc3RvcmUgPSBjcmVhdGVTdG9yZSgpKCgpPT5mYWxsYmFja1N0YXRlID8/IHt9KTtcbiAgICAgICAgYXZhaWxhYmxlU3RvcmVzW25hbWVdID0ge1xuICAgICAgICAgICAgdmFsdWU6IHN0b3JlLFxuICAgICAgICAgICAgYWN0aXZlOiBmYWxzZVxuICAgICAgICB9O1xuICAgICAgICByZXR1cm4gc3RvcmU7XG4gICAgfVxuICAgIHJldHVybiBhdmFpbGFibGUudmFsdWU7XG59XG5leHBvcnQgZnVuY3Rpb24gc3Vic2NyaWJlVG8oLi4uYXJncykge1xuICAgIGNvbnN0IFtzdG9yZSwgc2VsZWN0LCBoYW5kbGVdID0gYXJncztcbiAgICBjb25zdCBoYW5kbGVyID0gdHlwZW9mIGhhbmRsZSA9PT0gJ3VuZGVmaW5lZCcgPyBzZWxlY3QgOiBoYW5kbGU7XG4gICAgY29uc3Qgc2VsZWN0b3IgPSB0eXBlb2YgaGFuZGxlID09PSAndW5kZWZpbmVkJyA/IChzdGF0ZSk9PnN0YXRlIDogc2VsZWN0O1xuICAgIGxldCBwcmV2aW91cyA9IHNlbGVjdG9yKHN0b3JlLmdldFN0YXRlKCkpO1xuICAgIGhhbmRsZXIocHJldmlvdXMpO1xuICAgIHJldHVybiBzdG9yZS5zdWJzY3JpYmUoKHN0YXRlKT0+e1xuICAgICAgICBjb25zdCBjdXJyZW50ID0gc2VsZWN0b3Ioc3RhdGUpO1xuICAgICAgICBpZiAoIXNoYWxsb3dFcXVhbChwcmV2aW91cywgY3VycmVudCkpIHtcbiAgICAgICAgICAgIHByZXZpb3VzID0gY3VycmVudDtcbiAgICAgICAgICAgIGhhbmRsZXIoY3VycmVudCk7XG4gICAgICAgIH1cbiAgICB9KTtcbn1cbiJdLCJuYW1lcyI6WyJzaGFsbG93RXF1YWwiLCJjcmVhdGVTdG9yZSIsImlzVGVzdEVudmlyb25tZW50IiwiYXZhaWxhYmxlU3RvcmVzIiwiZ2xvYmFsVGhpcyIsInNldFRpbWVvdXQiLCJ3aW5kb3ciLCJzcGFFbnYiLCJjcmVhdGVHbG9iYWxTdG9yZSIsIm5hbWUiLCJpbml0aWFsU3RhdGUiLCJhdmFpbGFibGUiLCJhY3RpdmUiLCJjb25zb2xlIiwiZXJyb3IiLCJ2YWx1ZSIsInNldFN0YXRlIiwic3RvcmUiLCJyZWdpc3Rlckdsb2JhbFN0b3JlIiwiZ2V0R2xvYmFsU3RvcmUiLCJmYWxsYmFja1N0YXRlIiwic3Vic2NyaWJlVG8iLCJhcmdzIiwic2VsZWN0IiwiaGFuZGxlIiwiaGFuZGxlciIsInNlbGVjdG9yIiwic3RhdGUiLCJwcmV2aW91cyIsImdldFN0YXRlIiwic3Vic2NyaWJlIiwiY3VycmVudCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///../../framework/esm-state/dist/state.js\n");
|
|
1259
|
+
|
|
1260
|
+
/***/ }),
|
|
1261
|
+
|
|
1262
|
+
/***/ "../../framework/esm-state/dist/utils.js":
|
|
1263
|
+
/*!***********************************************!*\
|
|
1264
|
+
!*** ../../framework/esm-state/dist/utils.js ***!
|
|
1265
|
+
\***********************************************/
|
|
1266
|
+
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
|
1267
|
+
|
|
1268
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ isTestEnvironment: () => (/* binding */ isTestEnvironment)\n/* harmony export */ });\n/**\n * Check if we're in a test environment (Vitest or Jest)\n * Exported in a separate file so it can be mocked in tests\n * @internal\n */ function isTestEnvironment() {\n try {\n return false || typeof process !== 'undefined' && (process.env.VITEST === 'true' || process.env.JEST_WORKER_ID !== undefined) || typeof globalThis !== 'undefined' && ('__vitest_worker__' in globalThis || '__jest__' in globalThis);\n } catch {\n return false;\n }\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vLi4vZnJhbWV3b3JrL2VzbS1zdGF0ZS9kaXN0L3V0aWxzLmpzIiwibWFwcGluZ3MiOiI7Ozs7QUFBQTs7OztDQUlDLEdBQVUsU0FBU0E7SUFDaEIsSUFBSTtRQUNBLE9BQU9DLE1BQStCLElBQUksT0FBT0EsWUFBWSxlQUFnQkEsQ0FBQUEsUUFBUUMsR0FBRyxDQUFDRSxNQUFNLEtBQUssVUFBVUgsUUFBUUMsR0FBRyxDQUFDRyxjQUFjLEtBQUtDLFNBQVEsS0FBTSxPQUFPQyxlQUFlLGVBQWdCLHdCQUF1QkEsY0FBYyxjQUFjQSxVQUFTO0lBQ2pRLEVBQUUsT0FBTztRQUNMLE9BQU87SUFDWDtBQUNKIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vQG9wZW5tcnMvZXNtLWFwcC1zaGVsbC8uLi8uLi9mcmFtZXdvcmsvZXNtLXN0YXRlL2Rpc3QvdXRpbHMuanM/YWExNSJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENoZWNrIGlmIHdlJ3JlIGluIGEgdGVzdCBlbnZpcm9ubWVudCAoVml0ZXN0IG9yIEplc3QpXG4gKiBFeHBvcnRlZCBpbiBhIHNlcGFyYXRlIGZpbGUgc28gaXQgY2FuIGJlIG1vY2tlZCBpbiB0ZXN0c1xuICogQGludGVybmFsXG4gKi8gZXhwb3J0IGZ1bmN0aW9uIGlzVGVzdEVudmlyb25tZW50KCkge1xuICAgIHRyeSB7XG4gICAgICAgIHJldHVybiBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gJ3Rlc3QnIHx8IHR5cGVvZiBwcm9jZXNzICE9PSAndW5kZWZpbmVkJyAmJiAocHJvY2Vzcy5lbnYuVklURVNUID09PSAndHJ1ZScgfHwgcHJvY2Vzcy5lbnYuSkVTVF9XT1JLRVJfSUQgIT09IHVuZGVmaW5lZCkgfHwgdHlwZW9mIGdsb2JhbFRoaXMgIT09ICd1bmRlZmluZWQnICYmICgnX192aXRlc3Rfd29ya2VyX18nIGluIGdsb2JhbFRoaXMgfHwgJ19famVzdF9fJyBpbiBnbG9iYWxUaGlzKTtcbiAgICB9IGNhdGNoICB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG59XG4iXSwibmFtZXMiOlsiaXNUZXN0RW52aXJvbm1lbnQiLCJwcm9jZXNzIiwiZW52IiwiTk9ERV9FTlYiLCJWSVRFU1QiLCJKRVNUX1dPUktFUl9JRCIsInVuZGVmaW5lZCIsImdsb2JhbFRoaXMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///../../framework/esm-state/dist/utils.js\n");
|
|
1259
1269
|
|
|
1260
1270
|
/***/ }),
|
|
1261
1271
|
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
\*************************************************************/
|
|
16
16
|
/***/ ((module) => {
|
|
17
17
|
|
|
18
|
-
module.exports = /*#__PURE__*/JSON.parse('{"actionableNotification":"Actionable notification","actions":"Actions","address":"Address","address1":"Address line 1","address2":"Address line 2","address3":"Address line 3","address4":"Address line 4","address5":"Address line 5","address6":"Address line 6","age":"Age","cancel":"Cancel","change":"Change","city":"City","cityVillage":"City","Clinic":"Clinic","close":"Close","closeAllOpenedWorkspaces":"Discard changes in {{count}} workspaces","closesActionableNotification":"Closes actionable notification","closeSnackbar":"Close snackbar","closeWorkspaces2PromptBody":"You are about to close the following workspace(s), which might have unsaved changes:","closeWorkspaces2PromptTitle":"Close workspace(s)","closingAllWorkspacesPromptBody":"There may be unsaved changes in the following workspaces. Do you want to discard changes in the following workspaces? {{workspaceNames}}","closingAllWorkspacesPromptTitle":"You have unsaved changes","confirm":"Confirm","contactAdministratorIfIssuePersists":"Contact your system administrator if the problem persists.","contactDetails":"Contact Details","country":"Country","countyDistrict":"District","delete":"Delete","discard":"Discard","discardChanges":"Discard changes","district":"District","edit":"Edit","error":"Error","errorCopy":"Sorry, there was a problem displaying this information. You can try to reload this page, or contact the site administrator and quote the error code above.","female":"Female","hide":"Hide","leftNavigation":"Left navigation","loading":"Loading","male":"Male","maximize":"Maximize","minimize":"Minimize","noResultsToDisplay":"No results to display","openAnyway":"Open Anyway","other":"Other","patientAvatarAlt":"Avatar for {{patientName}}","patientIdentifierSticker":"Patient identifier sticker","patientLists":"Patient Lists","patientPhotoAlt":"Profile photo of {{patientName}}","patientPhotoPlaceholder":"Photo placeholder for {{patientName}}","postalCode":"Postal code","print":"Print","printError":"Print error","printErrorExplainer":"An error occurred in {{errorLocation}}","printIdentifierSticker":"Print identifier sticker","printing":"Printing","relationships":"Relationships","resetOverrides":"Reset overrides","save":"Save","scriptLoadingError":"Failed to load overridden script from {{url}}. Please check that the bundled script is available at the expected URL. Click the button below to reset all import map overrides.","scriptLoadingFailed":"Error: Script failed to load","searchForLocation":"Search for a location","seeMoreLists":"See {{count}} more lists","sex":"Sex","showLess":"Show less","showMore":"Show more","snackbarNotification":"Snackbar notification","state":"State","stateProvince":"State","toggleDevTools":"Toggle dev tools","unknown":"Unknown","unsavedChangesInOpenedWorkspace":"You may have unsaved changes in the opened workspace. Do you want to discard these changes?","unsavedChangesInWorkspace":"There may be unsaved changes in \\"{{workspaceName}}\\". Please save them before opening another workspace.","unsavedChangesTitleText":"Unsaved changes","workspaceHeader":"Workspace header","yearAbbreviation":"yr","yearsAbbreviation":"yrs"}');
|
|
18
|
+
module.exports = /*#__PURE__*/JSON.parse('{"actionableNotification":"Actionable notification","actions":"Actions","address":"Address","address1":"Address line 1","address2":"Address line 2","address3":"Address line 3","address4":"Address line 4","address5":"Address line 5","address6":"Address line 6","age":"Age","cancel":"Cancel","change":"Change","city":"City","cityVillage":"City","Clinic":"Clinic","close":"Close","closeAllOpenedWorkspaces":"Discard changes in {{count}} workspaces","closesActionableNotification":"Closes actionable notification","closeSnackbar":"Close snackbar","closeWorkspaces2PromptBody":"You are about to close the following workspace(s), which might have unsaved changes:","closeWorkspaces2PromptTitle":"Close workspace(s)","closingAllWorkspacesPromptBody":"There may be unsaved changes in the following workspaces. Do you want to discard changes in the following workspaces? {{workspaceNames}}","closingAllWorkspacesPromptTitle":"You have unsaved changes","confirm":"Confirm","contactAdministratorIfIssuePersists":"Contact your system administrator if the problem persists.","contactDetails":"Contact Details","country":"Country","countyDistrict":"District","delete":"Delete","discard":"Discard","discardChanges":"Discard changes","district":"District","edit":"Edit","error":"Error","errorCopy":"Sorry, there was a problem displaying this information. You can try to reload this page, or contact the site administrator and quote the error code above.","errorLoadingLoginLocations":"Unable to load login locations. Please try again or contact support if the problem persists.","female":"Female","hide":"Hide","leftNavigation":"Left navigation","loading":"Loading","male":"Male","maximize":"Maximize","minimize":"Minimize","noResultsToDisplay":"No results to display","openAnyway":"Open Anyway","other":"Other","patientAvatarAlt":"Avatar for {{patientName}}","patientIdentifierSticker":"Patient identifier sticker","patientLists":"Patient Lists","patientPhotoAlt":"Profile photo of {{patientName}}","patientPhotoPlaceholder":"Photo placeholder for {{patientName}}","postalCode":"Postal code","print":"Print","printError":"Print error","printErrorExplainer":"An error occurred in {{errorLocation}}","printIdentifierSticker":"Print identifier sticker","printing":"Printing","relationships":"Relationships","resetOverrides":"Reset overrides","save":"Save","scriptLoadingError":"Failed to load overridden script from {{url}}. Please check that the bundled script is available at the expected URL. Click the button below to reset all import map overrides.","scriptLoadingFailed":"Error: Script failed to load","searchForLocation":"Search for a location","seeMoreLists":"See {{count}} more lists","sex":"Sex","showLess":"Show less","showMore":"Show more","snackbarNotification":"Snackbar notification","state":"State","stateProvince":"State","toggleDevTools":"Toggle dev tools","unknown":"Unknown","unsavedChangesInOpenedWorkspace":"You may have unsaved changes in the opened workspace. Do you want to discard these changes?","unsavedChangesInWorkspace":"There may be unsaved changes in \\"{{workspaceName}}\\". Please save them before opening another workspace.","unsavedChangesTitleText":"Unsaved changes","workspaceHeader":"Workspace header","yearAbbreviation":"yr","yearsAbbreviation":"yrs"}');
|
|
19
19
|
|
|
20
20
|
/***/ })
|
|
21
21
|
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
\****************************************************************/
|
|
16
16
|
/***/ ((module) => {
|
|
17
17
|
|
|
18
|
-
module.exports = /*#__PURE__*/JSON.parse('{"actionableNotification":"Actionable notification","actions":"Actions","address":"Address","address1":"Address line 1","address2":"Address line 2","address3":"Address line 3","address4":"Address line 4","address5":"Address line 5","address6":"Address line 6","age":"Age","cancel":"Cancel","change":"Change","city":"City","cityVillage":"City","Clinic":"Clinic","close":"Close","closeAllOpenedWorkspaces":"Discard changes in {{count}} workspaces","closesActionableNotification":"Closes actionable notification","closeSnackbar":"Close snackbar","closeWorkspaces2PromptBody":"You are about to close the following workspace(s), which might have unsaved changes:","closeWorkspaces2PromptTitle":"Close workspace(s)","closingAllWorkspacesPromptBody":"There may be unsaved changes in the following workspaces. Do you want to discard changes in the following workspaces? {{workspaceNames}}","closingAllWorkspacesPromptTitle":"You have unsaved changes","confirm":"Confirm","contactAdministratorIfIssuePersists":"Contact your system administrator if the problem persists.","contactDetails":"Contact Details","country":"Country","countyDistrict":"District","delete":"Delete","discard":"Discard","discardChanges":"Discard changes","district":"District","edit":"Edit","error":"Error","errorCopy":"Sorry, there was a problem displaying this information. You can try to reload this page, or contact the site administrator and quote the error code above.","female":"Female","hide":"Hide","leftNavigation":"Left navigation","loading":"Loading","male":"Male","maximize":"Maximize","minimize":"Minimize","noResultsToDisplay":"No results to display","openAnyway":"Open Anyway","other":"Other","patientAvatarAlt":"Avatar for {{patientName}}","patientIdentifierSticker":"Patient identifier sticker","patientLists":"Patient Lists","patientPhotoAlt":"Profile photo of {{patientName}}","patientPhotoPlaceholder":"Photo placeholder for {{patientName}}","postalCode":"Postal code","print":"Print","printError":"Print error","printErrorExplainer":"An error occurred in {{errorLocation}}","printIdentifierSticker":"Print identifier sticker","printing":"Printing","relationships":"Relationships","resetOverrides":"Reset overrides","save":"Save","scriptLoadingError":"Failed to load overridden script from {{url}}. Please check that the bundled script is available at the expected URL. Click the button below to reset all import map overrides.","scriptLoadingFailed":"Error: Script failed to load","searchForLocation":"Search for a location","seeMoreLists":"See {{count}} more lists","sex":"Sex","showLess":"Show less","showMore":"Show more","snackbarNotification":"Snackbar notification","state":"State","stateProvince":"State","toggleDevTools":"Toggle dev tools","unknown":"Unknown","unsavedChangesInOpenedWorkspace":"You may have unsaved changes in the opened workspace. Do you want to discard these changes?","unsavedChangesInWorkspace":"There may be unsaved changes in \\"{{workspaceName}}\\". Please save them before opening another workspace.","unsavedChangesTitleText":"Unsaved changes","workspaceHeader":"Workspace header","yearAbbreviation":"yr","yearsAbbreviation":"yrs"}');
|
|
18
|
+
module.exports = /*#__PURE__*/JSON.parse('{"actionableNotification":"Actionable notification","actions":"Actions","address":"Address","address1":"Address line 1","address2":"Address line 2","address3":"Address line 3","address4":"Address line 4","address5":"Address line 5","address6":"Address line 6","age":"Age","cancel":"Cancel","change":"Change","city":"City","cityVillage":"City","Clinic":"Clinic","close":"Close","closeAllOpenedWorkspaces":"Discard changes in {{count}} workspaces","closesActionableNotification":"Closes actionable notification","closeSnackbar":"Close snackbar","closeWorkspaces2PromptBody":"You are about to close the following workspace(s), which might have unsaved changes:","closeWorkspaces2PromptTitle":"Close workspace(s)","closingAllWorkspacesPromptBody":"There may be unsaved changes in the following workspaces. Do you want to discard changes in the following workspaces? {{workspaceNames}}","closingAllWorkspacesPromptTitle":"You have unsaved changes","confirm":"Confirm","contactAdministratorIfIssuePersists":"Contact your system administrator if the problem persists.","contactDetails":"Contact Details","country":"Country","countyDistrict":"District","delete":"Delete","discard":"Discard","discardChanges":"Discard changes","district":"District","edit":"Edit","error":"Error","errorCopy":"Sorry, there was a problem displaying this information. You can try to reload this page, or contact the site administrator and quote the error code above.","errorLoadingLoginLocations":"Unable to load login locations. Please try again or contact support if the problem persists.","female":"Female","hide":"Hide","leftNavigation":"Left navigation","loading":"Loading","male":"Male","maximize":"Maximize","minimize":"Minimize","noResultsToDisplay":"No results to display","openAnyway":"Open Anyway","other":"Other","patientAvatarAlt":"Avatar for {{patientName}}","patientIdentifierSticker":"Patient identifier sticker","patientLists":"Patient Lists","patientPhotoAlt":"Profile photo of {{patientName}}","patientPhotoPlaceholder":"Photo placeholder for {{patientName}}","postalCode":"Postal code","print":"Print","printError":"Print error","printErrorExplainer":"An error occurred in {{errorLocation}}","printIdentifierSticker":"Print identifier sticker","printing":"Printing","relationships":"Relationships","resetOverrides":"Reset overrides","save":"Save","scriptLoadingError":"Failed to load overridden script from {{url}}. Please check that the bundled script is available at the expected URL. Click the button below to reset all import map overrides.","scriptLoadingFailed":"Error: Script failed to load","searchForLocation":"Search for a location","seeMoreLists":"See {{count}} more lists","sex":"Sex","showLess":"Show less","showMore":"Show more","snackbarNotification":"Snackbar notification","state":"State","stateProvince":"State","toggleDevTools":"Toggle dev tools","unknown":"Unknown","unsavedChangesInOpenedWorkspace":"You may have unsaved changes in the opened workspace. Do you want to discard these changes?","unsavedChangesInWorkspace":"There may be unsaved changes in \\"{{workspaceName}}\\". Please save them before opening another workspace.","unsavedChangesTitleText":"Unsaved changes","workspaceHeader":"Workspace header","yearAbbreviation":"yr","yearsAbbreviation":"yrs"}');
|
|
19
19
|
|
|
20
20
|
/***/ })
|
|
21
21
|
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
\*************************************************************/
|
|
16
16
|
/***/ ((module) => {
|
|
17
17
|
|
|
18
|
-
module.exports = /*#__PURE__*/JSON.parse('{"actionableNotification":"Actionable notification","actions":"Actions","address":"Address","address1":"Address line 1","address2":"Address line 2","address3":"Address line 3","address4":"Address line 4","address5":"Address line 5","address6":"Address line 6","age":"Age","cancel":"Cancel","change":"ផ្លាស់ប្តូរ","city":"City","cityVillage":"City","Clinic":"Clinic","close":"Close","closeAllOpenedWorkspaces":"Discard changes in {{count}} workspaces","closesActionableNotification":"Closes actionable notification","closeSnackbar":"Close snackbar","closeWorkspaces2PromptBody":"You are about to close the following workspace(s), which might have unsaved changes:","closeWorkspaces2PromptTitle":"Close workspace(s)","closingAllWorkspacesPromptBody":"There may be unsaved changes in the following workspaces. Do you want to discard changes in the following workspaces? {{workspaceNames}}","closingAllWorkspacesPromptTitle":"You have unsaved changes","confirm":"Confirm","contactAdministratorIfIssuePersists":"Contact your system administrator if the problem persists.","contactDetails":"Contact Details","country":"Country","countyDistrict":"District","delete":"Delete","discard":"Discard","discardChanges":"Discard changes","district":"District","edit":"Edit","error":"Error","errorCopy":"Sorry, there was a problem displaying this information. You can try to reload this page, or contact the site administrator and quote the error code above.","female":"Female","hide":"Hide","leftNavigation":"Left navigation","loading":"Loading","male":"Male","maximize":"Maximize","minimize":"Minimize","noResultsToDisplay":"No results to display","openAnyway":"Open Anyway","other":"Other","patientAvatarAlt":"Avatar for {{patientName}}","patientIdentifierSticker":"Patient identifier sticker","patientLists":"Patient Lists","patientPhotoAlt":"Profile photo of {{patientName}}","patientPhotoPlaceholder":"Photo placeholder for {{patientName}}","postalCode":"Postal code","print":"Print","printError":"Print error","printErrorExplainer":"An error occurred in {{errorLocation}}","printIdentifierSticker":"Print identifier sticker","printing":"Printing","relationships":"Relationships","resetOverrides":"Reset overrides","save":"Save","scriptLoadingError":"Failed to load overridden script from {{url}}. Please check that the bundled script is available at the expected URL. Click the button below to reset all import map overrides.","scriptLoadingFailed":"Error: Script failed to load","searchForLocation":"Search for a location","seeMoreLists":"See {{count}} more lists","sex":"Sex","showLess":"Show less","showMore":"Show more","snackbarNotification":"Snackbar notification","state":"State","stateProvince":"State","toggleDevTools":"Toggle dev tools","unknown":"Unknown","unsavedChangesInOpenedWorkspace":"You may have unsaved changes in the opened workspace. Do you want to discard these changes?","unsavedChangesInWorkspace":"There may be unsaved changes in \\"{{workspaceName}}\\". Please save them before opening another workspace.","unsavedChangesTitleText":"Unsaved changes","workspaceHeader":"Workspace header","yearAbbreviation":"yr","yearsAbbreviation":"yrs"}');
|
|
18
|
+
module.exports = /*#__PURE__*/JSON.parse('{"actionableNotification":"Actionable notification","actions":"Actions","address":"Address","address1":"Address line 1","address2":"Address line 2","address3":"Address line 3","address4":"Address line 4","address5":"Address line 5","address6":"Address line 6","age":"Age","cancel":"Cancel","change":"ផ្លាស់ប្តូរ","city":"City","cityVillage":"City","Clinic":"Clinic","close":"Close","closeAllOpenedWorkspaces":"Discard changes in {{count}} workspaces","closesActionableNotification":"Closes actionable notification","closeSnackbar":"Close snackbar","closeWorkspaces2PromptBody":"You are about to close the following workspace(s), which might have unsaved changes:","closeWorkspaces2PromptTitle":"Close workspace(s)","closingAllWorkspacesPromptBody":"There may be unsaved changes in the following workspaces. Do you want to discard changes in the following workspaces? {{workspaceNames}}","closingAllWorkspacesPromptTitle":"You have unsaved changes","confirm":"Confirm","contactAdministratorIfIssuePersists":"Contact your system administrator if the problem persists.","contactDetails":"Contact Details","country":"Country","countyDistrict":"District","delete":"Delete","discard":"Discard","discardChanges":"Discard changes","district":"District","edit":"Edit","error":"Error","errorCopy":"Sorry, there was a problem displaying this information. You can try to reload this page, or contact the site administrator and quote the error code above.","errorLoadingLoginLocations":"Unable to load login locations. Please try again or contact support if the problem persists.","female":"Female","hide":"Hide","leftNavigation":"Left navigation","loading":"Loading","male":"Male","maximize":"Maximize","minimize":"Minimize","noResultsToDisplay":"No results to display","openAnyway":"Open Anyway","other":"Other","patientAvatarAlt":"Avatar for {{patientName}}","patientIdentifierSticker":"Patient identifier sticker","patientLists":"Patient Lists","patientPhotoAlt":"Profile photo of {{patientName}}","patientPhotoPlaceholder":"Photo placeholder for {{patientName}}","postalCode":"Postal code","print":"Print","printError":"Print error","printErrorExplainer":"An error occurred in {{errorLocation}}","printIdentifierSticker":"Print identifier sticker","printing":"Printing","relationships":"Relationships","resetOverrides":"Reset overrides","save":"Save","scriptLoadingError":"Failed to load overridden script from {{url}}. Please check that the bundled script is available at the expected URL. Click the button below to reset all import map overrides.","scriptLoadingFailed":"Error: Script failed to load","searchForLocation":"Search for a location","seeMoreLists":"See {{count}} more lists","sex":"Sex","showLess":"Show less","showMore":"Show more","snackbarNotification":"Snackbar notification","state":"State","stateProvince":"State","toggleDevTools":"Toggle dev tools","unknown":"Unknown","unsavedChangesInOpenedWorkspace":"You may have unsaved changes in the opened workspace. Do you want to discard these changes?","unsavedChangesInWorkspace":"There may be unsaved changes in \\"{{workspaceName}}\\". Please save them before opening another workspace.","unsavedChangesTitleText":"Unsaved changes","workspaceHeader":"Workspace header","yearAbbreviation":"yr","yearsAbbreviation":"yrs"}');
|
|
19
19
|
|
|
20
20
|
/***/ })
|
|
21
21
|
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
\****************************************************************/
|
|
16
16
|
/***/ ((module) => {
|
|
17
17
|
|
|
18
|
-
module.exports = /*#__PURE__*/JSON.parse('{"actionableNotification":"Actionable notification","actions":"Acțiuni","address":"Adresă","address1":"Adresă linia 1","address2":"Adresă linia 2","address3":"Adresă linia 3","address4":"Adresă linia 4","address5":"Adresă linia 5","address6":"Adresă linia 6","age":"Vârstă","cancel":"Anulează","change":"Schimbă","city":"Oraș","cityVillage":"Oraș","Clinic":"Clinică","close":"Închide","closeAllOpenedWorkspaces":"Renunță la modificări în {{count}} spații de lucru","closesActionableNotification":"Closes actionable notification","closeSnackbar":"Close snackbar","closeWorkspaces2PromptBody":"You are about to close the following workspace(s), which might have unsaved changes:","closeWorkspaces2PromptTitle":"Close workspace(s)","closingAllWorkspacesPromptBody":"There may be unsaved changes in the following workspaces. Do you want to discard changes in the following workspaces? {{workspaceNames}}","closingAllWorkspacesPromptTitle":"Ai modificări nesalvate","confirm":"Confirmă","contactAdministratorIfIssuePersists":"Contactează administratorul sistemului dacă problema persistă.","contactDetails":"Detalii de contact","country":"Țară","countyDistrict":"Județ/District","delete":"Șterge","discard":"Renunță","discardChanges":"Discard changes","district":"District","edit":"Editează","error":"Eroare","errorCopy":"Ne pare rău, a apărut o problemă la afișarea acestei informații. Poți încerca să reîncarci pagina sau să contactezi administratorul site-ului și să menționezi codul de eroare de mai sus.","female":"Femeie","hide":"Ascunde","leftNavigation":"Left navigation","loading":"Se încarcă","male":"Bărbat","maximize":"Maximizează","minimize":"Minimizează","noResultsToDisplay":"No results to display","openAnyway":"Deschide oricum","other":"Altul","patientAvatarAlt":"Avatar for {{patientName}}","patientIdentifierSticker":"Etichetă identificare pacient","patientLists":"Liste pacienți","patientPhotoAlt":"Profile photo of {{patientName}}","patientPhotoPlaceholder":"Photo placeholder for {{patientName}}","postalCode":"Cod poștal","print":"Printează","printError":"Eroare la printare","printErrorExplainer":"A apărut o eroare în {{errorLocation}}","printIdentifierSticker":"Printează etichetă identificare","printing":"Se printează","relationships":"Relații","resetOverrides":"Resetează suprascrierile","save":"Salvează","scriptLoadingError":"Nu s-a putut încărca scriptul suprascris de la {{url}}. Verifică dacă fișierul este disponibil la adresa indicată. Apasă butonul de mai jos pentru a reseta toate suprascrierile din import map.","scriptLoadingFailed":"Eroare: Scriptul nu s-a încărcat","searchForLocation":"Search for a location","seeMoreLists":"Vezi încă {{count}} liste","sex":"Sex","showLess":"Arată mai puțin","showMore":"Arată mai mult","snackbarNotification":"Snackbar notification","state":"Stat","stateProvince":"Stat/Provincie","toggleDevTools":"Activează/dezactivează uneltele dezvoltatorului","unknown":"Necunoscut","unsavedChangesInOpenedWorkspace":"You may have unsaved changes in the opened workspace. Do you want to discard these changes?","unsavedChangesInWorkspace":"Este posibil să ai modificări nesalvate în „{{workspaceName}}”. Salvează-le înainte de a deschide alt spațiu de lucru.","unsavedChangesTitleText":"Modificări nesalvate","workspaceHeader":"Antet spațiu de lucru","yearAbbreviation":"yr","yearsAbbreviation":"yrs"}');
|
|
18
|
+
module.exports = /*#__PURE__*/JSON.parse('{"actionableNotification":"Actionable notification","actions":"Acțiuni","address":"Adresă","address1":"Adresă linia 1","address2":"Adresă linia 2","address3":"Adresă linia 3","address4":"Adresă linia 4","address5":"Adresă linia 5","address6":"Adresă linia 6","age":"Vârstă","cancel":"Anulează","change":"Schimbă","city":"Oraș","cityVillage":"Oraș","Clinic":"Clinică","close":"Închide","closeAllOpenedWorkspaces":"Renunță la modificări în {{count}} spații de lucru","closesActionableNotification":"Closes actionable notification","closeSnackbar":"Close snackbar","closeWorkspaces2PromptBody":"You are about to close the following workspace(s), which might have unsaved changes:","closeWorkspaces2PromptTitle":"Close workspace(s)","closingAllWorkspacesPromptBody":"There may be unsaved changes in the following workspaces. Do you want to discard changes in the following workspaces? {{workspaceNames}}","closingAllWorkspacesPromptTitle":"Ai modificări nesalvate","confirm":"Confirmă","contactAdministratorIfIssuePersists":"Contactează administratorul sistemului dacă problema persistă.","contactDetails":"Detalii de contact","country":"Țară","countyDistrict":"Județ/District","delete":"Șterge","discard":"Renunță","discardChanges":"Discard changes","district":"District","edit":"Editează","error":"Eroare","errorCopy":"Ne pare rău, a apărut o problemă la afișarea acestei informații. Poți încerca să reîncarci pagina sau să contactezi administratorul site-ului și să menționezi codul de eroare de mai sus.","errorLoadingLoginLocations":"Unable to load login locations. Please try again or contact support if the problem persists.","female":"Femeie","hide":"Ascunde","leftNavigation":"Left navigation","loading":"Se încarcă","male":"Bărbat","maximize":"Maximizează","minimize":"Minimizează","noResultsToDisplay":"No results to display","openAnyway":"Deschide oricum","other":"Altul","patientAvatarAlt":"Avatar for {{patientName}}","patientIdentifierSticker":"Etichetă identificare pacient","patientLists":"Liste pacienți","patientPhotoAlt":"Profile photo of {{patientName}}","patientPhotoPlaceholder":"Photo placeholder for {{patientName}}","postalCode":"Cod poștal","print":"Printează","printError":"Eroare la printare","printErrorExplainer":"A apărut o eroare în {{errorLocation}}","printIdentifierSticker":"Printează etichetă identificare","printing":"Se printează","relationships":"Relații","resetOverrides":"Resetează suprascrierile","save":"Salvează","scriptLoadingError":"Nu s-a putut încărca scriptul suprascris de la {{url}}. Verifică dacă fișierul este disponibil la adresa indicată. Apasă butonul de mai jos pentru a reseta toate suprascrierile din import map.","scriptLoadingFailed":"Eroare: Scriptul nu s-a încărcat","searchForLocation":"Search for a location","seeMoreLists":"Vezi încă {{count}} liste","sex":"Sex","showLess":"Arată mai puțin","showMore":"Arată mai mult","snackbarNotification":"Snackbar notification","state":"Stat","stateProvince":"Stat/Provincie","toggleDevTools":"Activează/dezactivează uneltele dezvoltatorului","unknown":"Necunoscut","unsavedChangesInOpenedWorkspace":"You may have unsaved changes in the opened workspace. Do you want to discard these changes?","unsavedChangesInWorkspace":"Este posibil să ai modificări nesalvate în „{{workspaceName}}”. Salvează-le înainte de a deschide alt spațiu de lucru.","unsavedChangesTitleText":"Modificări nesalvate","workspaceHeader":"Antet spațiu de lucru","yearAbbreviation":"yr","yearsAbbreviation":"yrs"}');
|
|
19
19
|
|
|
20
20
|
/***/ })
|
|
21
21
|
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
\*************************************************************/
|
|
16
16
|
/***/ ((module) => {
|
|
17
17
|
|
|
18
|
-
module.exports = /*#__PURE__*/JSON.parse('{"actionableNotification":"Actionable notification","actions":"Actions","address":"Address","address1":"Address line 1","address2":"Address line 2","address3":"Address line 3","address4":"Address line 4","address5":"Address line 5","address6":"Address line 6","age":"Age","cancel":"Cancel","change":"Change","city":"City","cityVillage":"City","Clinic":"Clinic","close":"Close","closeAllOpenedWorkspaces":"Discard changes in {{count}} workspaces","closesActionableNotification":"Closes actionable notification","closeSnackbar":"Close snackbar","closeWorkspaces2PromptBody":"You are about to close the following workspace(s), which might have unsaved changes:","closeWorkspaces2PromptTitle":"Close workspace(s)","closingAllWorkspacesPromptBody":"There may be unsaved changes in the following workspaces. Do you want to discard changes in the following workspaces? {{workspaceNames}}","closingAllWorkspacesPromptTitle":"You have unsaved changes","confirm":"Confirm","contactAdministratorIfIssuePersists":"Contact your system administrator if the problem persists.","contactDetails":"Contact Details","country":"Country","countyDistrict":"District","delete":"Delete","discard":"Discard","discardChanges":"Discard changes","district":"District","edit":"Edit","error":"Error","errorCopy":"Sorry, there was a problem displaying this information. You can try to reload this page, or contact the site administrator and quote the error code above.","female":"Female","hide":"Hide","leftNavigation":"Left navigation","loading":"Loading","male":"Male","maximize":"Maximize","minimize":"Minimize","noResultsToDisplay":"No results to display","openAnyway":"Open Anyway","other":"Other","patientAvatarAlt":"Avatar for {{patientName}}","patientIdentifierSticker":"Patient identifier sticker","patientLists":"Patient Lists","patientPhotoAlt":"Profile photo of {{patientName}}","patientPhotoPlaceholder":"Photo placeholder for {{patientName}}","postalCode":"Postal code","print":"Print","printError":"Print error","printErrorExplainer":"An error occurred in {{errorLocation}}","printIdentifierSticker":"Print identifier sticker","printing":"Printing","relationships":"Relationships","resetOverrides":"Reset overrides","save":"Save","scriptLoadingError":"Failed to load overridden script from {{url}}. Please check that the bundled script is available at the expected URL. Click the button below to reset all import map overrides.","scriptLoadingFailed":"Error: Script failed to load","searchForLocation":"Search for a location","seeMoreLists":"See {{count}} more lists","sex":"Sex","showLess":"Show less","showMore":"Show more","snackbarNotification":"Snackbar notification","state":"State","stateProvince":"State","toggleDevTools":"Toggle dev tools","unknown":"Unknown","unsavedChangesInOpenedWorkspace":"You may have unsaved changes in the opened workspace. Do you want to discard these changes?","unsavedChangesInWorkspace":"There may be unsaved changes in \\"{{workspaceName}}\\". Please save them before opening another workspace.","unsavedChangesTitleText":"Unsaved changes","workspaceHeader":"Workspace header","yearAbbreviation":"yr","yearsAbbreviation":"yrs"}');
|
|
18
|
+
module.exports = /*#__PURE__*/JSON.parse('{"actionableNotification":"Actionable notification","actions":"Actions","address":"Address","address1":"Address line 1","address2":"Address line 2","address3":"Address line 3","address4":"Address line 4","address5":"Address line 5","address6":"Address line 6","age":"Age","cancel":"Cancel","change":"Change","city":"City","cityVillage":"City","Clinic":"Clinic","close":"Close","closeAllOpenedWorkspaces":"Discard changes in {{count}} workspaces","closesActionableNotification":"Closes actionable notification","closeSnackbar":"Close snackbar","closeWorkspaces2PromptBody":"You are about to close the following workspace(s), which might have unsaved changes:","closeWorkspaces2PromptTitle":"Close workspace(s)","closingAllWorkspacesPromptBody":"There may be unsaved changes in the following workspaces. Do you want to discard changes in the following workspaces? {{workspaceNames}}","closingAllWorkspacesPromptTitle":"You have unsaved changes","confirm":"Confirm","contactAdministratorIfIssuePersists":"Contact your system administrator if the problem persists.","contactDetails":"Contact Details","country":"Country","countyDistrict":"District","delete":"Delete","discard":"Discard","discardChanges":"Discard changes","district":"District","edit":"Edit","error":"Error","errorCopy":"Sorry, there was a problem displaying this information. You can try to reload this page, or contact the site administrator and quote the error code above.","errorLoadingLoginLocations":"Unable to load login locations. Please try again or contact support if the problem persists.","female":"Female","hide":"Hide","leftNavigation":"Left navigation","loading":"Loading","male":"Male","maximize":"Maximize","minimize":"Minimize","noResultsToDisplay":"No results to display","openAnyway":"Open Anyway","other":"Other","patientAvatarAlt":"Avatar for {{patientName}}","patientIdentifierSticker":"Patient identifier sticker","patientLists":"Patient Lists","patientPhotoAlt":"Profile photo of {{patientName}}","patientPhotoPlaceholder":"Photo placeholder for {{patientName}}","postalCode":"Postal code","print":"Print","printError":"Print error","printErrorExplainer":"An error occurred in {{errorLocation}}","printIdentifierSticker":"Print identifier sticker","printing":"Printing","relationships":"Relationships","resetOverrides":"Reset overrides","save":"Save","scriptLoadingError":"Failed to load overridden script from {{url}}. Please check that the bundled script is available at the expected URL. Click the button below to reset all import map overrides.","scriptLoadingFailed":"Error: Script failed to load","searchForLocation":"Search for a location","seeMoreLists":"See {{count}} more lists","sex":"Sex","showLess":"Show less","showMore":"Show more","snackbarNotification":"Snackbar notification","state":"State","stateProvince":"State","toggleDevTools":"Toggle dev tools","unknown":"Unknown","unsavedChangesInOpenedWorkspace":"You may have unsaved changes in the opened workspace. Do you want to discard these changes?","unsavedChangesInWorkspace":"There may be unsaved changes in \\"{{workspaceName}}\\". Please save them before opening another workspace.","unsavedChangesTitleText":"Unsaved changes","workspaceHeader":"Workspace header","yearAbbreviation":"yr","yearsAbbreviation":"yrs"}');
|
|
19
19
|
|
|
20
20
|
/***/ })
|
|
21
21
|
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
\*************************************************************/
|
|
16
16
|
/***/ ((module) => {
|
|
17
17
|
|
|
18
|
-
module.exports = /*#__PURE__*/JSON.parse('{"actionableNotification":"Actionable notification","actions":"Actions","address":"Address","address1":"Address line 1","address2":"Address line 2","address3":"Address line 3","address4":"Address line 4","address5":"Address line 5","address6":"Address line 6","age":"Age","cancel":"Cancel","change":"Change","city":"City","cityVillage":"City","Clinic":"Clinic","close":"Close","closeAllOpenedWorkspaces":"Discard changes in {{count}} workspaces","closesActionableNotification":"Closes actionable notification","closeSnackbar":"Close snackbar","closeWorkspaces2PromptBody":"You are about to close the following workspace(s), which might have unsaved changes:","closeWorkspaces2PromptTitle":"Close workspace(s)","closingAllWorkspacesPromptBody":"There may be unsaved changes in the following workspaces. Do you want to discard changes in the following workspaces? {{workspaceNames}}","closingAllWorkspacesPromptTitle":"You have unsaved changes","confirm":"Confirm","contactAdministratorIfIssuePersists":"Contact your system administrator if the problem persists.","contactDetails":"Contact Details","country":"Country","countyDistrict":"District","delete":"Delete","discard":"Discard","discardChanges":"Discard changes","district":"District","edit":"Edit","error":"Error","errorCopy":"Sorry, there was a problem displaying this information. You can try to reload this page, or contact the site administrator and quote the error code above.","female":"Female","hide":"Hide","leftNavigation":"Left navigation","loading":"Loading","male":"Male","maximize":"Maximize","minimize":"Minimize","noResultsToDisplay":"No results to display","openAnyway":"Open Anyway","other":"Other","patientAvatarAlt":"Avatar for {{patientName}}","patientIdentifierSticker":"Patient identifier sticker","patientLists":"Patient Lists","patientPhotoAlt":"Profile photo of {{patientName}}","patientPhotoPlaceholder":"Photo placeholder for {{patientName}}","postalCode":"Postal code","print":"Print","printError":"Print error","printErrorExplainer":"An error occurred in {{errorLocation}}","printIdentifierSticker":"Print identifier sticker","printing":"Printing","relationships":"Relationships","resetOverrides":"Reset overrides","save":"Save","scriptLoadingError":"Failed to load overridden script from {{url}}. Please check that the bundled script is available at the expected URL. Click the button below to reset all import map overrides.","scriptLoadingFailed":"Error: Script failed to load","searchForLocation":"Search for a location","seeMoreLists":"See {{count}} more lists","sex":"Sex","showLess":"Show less","showMore":"Show more","snackbarNotification":"Snackbar notification","state":"State","stateProvince":"State","toggleDevTools":"Toggle dev tools","unknown":"Unknown","unsavedChangesInOpenedWorkspace":"You may have unsaved changes in the opened workspace. Do you want to discard these changes?","unsavedChangesInWorkspace":"There may be unsaved changes in \\"{{workspaceName}}\\". Please save them before opening another workspace.","unsavedChangesTitleText":"Unsaved changes","workspaceHeader":"Workspace header","yearAbbreviation":"yr","yearsAbbreviation":"yrs"}');
|
|
18
|
+
module.exports = /*#__PURE__*/JSON.parse('{"actionableNotification":"Actionable notification","actions":"Actions","address":"Address","address1":"Address line 1","address2":"Address line 2","address3":"Address line 3","address4":"Address line 4","address5":"Address line 5","address6":"Address line 6","age":"Age","cancel":"Cancel","change":"Change","city":"City","cityVillage":"City","Clinic":"Clinic","close":"Close","closeAllOpenedWorkspaces":"Discard changes in {{count}} workspaces","closesActionableNotification":"Closes actionable notification","closeSnackbar":"Close snackbar","closeWorkspaces2PromptBody":"You are about to close the following workspace(s), which might have unsaved changes:","closeWorkspaces2PromptTitle":"Close workspace(s)","closingAllWorkspacesPromptBody":"There may be unsaved changes in the following workspaces. Do you want to discard changes in the following workspaces? {{workspaceNames}}","closingAllWorkspacesPromptTitle":"You have unsaved changes","confirm":"Confirm","contactAdministratorIfIssuePersists":"Contact your system administrator if the problem persists.","contactDetails":"Contact Details","country":"Country","countyDistrict":"District","delete":"Delete","discard":"Discard","discardChanges":"Discard changes","district":"District","edit":"Edit","error":"Error","errorCopy":"Sorry, there was a problem displaying this information. You can try to reload this page, or contact the site administrator and quote the error code above.","errorLoadingLoginLocations":"Unable to load login locations. Please try again or contact support if the problem persists.","female":"Female","hide":"Hide","leftNavigation":"Left navigation","loading":"Loading","male":"Male","maximize":"Maximize","minimize":"Minimize","noResultsToDisplay":"No results to display","openAnyway":"Open Anyway","other":"Other","patientAvatarAlt":"Avatar for {{patientName}}","patientIdentifierSticker":"Patient identifier sticker","patientLists":"Patient Lists","patientPhotoAlt":"Profile photo of {{patientName}}","patientPhotoPlaceholder":"Photo placeholder for {{patientName}}","postalCode":"Postal code","print":"Print","printError":"Print error","printErrorExplainer":"An error occurred in {{errorLocation}}","printIdentifierSticker":"Print identifier sticker","printing":"Printing","relationships":"Relationships","resetOverrides":"Reset overrides","save":"Save","scriptLoadingError":"Failed to load overridden script from {{url}}. Please check that the bundled script is available at the expected URL. Click the button below to reset all import map overrides.","scriptLoadingFailed":"Error: Script failed to load","searchForLocation":"Search for a location","seeMoreLists":"See {{count}} more lists","sex":"Sex","showLess":"Show less","showMore":"Show more","snackbarNotification":"Snackbar notification","state":"State","stateProvince":"State","toggleDevTools":"Toggle dev tools","unknown":"Unknown","unsavedChangesInOpenedWorkspace":"You may have unsaved changes in the opened workspace. Do you want to discard these changes?","unsavedChangesInWorkspace":"There may be unsaved changes in \\"{{workspaceName}}\\". Please save them before opening another workspace.","unsavedChangesTitleText":"Unsaved changes","workspaceHeader":"Workspace header","yearAbbreviation":"yr","yearsAbbreviation":"yrs"}');
|
|
19
19
|
|
|
20
20
|
/***/ })
|
|
21
21
|
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
\*************************************************************/
|
|
16
16
|
/***/ ((module) => {
|
|
17
17
|
|
|
18
|
-
module.exports = /*#__PURE__*/JSON.parse('{"actionableNotification":"Actionable notification","actions":"Actions","address":"Address","address1":"Address line 1","address2":"Address line 2","address3":"Address line 3","address4":"Address line 4","address5":"Address line 5","address6":"Address line 6","age":"Age","cancel":"Cancel","change":"Change","city":"City","cityVillage":"City","Clinic":"Clinic","close":"Close","closeAllOpenedWorkspaces":"Discard changes in {{count}} workspaces","closesActionableNotification":"Closes actionable notification","closeSnackbar":"Close snackbar","closeWorkspaces2PromptBody":"You are about to close the following workspace(s), which might have unsaved changes:","closeWorkspaces2PromptTitle":"Close workspace(s)","closingAllWorkspacesPromptBody":"There may be unsaved changes in the following workspaces. Do you want to discard changes in the following workspaces? {{workspaceNames}}","closingAllWorkspacesPromptTitle":"You have unsaved changes","confirm":"Confirm","contactAdministratorIfIssuePersists":"Contact your system administrator if the problem persists.","contactDetails":"Contact Details","country":"Country","countyDistrict":"District","delete":"Delete","discard":"Discard","discardChanges":"Discard changes","district":"District","edit":"Edit","error":"Error","errorCopy":"Sorry, there was a problem displaying this information. You can try to reload this page, or contact the site administrator and quote the error code above.","female":"Female","hide":"Hide","leftNavigation":"Left navigation","loading":"Loading","male":"Male","maximize":"Maximize","minimize":"Minimize","noResultsToDisplay":"No results to display","openAnyway":"Open Anyway","other":"Other","patientAvatarAlt":"Avatar for {{patientName}}","patientIdentifierSticker":"Patient identifier sticker","patientLists":"Patient Lists","patientPhotoAlt":"Profile photo of {{patientName}}","patientPhotoPlaceholder":"Photo placeholder for {{patientName}}","postalCode":"Postal code","print":"Print","printError":"Print error","printErrorExplainer":"An error occurred in {{errorLocation}}","printIdentifierSticker":"Print identifier sticker","printing":"Printing","relationships":"Relationships","resetOverrides":"Reset overrides","save":"Save","scriptLoadingError":"Failed to load overridden script from {{url}}. Please check that the bundled script is available at the expected URL. Click the button below to reset all import map overrides.","scriptLoadingFailed":"Error: Script failed to load","searchForLocation":"Search for a location","seeMoreLists":"See {{count}} more lists","sex":"Sex","showLess":"Show less","showMore":"Show more","snackbarNotification":"Snackbar notification","state":"State","stateProvince":"State","toggleDevTools":"Toggle dev tools","unknown":"Unknown","unsavedChangesInOpenedWorkspace":"You may have unsaved changes in the opened workspace. Do you want to discard these changes?","unsavedChangesInWorkspace":"There may be unsaved changes in \\"{{workspaceName}}\\". Please save them before opening another workspace.","unsavedChangesTitleText":"Unsaved changes","workspaceHeader":"Workspace header","yearAbbreviation":"yr","yearsAbbreviation":"yrs"}');
|
|
18
|
+
module.exports = /*#__PURE__*/JSON.parse('{"actionableNotification":"Actionable notification","actions":"Actions","address":"Address","address1":"Address line 1","address2":"Address line 2","address3":"Address line 3","address4":"Address line 4","address5":"Address line 5","address6":"Address line 6","age":"Age","cancel":"Cancel","change":"Change","city":"City","cityVillage":"City","Clinic":"Clinic","close":"Close","closeAllOpenedWorkspaces":"Discard changes in {{count}} workspaces","closesActionableNotification":"Closes actionable notification","closeSnackbar":"Close snackbar","closeWorkspaces2PromptBody":"You are about to close the following workspace(s), which might have unsaved changes:","closeWorkspaces2PromptTitle":"Close workspace(s)","closingAllWorkspacesPromptBody":"There may be unsaved changes in the following workspaces. Do you want to discard changes in the following workspaces? {{workspaceNames}}","closingAllWorkspacesPromptTitle":"You have unsaved changes","confirm":"Confirm","contactAdministratorIfIssuePersists":"Contact your system administrator if the problem persists.","contactDetails":"Contact Details","country":"Country","countyDistrict":"District","delete":"Delete","discard":"Discard","discardChanges":"Discard changes","district":"District","edit":"Edit","error":"Error","errorCopy":"Sorry, there was a problem displaying this information. You can try to reload this page, or contact the site administrator and quote the error code above.","errorLoadingLoginLocations":"Unable to load login locations. Please try again or contact support if the problem persists.","female":"Female","hide":"Hide","leftNavigation":"Left navigation","loading":"Loading","male":"Male","maximize":"Maximize","minimize":"Minimize","noResultsToDisplay":"No results to display","openAnyway":"Open Anyway","other":"Other","patientAvatarAlt":"Avatar for {{patientName}}","patientIdentifierSticker":"Patient identifier sticker","patientLists":"Patient Lists","patientPhotoAlt":"Profile photo of {{patientName}}","patientPhotoPlaceholder":"Photo placeholder for {{patientName}}","postalCode":"Postal code","print":"Print","printError":"Print error","printErrorExplainer":"An error occurred in {{errorLocation}}","printIdentifierSticker":"Print identifier sticker","printing":"Printing","relationships":"Relationships","resetOverrides":"Reset overrides","save":"Save","scriptLoadingError":"Failed to load overridden script from {{url}}. Please check that the bundled script is available at the expected URL. Click the button below to reset all import map overrides.","scriptLoadingFailed":"Error: Script failed to load","searchForLocation":"Search for a location","seeMoreLists":"See {{count}} more lists","sex":"Sex","showLess":"Show less","showMore":"Show more","snackbarNotification":"Snackbar notification","state":"State","stateProvince":"State","toggleDevTools":"Toggle dev tools","unknown":"Unknown","unsavedChangesInOpenedWorkspace":"You may have unsaved changes in the opened workspace. Do you want to discard these changes?","unsavedChangesInWorkspace":"There may be unsaved changes in \\"{{workspaceName}}\\". Please save them before opening another workspace.","unsavedChangesTitleText":"Unsaved changes","workspaceHeader":"Workspace header","yearAbbreviation":"yr","yearsAbbreviation":"yrs"}');
|
|
19
19
|
|
|
20
20
|
/***/ })
|
|
21
21
|
|