Skip to content

Conversation

chibongho
Copy link
Contributor

This reverts commit fca7d4a.

Requirements

  • This PR has a title that briefly describes the work done including the ticket number. Ensure your PR title includes a conventional commit label (such as feat, fix, or chore, among others). See existing PR titles for inspiration.

If applicable

  • My work is based on designs, which are linked or shown either in the Jira ticket or the description below.
  • My work includes tests or is validated by existing tests.
  • I have updated the esm-framework mock to reflect any API changes I have made.

Summary

This PR un-reverts the initial workspace v2 check-in (#1424), which was reverted in fca7d4a for the 3.5 release.

This should not affect how the current workspace system works.

Screenshots

Related Issue

Other

Copy link
Contributor

github-actions bot commented Sep 24, 2025

Size Change: -1.48 MB (-18.88%) 👏

Total Size: 6.34 MB

Filename Size Change
packages/apps/esm-devtools-app/dist/380.js 0 B -177 kB (removed) 🏆
packages/apps/esm-help-menu-app/dist/380.js 0 B -177 kB (removed) 🏆
packages/apps/esm-implementer-tools-app/dist/7380.js 0 B -177 kB (removed) 🏆
packages/apps/esm-login-app/dist/8494.js 0 B -166 kB (removed) 🏆
packages/apps/esm-offline-tools-app/dist/7380.js 0 B -177 kB (removed) 🏆
packages/apps/esm-primary-navigation-app/dist/7380.js 0 B -177 kB (removed) 🏆
packages/shell/esm-app-shell/dist/0224fe9bb782adf4.js 0 B -248 kB (removed) 🏆
packages/shell/esm-app-shell/dist/18821cd9b4faaa77.js 0 B -62.7 kB (removed) 🏆
packages/shell/esm-app-shell/dist/ab01c359bd69cbb1.js 0 B -56.1 kB (removed) 🏆
packages/shell/esm-app-shell/dist/openmrs.443d59d85e3c2a59.js 0 B -22.1 kB (removed) 🏆
ℹ️ View Unchanged
Filename Size Change
packages/apps/esm-devtools-app/dist/180.js 12.3 kB 0 B
packages/apps/esm-devtools-app/dist/248.js 7.09 kB 0 B
packages/apps/esm-devtools-app/dist/326.js 2.63 kB 0 B
packages/apps/esm-devtools-app/dist/623.js 42.8 kB 0 B
packages/apps/esm-devtools-app/dist/629.js 195 kB 0 B
packages/apps/esm-devtools-app/dist/718.js 281 kB 0 B
packages/apps/esm-devtools-app/dist/769.js 181 kB 0 B
packages/apps/esm-devtools-app/dist/770.js 11.2 kB 0 B
packages/apps/esm-devtools-app/dist/907.js 2.33 kB 0 B
packages/apps/esm-devtools-app/dist/929.js 333 B 0 B
packages/apps/esm-devtools-app/dist/932.js 6.79 kB 0 B
packages/apps/esm-devtools-app/dist/main.js 3.62 kB +1 B (+0.03%)
packages/apps/esm-devtools-app/dist/openmrs-esm-devtools-app.js 3.68 kB +2 B (+0.05%)
packages/apps/esm-help-menu-app/dist/108.js 3.41 kB 0 B
packages/apps/esm-help-menu-app/dist/11.js 1.07 kB 0 B
packages/apps/esm-help-menu-app/dist/248.js 7.09 kB 0 B
packages/apps/esm-help-menu-app/dist/322.js 706 B 0 B
packages/apps/esm-help-menu-app/dist/326.js 2.63 kB 0 B
packages/apps/esm-help-menu-app/dist/555.js 5.15 kB 0 B
packages/apps/esm-help-menu-app/dist/556.js 279 kB 0 B
packages/apps/esm-help-menu-app/dist/623.js 42.8 kB 0 B
packages/apps/esm-help-menu-app/dist/629.js 195 kB 0 B
packages/apps/esm-help-menu-app/dist/660.js 180 kB 0 B
packages/apps/esm-help-menu-app/dist/770.js 11.2 kB 0 B
packages/apps/esm-help-menu-app/dist/802.js 1.64 kB 0 B
packages/apps/esm-help-menu-app/dist/90.js 10.4 kB 0 B
packages/apps/esm-help-menu-app/dist/932.js 5.55 kB 0 B
packages/apps/esm-help-menu-app/dist/main.js 9.04 kB +2 B (+0.02%)
packages/apps/esm-help-menu-app/dist/openmrs-esm-help-menu-app.js 3.63 kB +1 B (+0.03%)
packages/apps/esm-implementer-tools-app/dist/1119.js 687 B 0 B
packages/apps/esm-implementer-tools-app/dist/1197.js 687 B 0 B
packages/apps/esm-implementer-tools-app/dist/1405.js 3.09 kB 0 B
packages/apps/esm-implementer-tools-app/dist/1755.js 4.34 kB 0 B
packages/apps/esm-implementer-tools-app/dist/1915.js 32.1 kB 0 B
packages/apps/esm-implementer-tools-app/dist/2146.js 688 B 0 B
packages/apps/esm-implementer-tools-app/dist/2369.js 2.74 kB 0 B
packages/apps/esm-implementer-tools-app/dist/2690.js 688 B 0 B
packages/apps/esm-implementer-tools-app/dist/3099.js 799 B 0 B
packages/apps/esm-implementer-tools-app/dist/3584.js 687 B 0 B
packages/apps/esm-implementer-tools-app/dist/3629.js 195 kB 0 B
packages/apps/esm-implementer-tools-app/dist/3709.js 3.05 kB 0 B
packages/apps/esm-implementer-tools-app/dist/4055.js 819 B 0 B
packages/apps/esm-implementer-tools-app/dist/4132.js 890 B 0 B
packages/apps/esm-implementer-tools-app/dist/4300.js 687 B 0 B
packages/apps/esm-implementer-tools-app/dist/4335.js 686 B 0 B
packages/apps/esm-implementer-tools-app/dist/4618.js 688 B 0 B
packages/apps/esm-implementer-tools-app/dist/4623.js 262 kB 0 B
packages/apps/esm-implementer-tools-app/dist/4652.js 830 B 0 B
packages/apps/esm-implementer-tools-app/dist/4944.js 687 B 0 B
packages/apps/esm-implementer-tools-app/dist/5173.js 688 B 0 B
packages/apps/esm-implementer-tools-app/dist/5241.js 687 B 0 B
packages/apps/esm-implementer-tools-app/dist/5442.js 687 B 0 B
packages/apps/esm-implementer-tools-app/dist/5563.js 11.4 kB 0 B
packages/apps/esm-implementer-tools-app/dist/5623.js 42.8 kB 0 B
packages/apps/esm-implementer-tools-app/dist/5661.js 864 B 0 B
packages/apps/esm-implementer-tools-app/dist/5770.js 11.2 kB 0 B
packages/apps/esm-implementer-tools-app/dist/6022.js 820 B 0 B
packages/apps/esm-implementer-tools-app/dist/6090.js 3.38 kB 0 B
packages/apps/esm-implementer-tools-app/dist/6132.js 87.6 kB 0 B
packages/apps/esm-implementer-tools-app/dist/6248.js 7.1 kB 0 B
packages/apps/esm-implementer-tools-app/dist/6269.js 2.59 kB 0 B
packages/apps/esm-implementer-tools-app/dist/6326.js 2.63 kB 0 B
packages/apps/esm-implementer-tools-app/dist/6468.js 801 B 0 B
packages/apps/esm-implementer-tools-app/dist/6679.js 799 B 0 B
packages/apps/esm-implementer-tools-app/dist/6840.js 688 B 0 B
packages/apps/esm-implementer-tools-app/dist/6859.js 687 B 0 B
packages/apps/esm-implementer-tools-app/dist/6932.js 6.79 kB 0 B
packages/apps/esm-implementer-tools-app/dist/7097.js 687 B 0 B
packages/apps/esm-implementer-tools-app/dist/7159.js 688 B 0 B
packages/apps/esm-implementer-tools-app/dist/723.js 690 B 0 B
packages/apps/esm-implementer-tools-app/dist/7617.js 688 B 0 B
packages/apps/esm-implementer-tools-app/dist/7687.js 126 kB 0 B
packages/apps/esm-implementer-tools-app/dist/769.js 181 kB 0 B
packages/apps/esm-implementer-tools-app/dist/795.js 979 B 0 B
packages/apps/esm-implementer-tools-app/dist/8163.js 688 B 0 B
packages/apps/esm-implementer-tools-app/dist/8349.js 687 B 0 B
packages/apps/esm-implementer-tools-app/dist/8611.js 4.71 kB 0 B
packages/apps/esm-implementer-tools-app/dist/8618.js 687 B 0 B
packages/apps/esm-implementer-tools-app/dist/8650.js 2.25 kB 0 B
packages/apps/esm-implementer-tools-app/dist/890.js 688 B 0 B
packages/apps/esm-implementer-tools-app/dist/8995.js 4.59 kB 0 B
packages/apps/esm-implementer-tools-app/dist/9214.js 827 B 0 B
packages/apps/esm-implementer-tools-app/dist/9361.js 7.95 kB 0 B
packages/apps/esm-implementer-tools-app/dist/9538.js 781 B 0 B
packages/apps/esm-implementer-tools-app/dist/9569.js 686 B 0 B
packages/apps/esm-implementer-tools-app/dist/986.js 688 B 0 B
packages/apps/esm-implementer-tools-app/dist/9879.js 873 B 0 B
packages/apps/esm-implementer-tools-app/dist/9895.js 686 B 0 B
packages/apps/esm-implementer-tools-app/dist/9900.js 685 B 0 B
packages/apps/esm-implementer-tools-app/dist/9913.js 687 B 0 B
packages/apps/esm-implementer-tools-app/dist/main.js 19 kB 0 B
packages/apps/esm-implementer-tools-app/dist/openmrs-esm-implementer-tools-app.js 3.92 kB +1 B (+0.03%)
packages/apps/esm-login-app/dist/126.js 856 B 0 B
packages/apps/esm-login-app/dist/15.js 766 B 0 B
packages/apps/esm-login-app/dist/1564.js 768 B 0 B
packages/apps/esm-login-app/dist/1567.js 1.01 kB 0 B
packages/apps/esm-login-app/dist/1573.js 182 kB 0 B
packages/apps/esm-login-app/dist/1805.js 22.7 kB 0 B
packages/apps/esm-login-app/dist/1845.js 768 B 0 B
packages/apps/esm-login-app/dist/2039.js 2.21 kB 0 B
packages/apps/esm-login-app/dist/215.js 890 B 0 B
packages/apps/esm-login-app/dist/2178.js 768 B 0 B
packages/apps/esm-login-app/dist/2566.js 905 B 0 B
packages/apps/esm-login-app/dist/2759.js 807 B 0 B
packages/apps/esm-login-app/dist/3230.js 928 B 0 B
packages/apps/esm-login-app/dist/3441.js 766 B 0 B
packages/apps/esm-login-app/dist/3565.js 768 B 0 B
packages/apps/esm-login-app/dist/3746.js 768 B 0 B
packages/apps/esm-login-app/dist/3925.js 959 B 0 B
packages/apps/esm-login-app/dist/3946.js 768 B 0 B
packages/apps/esm-login-app/dist/3965.js 478 B 0 B
packages/apps/esm-login-app/dist/4429.js 6.93 kB 0 B
packages/apps/esm-login-app/dist/4894.js 768 B 0 B
packages/apps/esm-login-app/dist/5130.js 768 B 0 B
packages/apps/esm-login-app/dist/5187.js 1.04 kB 0 B
packages/apps/esm-login-app/dist/5595.js 800 B 0 B
packages/apps/esm-login-app/dist/5729.js 3 kB 0 B
packages/apps/esm-login-app/dist/5755.js 11.1 kB 0 B
packages/apps/esm-login-app/dist/5961.js 767 B 0 B
packages/apps/esm-login-app/dist/6133.js 931 B 0 B
packages/apps/esm-login-app/dist/6456.js 944 B 0 B
packages/apps/esm-login-app/dist/6466.js 843 B 0 B
packages/apps/esm-login-app/dist/6613.js 854 B 0 B
packages/apps/esm-login-app/dist/6778.js 2.59 kB 0 B
packages/apps/esm-login-app/dist/6783.js 956 B 0 B
packages/apps/esm-login-app/dist/6845.js 4.22 kB 0 B
packages/apps/esm-login-app/dist/7043.js 6.75 kB 0 B
packages/apps/esm-login-app/dist/7348.js 768 B 0 B
packages/apps/esm-login-app/dist/7362.js 2.57 kB 0 B
packages/apps/esm-login-app/dist/7543.js 768 B 0 B
packages/apps/esm-login-app/dist/7607.js 767 B 0 B
packages/apps/esm-login-app/dist/772.js 924 B 0 B
packages/apps/esm-login-app/dist/7760.js 186 kB 0 B
packages/apps/esm-login-app/dist/8370.js 16.2 kB 0 B
packages/apps/esm-login-app/dist/8450.js 27.3 kB 0 B
packages/apps/esm-login-app/dist/8727.js 794 B 0 B
packages/apps/esm-login-app/dist/8847.js 898 B 0 B
packages/apps/esm-login-app/dist/9015.js 768 B 0 B
packages/apps/esm-login-app/dist/9042.js 42.6 kB 0 B
packages/apps/esm-login-app/dist/906.js 1.07 kB 0 B
packages/apps/esm-login-app/dist/9065.js 783 B 0 B
packages/apps/esm-login-app/dist/9182.js 787 B 0 B
packages/apps/esm-login-app/dist/9339.js 768 B 0 B
packages/apps/esm-login-app/dist/936.js 477 B 0 B
packages/apps/esm-login-app/dist/9453.js 1.14 kB 0 B
packages/apps/esm-login-app/dist/9622.js 250 kB 0 B
packages/apps/esm-login-app/dist/9919.js 3.05 kB 0 B
packages/apps/esm-login-app/dist/9920.js 768 B 0 B
packages/apps/esm-login-app/dist/9938.js 1.04 kB 0 B
packages/apps/esm-login-app/dist/main.js 76.1 kB -1 B (0%)
packages/apps/esm-login-app/dist/openmrs-esm-login-app.js 24.4 kB -1 B (0%)
packages/apps/esm-offline-tools-app/dist/1119.js 1.03 kB 0 B
packages/apps/esm-offline-tools-app/dist/1185.js 4.11 kB 0 B
packages/apps/esm-offline-tools-app/dist/1197.js 1.02 kB 0 B
packages/apps/esm-offline-tools-app/dist/1405.js 3.09 kB 0 B
packages/apps/esm-offline-tools-app/dist/2146.js 1.03 kB 0 B
packages/apps/esm-offline-tools-app/dist/2500.js 5.16 kB 0 B
packages/apps/esm-offline-tools-app/dist/2690.js 1.09 kB 0 B
packages/apps/esm-offline-tools-app/dist/3099.js 1.16 kB 0 B
packages/apps/esm-offline-tools-app/dist/3389.js 11.2 kB 0 B
packages/apps/esm-offline-tools-app/dist/3584.js 1.03 kB 0 B
packages/apps/esm-offline-tools-app/dist/3629.js 195 kB 0 B
packages/apps/esm-offline-tools-app/dist/3709.js 3.05 kB 0 B
packages/apps/esm-offline-tools-app/dist/4055.js 1.19 kB 0 B
packages/apps/esm-offline-tools-app/dist/4132.js 1.3 kB 0 B
packages/apps/esm-offline-tools-app/dist/4300.js 1.03 kB 0 B
packages/apps/esm-offline-tools-app/dist/4335.js 1.1 kB 0 B
packages/apps/esm-offline-tools-app/dist/4618.js 1.03 kB 0 B
packages/apps/esm-offline-tools-app/dist/4652.js 1.21 kB 0 B
packages/apps/esm-offline-tools-app/dist/4944.js 1.03 kB 0 B
packages/apps/esm-offline-tools-app/dist/5173.js 1.03 kB 0 B
packages/apps/esm-offline-tools-app/dist/5241.js 1.03 kB 0 B
packages/apps/esm-offline-tools-app/dist/5442.js 1.03 kB 0 B
packages/apps/esm-offline-tools-app/dist/5623.js 42.8 kB 0 B
packages/apps/esm-offline-tools-app/dist/5661.js 1.19 kB 0 B
packages/apps/esm-offline-tools-app/dist/5725.js 8.9 kB 0 B
packages/apps/esm-offline-tools-app/dist/5770.js 176 kB 0 B
packages/apps/esm-offline-tools-app/dist/6022.js 1.11 kB 0 B
packages/apps/esm-offline-tools-app/dist/6090.js 3.38 kB 0 B
packages/apps/esm-offline-tools-app/dist/6224.js 1.47 kB 0 B
packages/apps/esm-offline-tools-app/dist/6248.js 7.1 kB 0 B
packages/apps/esm-offline-tools-app/dist/6252.js 44.5 kB 0 B
packages/apps/esm-offline-tools-app/dist/6269.js 2.59 kB 0 B
packages/apps/esm-offline-tools-app/dist/6326.js 2.63 kB 0 B
packages/apps/esm-offline-tools-app/dist/6408.js 16.5 kB 0 B
packages/apps/esm-offline-tools-app/dist/6468.js 1.17 kB 0 B
packages/apps/esm-offline-tools-app/dist/6679.js 1.17 kB 0 B
packages/apps/esm-offline-tools-app/dist/6840.js 1.03 kB 0 B
packages/apps/esm-offline-tools-app/dist/6859.js 1.03 kB 0 B
packages/apps/esm-offline-tools-app/dist/7097.js 1.03 kB 0 B
packages/apps/esm-offline-tools-app/dist/7159.js 1.03 kB 0 B
packages/apps/esm-offline-tools-app/dist/723.js 1.03 kB 0 B
packages/apps/esm-offline-tools-app/dist/7617.js 1.03 kB 0 B
packages/apps/esm-offline-tools-app/dist/795.js 1.37 kB 0 B
packages/apps/esm-offline-tools-app/dist/8163.js 1.03 kB 0 B
packages/apps/esm-offline-tools-app/dist/8349.js 1.03 kB 0 B
packages/apps/esm-offline-tools-app/dist/8618.js 1.03 kB 0 B
packages/apps/esm-offline-tools-app/dist/8650.js 2.24 kB 0 B
packages/apps/esm-offline-tools-app/dist/890.js 1.03 kB 0 B
packages/apps/esm-offline-tools-app/dist/9214.js 1.28 kB 0 B
packages/apps/esm-offline-tools-app/dist/9346.js 264 kB 0 B
packages/apps/esm-offline-tools-app/dist/9538.js 1.16 kB 0 B
packages/apps/esm-offline-tools-app/dist/9569.js 1.03 kB 0 B
packages/apps/esm-offline-tools-app/dist/9825.js 2.29 kB 0 B
packages/apps/esm-offline-tools-app/dist/986.js 1.03 kB 0 B
packages/apps/esm-offline-tools-app/dist/9879.js 1.19 kB 0 B
packages/apps/esm-offline-tools-app/dist/9895.js 1.03 kB 0 B
packages/apps/esm-offline-tools-app/dist/9900.js 1.03 kB 0 B
packages/apps/esm-offline-tools-app/dist/9913.js 1.03 kB 0 B
packages/apps/esm-offline-tools-app/dist/main.js 72.1 kB +2 B (0%)
packages/apps/esm-offline-tools-app/dist/openmrs-esm-offline-tools-app.js 3.92 kB +2 B (+0.05%)
packages/apps/esm-primary-navigation-app/dist/1119.js 339 B 0 B
packages/apps/esm-primary-navigation-app/dist/1197.js 340 B 0 B
packages/apps/esm-primary-navigation-app/dist/1782.js 2.27 kB 0 B
packages/apps/esm-primary-navigation-app/dist/2146.js 340 B 0 B
packages/apps/esm-primary-navigation-app/dist/2267.js 6.45 kB 0 B
packages/apps/esm-primary-navigation-app/dist/2690.js 354 B 0 B
packages/apps/esm-primary-navigation-app/dist/2727.js 1.9 kB 0 B
packages/apps/esm-primary-navigation-app/dist/3099.js 367 B 0 B
packages/apps/esm-primary-navigation-app/dist/3584.js 340 B 0 B
packages/apps/esm-primary-navigation-app/dist/3629.js 195 kB 0 B
packages/apps/esm-primary-navigation-app/dist/3637.js 179 kB 0 B
packages/apps/esm-primary-navigation-app/dist/4055.js 387 B 0 B
packages/apps/esm-primary-navigation-app/dist/4132.js 376 B 0 B
packages/apps/esm-primary-navigation-app/dist/4300.js 339 B 0 B
packages/apps/esm-primary-navigation-app/dist/4335.js 410 B 0 B
packages/apps/esm-primary-navigation-app/dist/4618.js 340 B 0 B
packages/apps/esm-primary-navigation-app/dist/4652.js 392 B 0 B
packages/apps/esm-primary-navigation-app/dist/4740.js 5.03 kB 0 B
packages/apps/esm-primary-navigation-app/dist/4944.js 339 B 0 B
packages/apps/esm-primary-navigation-app/dist/5173.js 340 B 0 B
packages/apps/esm-primary-navigation-app/dist/5241.js 340 B 0 B
packages/apps/esm-primary-navigation-app/dist/5442.js 339 B 0 B
packages/apps/esm-primary-navigation-app/dist/5623.js 42.8 kB 0 B
packages/apps/esm-primary-navigation-app/dist/5661.js 386 B 0 B
packages/apps/esm-primary-navigation-app/dist/5770.js 11.2 kB 0 B
packages/apps/esm-primary-navigation-app/dist/6022.js 399 B 0 B
packages/apps/esm-primary-navigation-app/dist/6248.js 7.1 kB 0 B
packages/apps/esm-primary-navigation-app/dist/6326.js 2.63 kB 0 B
packages/apps/esm-primary-navigation-app/dist/6408.js 16.5 kB 0 B
packages/apps/esm-primary-navigation-app/dist/6468.js 371 B 0 B
packages/apps/esm-primary-navigation-app/dist/6537.js 4.25 kB 0 B
packages/apps/esm-primary-navigation-app/dist/6679.js 369 B 0 B
packages/apps/esm-primary-navigation-app/dist/6840.js 340 B 0 B
packages/apps/esm-primary-navigation-app/dist/6859.js 339 B 0 B
packages/apps/esm-primary-navigation-app/dist/7097.js 340 B 0 B
packages/apps/esm-primary-navigation-app/dist/7159.js 340 B 0 B
packages/apps/esm-primary-navigation-app/dist/723.js 340 B 0 B
packages/apps/esm-primary-navigation-app/dist/7617.js 340 B 0 B
packages/apps/esm-primary-navigation-app/dist/795.js 451 B 0 B
packages/apps/esm-primary-navigation-app/dist/815.js 5.3 kB 0 B
packages/apps/esm-primary-navigation-app/dist/8163.js 340 B 0 B
packages/apps/esm-primary-navigation-app/dist/8349.js 340 B 0 B
packages/apps/esm-primary-navigation-app/dist/8577.js 20.1 kB 0 B
packages/apps/esm-primary-navigation-app/dist/8618.js 339 B 0 B
packages/apps/esm-primary-navigation-app/dist/890.js 340 B 0 B
packages/apps/esm-primary-navigation-app/dist/9.js 7.4 kB 0 B
packages/apps/esm-primary-navigation-app/dist/9214.js 398 B 0 B
packages/apps/esm-primary-navigation-app/dist/9287.js 272 kB 0 B
packages/apps/esm-primary-navigation-app/dist/9538.js 375 B 0 B
packages/apps/esm-primary-navigation-app/dist/9569.js 339 B 0 B
packages/apps/esm-primary-navigation-app/dist/986.js 340 B 0 B
packages/apps/esm-primary-navigation-app/dist/9879.js 403 B 0 B
packages/apps/esm-primary-navigation-app/dist/9895.js 338 B 0 B
packages/apps/esm-primary-navigation-app/dist/9900.js 338 B 0 B
packages/apps/esm-primary-navigation-app/dist/9913.js 340 B 0 B
packages/apps/esm-primary-navigation-app/dist/main.js 30.5 kB +1 B (0%)
packages/apps/esm-primary-navigation-app/dist/openmrs-esm-primary-navigation-app.js 3.79 kB +1 B (+0.03%)
packages/framework/esm-api/dist/config-schema.js 580 B 0 B
packages/framework/esm-api/dist/current-user.js 1.93 kB 0 B
packages/framework/esm-api/dist/environment.js 134 B 0 B
packages/framework/esm-api/dist/index.js 119 B 0 B
packages/framework/esm-api/dist/openmrs-backend-dependencies.js 119 B 0 B
packages/framework/esm-api/dist/openmrs-fetch.js 3.75 kB 0 B
packages/framework/esm-api/dist/public.js 201 B 0 B
packages/framework/esm-api/dist/setup.js 188 B 0 B
packages/framework/esm-api/dist/types/concept-resource.js 32 B 0 B
packages/framework/esm-api/dist/types/fetch.js 32 B 0 B
packages/framework/esm-api/dist/types/index.js 92 B 0 B
packages/framework/esm-api/dist/types/openmrs-resource.js 32 B 0 B
packages/framework/esm-api/dist/types/person-resource.js 32 B 0 B
packages/framework/esm-api/dist/types/user-resource.js 92 B 0 B
packages/framework/esm-config/dist/index.js 91 B 0 B
packages/framework/esm-config/dist/module-config/module-config.js 7.72 kB 0 B
packages/framework/esm-config/dist/module-config/state.js 1.17 kB 0 B
packages/framework/esm-config/dist/public.js 147 B 0 B
packages/framework/esm-config/dist/types.js 210 B 0 B
packages/framework/esm-config/dist/validators/type-validators.js 299 B 0 B
packages/framework/esm-config/dist/validators/validator.js 431 B 0 B
packages/framework/esm-config/dist/validators/validators.js 726 B 0 B
packages/framework/esm-context/dist/context.js 1.09 kB 0 B
packages/framework/esm-context/dist/index.js 50 B 0 B
packages/framework/esm-context/dist/public.js 50 B 0 B
packages/framework/esm-dynamic-loading/dist/dynamic-loading.js 2.95 kB 0 B
packages/framework/esm-dynamic-loading/dist/index.js 58 B 0 B
packages/framework/esm-dynamic-loading/dist/public.js 67 B 0 B
packages/framework/esm-emr-api/dist/attachments.js 466 B 0 B
packages/framework/esm-emr-api/dist/current-patient.js 461 B 0 B
packages/framework/esm-emr-api/dist/index.js 110 B 0 B
packages/framework/esm-emr-api/dist/location.js 422 B 0 B
packages/framework/esm-emr-api/dist/public.js 109 B 0 B
packages/framework/esm-emr-api/dist/types/attachments-types.js 32 B 0 B
packages/framework/esm-emr-api/dist/types/diagnosis-resource.js 81 B 0 B
packages/framework/esm-emr-api/dist/types/encounter-resource.js 32 B 0 B
packages/framework/esm-emr-api/dist/types/fhir-resource.js 32 B 0 B
packages/framework/esm-emr-api/dist/types/fhir.js 240 B 0 B
packages/framework/esm-emr-api/dist/types/index.js 123 B 0 B
packages/framework/esm-emr-api/dist/types/location-resource.js 32 B 0 B
packages/framework/esm-emr-api/dist/types/obs-resource.js 32 B 0 B
packages/framework/esm-emr-api/dist/types/patient-resource.js 32 B 0 B
packages/framework/esm-emr-api/dist/types/visit-resource.js 32 B 0 B
packages/framework/esm-emr-api/dist/visit-type.js 310 B 0 B
packages/framework/esm-emr-api/dist/visit-utils.js 990 B 0 B
packages/framework/esm-error-handling/dist/index.js 628 B 0 B
packages/framework/esm-expression-evaluator/dist/evaluator.js 5.04 kB 0 B
packages/framework/esm-expression-evaluator/dist/extractor.js 1.54 kB 0 B
packages/framework/esm-expression-evaluator/dist/globals.js 283 B 0 B
packages/framework/esm-expression-evaluator/dist/index.js 62 B 0 B
packages/framework/esm-expression-evaluator/dist/public.js 136 B 0 B
packages/framework/esm-extensions/dist/extensions.js 3.33 kB 0 B
packages/framework/esm-extensions/dist/helpers.js 165 B 0 B
packages/framework/esm-extensions/dist/index.js 112 B +3 B (+2.75%)
packages/framework/esm-extensions/dist/left-nav.js 432 B 0 B
packages/framework/esm-extensions/dist/modals.js 485 B 0 B
packages/framework/esm-extensions/dist/public.js 168 B 0 B
packages/framework/esm-extensions/dist/render.js 806 B 0 B
packages/framework/esm-extensions/dist/store.js 717 B 0 B
packages/framework/esm-extensions/dist/types.js 32 B 0 B
packages/framework/esm-extensions/dist/workspaces.js 1.25 kB 0 B
packages/framework/esm-extensions/dist/workspaces2.js 891 B 0 B
packages/framework/esm-feature-flags/dist/feature-flags.js 1.11 kB 0 B
packages/framework/esm-feature-flags/dist/index.js 56 B 0 B
packages/framework/esm-feature-flags/dist/public.js 80 B 0 B
packages/framework/esm-framework/dist/openmrs-esm-framework.js 68.4 kB +234 B (+0.34%)
packages/framework/esm-globals/dist/events.js 579 B 0 B
packages/framework/esm-globals/dist/index.js 58 B 0 B
packages/framework/esm-globals/dist/public.js 159 B 0 B
packages/framework/esm-globals/dist/types.js 130 B 0 B
packages/framework/esm-navigation/dist/breadcrumbs/db.js 389 B 0 B
packages/framework/esm-navigation/dist/breadcrumbs/filter.js 458 B 0 B
packages/framework/esm-navigation/dist/history/history.js 970 B 0 B
packages/framework/esm-navigation/dist/index.js 116 B 0 B
packages/framework/esm-navigation/dist/navigation/interpolate-string.js 795 B 0 B
packages/framework/esm-navigation/dist/navigation/navigate.js 830 B 0 B
packages/framework/esm-navigation/dist/public.js 143 B 0 B
packages/framework/esm-navigation/dist/types.js 68 B 0 B
packages/framework/esm-offline/dist/dynamic-offline-data.js 1.84 kB 0 B
packages/framework/esm-offline/dist/index.js 153 B 0 B
packages/framework/esm-offline/dist/mode.js 645 B 0 B
packages/framework/esm-offline/dist/offline-db.js 657 B 0 B
packages/framework/esm-offline/dist/offline-patient-data.js 615 B 0 B
packages/framework/esm-offline/dist/public.js 245 B 0 B
packages/framework/esm-offline/dist/service-worker-http-headers.js 155 B 0 B
packages/framework/esm-offline/dist/service-worker-messaging.js 381 B 0 B
packages/framework/esm-offline/dist/service-worker.js 658 B 0 B
packages/framework/esm-offline/dist/sync.js 2.52 kB 0 B
packages/framework/esm-offline/dist/uuid-support.js 290 B 0 B
packages/framework/esm-react-utils/dist/ComponentContext.js 165 B 0 B
packages/framework/esm-react-utils/dist/ConfigurableLink.js 689 B 0 B
packages/framework/esm-react-utils/dist/Extension.js 1.09 kB 0 B
packages/framework/esm-react-utils/dist/ExtensionSlot.js 995 B 0 B
packages/framework/esm-react-utils/dist/getLifecycle.js 340 B 0 B
packages/framework/esm-react-utils/dist/index.js 458 B 0 B
packages/framework/esm-react-utils/dist/openmrsComponentDecorator.js 1.37 kB 0 B
packages/framework/esm-react-utils/dist/OpenmrsContext.js 420 B 0 B
packages/framework/esm-react-utils/dist/public.js 422 B 0 B
packages/framework/esm-react-utils/dist/RenderIfValueIsTruthy.js 404 B 0 B
packages/framework/esm-react-utils/dist/useAbortController.js 490 B 0 B
packages/framework/esm-react-utils/dist/useAppContext.js 763 B 0 B
packages/framework/esm-react-utils/dist/useAssignedExtensionIds.js 413 B 0 B
packages/framework/esm-react-utils/dist/useAssignedExtensions.js 229 B 0 B
packages/framework/esm-react-utils/dist/useAttachments.js 342 B 0 B
packages/framework/esm-react-utils/dist/useBodyScrollLock.js 241 B 0 B
packages/framework/esm-react-utils/dist/useConfig.js 1.24 kB 0 B
packages/framework/esm-react-utils/dist/useConnectedExtensions.js 206 B 0 B
packages/framework/esm-react-utils/dist/useConnectivity.js 242 B 0 B
packages/framework/esm-react-utils/dist/useDebounce.js 600 B 0 B
packages/framework/esm-react-utils/dist/useDefineAppContext.js 837 B 0 B
packages/framework/esm-react-utils/dist/useEmrConfiguration.js 1.24 kB 0 B
packages/framework/esm-react-utils/dist/useExtensionInternalStore.js 162 B 0 B
packages/framework/esm-react-utils/dist/useExtensionSlot.js 337 B 0 B
packages/framework/esm-react-utils/dist/useExtensionSlotMeta.js 270 B 0 B
packages/framework/esm-react-utils/dist/useExtensionSlotStore.js 168 B 0 B
packages/framework/esm-react-utils/dist/useExtensionStore.js 146 B 0 B
packages/framework/esm-react-utils/dist/useFeatureFlag.js 372 B 0 B
packages/framework/esm-react-utils/dist/useFhirFetchAll.js 392 B 0 B
packages/framework/esm-react-utils/dist/useFhirInfinite.js 442 B 0 B
packages/framework/esm-react-utils/dist/useFhirPagination.js 858 B 0 B
packages/framework/esm-react-utils/dist/useForceUpdate.js 169 B 0 B
packages/framework/esm-react-utils/dist/useLayoutType.js 401 B 0 B
packages/framework/esm-react-utils/dist/useLeftNav.js 253 B 0 B
packages/framework/esm-react-utils/dist/useLeftNavStore.js 134 B 0 B
packages/framework/esm-react-utils/dist/useLocations.js 291 B 0 B
packages/framework/esm-react-utils/dist/useOnClickOutside.js 320 B 0 B
packages/framework/esm-react-utils/dist/useOnVisible.js 632 B 0 B
packages/framework/esm-react-utils/dist/useOpenmrsFetchAll.js 714 B 0 B
packages/framework/esm-react-utils/dist/useOpenmrsInfinite.js 1.37 kB 0 B
packages/framework/esm-react-utils/dist/useOpenmrsPagination.js 1.96 kB 0 B
packages/framework/esm-react-utils/dist/useOpenmrsSWR.js 921 B 0 B
packages/framework/esm-react-utils/dist/usePagination.js 724 B 0 B
packages/framework/esm-react-utils/dist/usePatient.js 689 B 0 B
packages/framework/esm-react-utils/dist/usePrimaryIdentifierResource.js 337 B 0 B
packages/framework/esm-react-utils/dist/useRenderableExtensions.js 701 B 0 B
packages/framework/esm-react-utils/dist/UserHasAccess.js 935 B 0 B
packages/framework/esm-react-utils/dist/useSession.js 1.64 kB 0 B
packages/framework/esm-react-utils/dist/useStore.js 634 B 0 B
packages/framework/esm-react-utils/dist/useVisit.js 1.41 kB 0 B
packages/framework/esm-react-utils/dist/useVisitContextStore.js 663 B 0 B
packages/framework/esm-react-utils/dist/useVisitTypes.js 255 B 0 B
packages/framework/esm-routes/dist/constants.js 76 B 0 B
packages/framework/esm-routes/dist/index.js 77 B 0 B
packages/framework/esm-routes/dist/loaders/components.js 1.3 kB +58 B (+4.67%) 🔍
packages/framework/esm-routes/dist/loaders/helpers.js 142 B 0 B
packages/framework/esm-routes/dist/loaders/index.js 128 B 0 B
packages/framework/esm-routes/dist/loaders/load-lifecycles.js 1.41 kB 0 B
packages/framework/esm-routes/dist/loaders/pages.js 2.69 kB +66 B (+2.51%)
packages/framework/esm-routes/dist/public.js 62 B 0 B
packages/framework/esm-routes/dist/routes.js 1.38 kB 0 B
packages/framework/esm-state/dist/index.js 48 B 0 B
packages/framework/esm-state/dist/public.js 86 B 0 B
packages/framework/esm-state/dist/state.js 949 B 0 B
packages/framework/esm-styleguide/dist/openmrs-esm-styleguide.js 73.2 kB +152 B (+0.21%)
packages/framework/esm-translations/dist/index.js 1.19 kB 0 B
packages/framework/esm-translations/dist/public.js 76 B 0 B
packages/framework/esm-translations/dist/translations.js 1.18 kB +59 B (+5.25%) 🔍
packages/framework/esm-utils/dist/age-helpers.js 1.21 kB 0 B
packages/framework/esm-utils/dist/dates/date-util.js 3.62 kB 0 B
packages/framework/esm-utils/dist/dates/index.js 52 B 0 B
packages/framework/esm-utils/dist/get-locale.js 299 B 0 B
packages/framework/esm-utils/dist/index.js 133 B 0 B
packages/framework/esm-utils/dist/is-online.js 114 B 0 B
packages/framework/esm-utils/dist/patient-helpers.js 1 kB 0 B
packages/framework/esm-utils/dist/retry.js 801 B 0 B
packages/framework/esm-utils/dist/shallowEqual.js 511 B 0 B
packages/framework/esm-utils/dist/storage.js 324 B 0 B
packages/framework/esm-utils/dist/test-helpers.js 463 B 0 B
packages/framework/esm-utils/dist/version.js 352 B 0 B
packages/shell/esm-app-shell/dist/063cc9a9af5e0c44.js 36.7 kB 0 B
packages/shell/esm-app-shell/dist/072592d3c4bfaeef.js 624 B 0 B
packages/shell/esm-app-shell/dist/0b1022f06391f59f.js 11.5 kB 0 B
packages/shell/esm-app-shell/dist/15227386a8c3ec43.js 1.09 kB 0 B
packages/shell/esm-app-shell/dist/1ceecf063c26fbbc.js 0 B -8.52 kB (removed) 🏆
packages/shell/esm-app-shell/dist/243c7812613b6799.js 1.09 kB 0 B
packages/shell/esm-app-shell/dist/24f44744accf4ac6.js 1.09 kB 0 B
packages/shell/esm-app-shell/dist/276b51d1fcea009c.js 1.49 kB 0 B
packages/shell/esm-app-shell/dist/2926cd33218d7a8d.js 1.09 kB 0 B
packages/shell/esm-app-shell/dist/2a6753da56d7da90.js 51.3 kB 0 B
packages/shell/esm-app-shell/dist/34263814455eccfd.js 1.29 kB 0 B
packages/shell/esm-app-shell/dist/3806a994a9c56efc.js 11.4 kB 0 B
packages/shell/esm-app-shell/dist/39c556e94b3e6a18.js 0 B -8.52 kB (removed) 🏆
packages/shell/esm-app-shell/dist/3e8f156c25def656.js 624 B 0 B
packages/shell/esm-app-shell/dist/428d1fa1e31a6f8f.js 1.09 kB 0 B
packages/shell/esm-app-shell/dist/431750e0723370a7.js 2.67 kB 0 B
packages/shell/esm-app-shell/dist/43f9f0f7c90e1683.js 216 kB 0 B
packages/shell/esm-app-shell/dist/4596d94590389ffa.js 0 B -4.33 kB (removed) 🏆
packages/shell/esm-app-shell/dist/4ebda9ed4cd6e02c.js 4.92 kB 0 B
packages/shell/esm-app-shell/dist/4f24c76e8251d1aa.js 4.37 kB 0 B
packages/shell/esm-app-shell/dist/52c29af962a1a08c.js 1.29 kB 0 B
packages/shell/esm-app-shell/dist/55bd581a706586fd.js 1.09 kB 0 B
packages/shell/esm-app-shell/dist/578b55cea834fc09.js 15.2 kB 0 B
packages/shell/esm-app-shell/dist/5c5683c947b94ec7.js 1.41 kB 0 B
packages/shell/esm-app-shell/dist/5cae308b12d00234.js 1.09 kB 0 B
packages/shell/esm-app-shell/dist/5de74bb97b50cb5e.js 1.32 kB 0 B
packages/shell/esm-app-shell/dist/624be2835bc78151.js 1.18 kB 0 B
packages/shell/esm-app-shell/dist/6257209fb8b3fa49.js 1.09 kB 0 B
packages/shell/esm-app-shell/dist/63a126d853b2d165.js 6.74 kB 0 B
packages/shell/esm-app-shell/dist/63efd7b1aefa8d6b.js 6.99 kB 0 B
packages/shell/esm-app-shell/dist/6c121a0c5c215813.js 42.9 kB 0 B
packages/shell/esm-app-shell/dist/722a05b46ed52857.js 1.44 kB 0 B
packages/shell/esm-app-shell/dist/74cf9dcb2498f576.js 1.21 kB 0 B
packages/shell/esm-app-shell/dist/7643eacd960e1537.js 1.09 kB 0 B
packages/shell/esm-app-shell/dist/77831d21a430f0d4.js 1.4 kB 0 B
packages/shell/esm-app-shell/dist/7ba21b7f314b1d85.js 29.1 kB 0 B
packages/shell/esm-app-shell/dist/8412f9a96b3b7520.js 1.09 kB 0 B
packages/shell/esm-app-shell/dist/8ca709cce7feff23.js 0 B -3.34 kB (removed) 🏆
packages/shell/esm-app-shell/dist/8df5377ba77ca28d.js 1.09 kB 0 B
packages/shell/esm-app-shell/dist/937680a91f0e1da9.js 1.14 kB 0 B
packages/shell/esm-app-shell/dist/9ba7c06b7b0b5729.js 1.09 kB 0 B
packages/shell/esm-app-shell/dist/9d1a6d2969160caa.js 1.09 kB 0 B
packages/shell/esm-app-shell/dist/a48ac555f9c8f4b1.js 0 B -1.09 kB (removed) 🏆
packages/shell/esm-app-shell/dist/ab6a2e0965a36c78.js 11.3 kB 0 B
packages/shell/esm-app-shell/dist/ad3aceea27c82fd9.js 1.09 kB 0 B
packages/shell/esm-app-shell/dist/b0674c5b22981da1.js 0 B -6.56 kB (removed) 🏆
packages/shell/esm-app-shell/dist/b07d2675466c5c6b.js 3.08 kB 0 B
packages/shell/esm-app-shell/dist/b59cb10bd150d81d.js 168 kB 0 B
packages/shell/esm-app-shell/dist/b8c70bd63342d528.js 1.3 kB 0 B
packages/shell/esm-app-shell/dist/bd28290184d5f3e7.js 1.09 kB 0 B
packages/shell/esm-app-shell/dist/bd5d38f794b199ea.js 1.4 kB 0 B
packages/shell/esm-app-shell/dist/be22bac52881aad3.js 1.09 kB 0 B
packages/shell/esm-app-shell/dist/c0c9f1d5dfec3d10.js 7.22 kB 0 B
packages/shell/esm-app-shell/dist/c818c9fa7acc9586.js 4.37 kB 0 B
packages/shell/esm-app-shell/dist/cbbde8b8c1ea2edf.js 1.09 kB 0 B
packages/shell/esm-app-shell/dist/d33f7329c2aba9ca.js 1.14 kB 0 B
packages/shell/esm-app-shell/dist/d522e46b0e8f5cac.js 1.09 kB 0 B
packages/shell/esm-app-shell/dist/da59605aef5b561c.js 1.09 kB 0 B
packages/shell/esm-app-shell/dist/dbf0967e51d2eacb.js 20.8 kB 0 B
packages/shell/esm-app-shell/dist/e55b3ddc241cc4f6.js 1.09 kB 0 B
packages/shell/esm-app-shell/dist/e614c98b68a7e0cf.js 0 B -4.33 kB (removed) 🏆
packages/shell/esm-app-shell/dist/e8a916effba5c2b7.js 6.61 kB 0 B
packages/shell/esm-app-shell/dist/eb551367394d56fc.js 1.09 kB 0 B
packages/shell/esm-app-shell/dist/ec712a55b06f9189.js 1.09 kB 0 B
packages/shell/esm-app-shell/dist/eeeb9bad8086f1b9.js 1.09 kB 0 B
packages/shell/esm-app-shell/dist/ef6a5f3f8c124660.js 1.33 kB 0 B
packages/shell/esm-app-shell/dist/f33e1a600fdb8c9c.js 1.59 kB 0 B
packages/shell/esm-app-shell/dist/f3aea00f204f9e26.js 1.09 kB 0 B
packages/shell/esm-app-shell/dist/f43ae4f776006a9b.js 1.28 kB 0 B
packages/shell/esm-app-shell/dist/fcc4ee93d197fee0.js 77.5 kB 0 B
packages/shell/esm-app-shell/dist/openmrs.bc82e6ddbed61341.js 22.2 kB 0 B
packages/shell/esm-app-shell/dist/service-worker.js 45.5 kB +61 B (+0.13%)
packages/tooling/openmrs/dist/cli.js 3.07 kB 0 B
packages/tooling/openmrs/dist/commands/assemble.js 3.36 kB 0 B
packages/tooling/openmrs/dist/commands/build.js 1.39 kB 0 B
packages/tooling/openmrs/dist/commands/debug.js 577 B 0 B
packages/tooling/openmrs/dist/commands/develop.js 2.81 kB 0 B
packages/tooling/openmrs/dist/commands/index.js 437 B 0 B
packages/tooling/openmrs/dist/commands/start.js 889 B 0 B
packages/tooling/openmrs/dist/index.js 626 B 0 B
packages/tooling/openmrs/dist/runner.js 745 B 0 B
packages/tooling/openmrs/dist/utils/config.js 740 B 0 B
packages/tooling/openmrs/dist/utils/debugger.js 682 B 0 B
packages/tooling/openmrs/dist/utils/dependencies.js 666 B 0 B
packages/tooling/openmrs/dist/utils/devserver.js 285 B 0 B
packages/tooling/openmrs/dist/utils/helpers.js 378 B 0 B
packages/tooling/openmrs/dist/utils/importmap.js 3.31 kB 0 B
packages/tooling/openmrs/dist/utils/index.js 443 B 0 B
packages/tooling/openmrs/dist/utils/logger.js 353 B 0 B
packages/tooling/openmrs/dist/utils/npmConfig.js 822 B 0 B
packages/tooling/openmrs/dist/utils/untar.js 824 B 0 B
packages/tooling/openmrs/dist/utils/variables.js 183 B 0 B
packages/tooling/rspack-config/dist/index.js 4.15 kB 0 B
packages/tooling/typedoc-plugin-file-categories/dist/index.js 573 B 0 B
packages/tooling/webpack-config/dist/index.js 3.72 kB 0 B

compressed-size-action

}
}

export function getOpenedWindowIndexByWorkspace(workspaceName: string) {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Eventually, we should add TSDoc comments to anything in the public API, which I assume covers all of this.

Comment on lines +9 to +14
export function renderWorkspaceWindowsAndMenu(target: HTMLElement | null) {
if (target) {
const root = createRoot(target);
root.render(<WorkspaceWindowsAndMenu />);
}
}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd also probably prefer if this were done as part of the primary navigation app and not the app shell (since we have some things like the login page which shouldn't need this.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I wanted to follow the pattern with modals, toasts and notifications to have their root as part of the app shell. Workspace v1 was the odd one out in that we needed to have <WorkspaceContainer> defined in each app.

Comment on lines 117 to 123
* [¹] Omitting window or group props is useful for workspaces that don't have ties to the window or group "context" (props).
* For example, in the patient chart, the visit notes / clinical forms / order basket action menu button all share
* a "group context" of the current visit. However, the "patient list" action menu button does not need to share that group
* context, so opening that workspace should not need to cause other workspaces / windows / groups to potentially close.
* The "patient search" workspace in the queues and ward apps is another example.
*
* [²] 2 sets of props are compatible if either one is nullish, or if they are shallow equal.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It would probably be better to format these as actual Markdown foot notes, i.e., [^1] then [^1]: Blah blah blah. We at least have a chance in correctly creating links for those.

It would be good (eventually) to include one or two @example uses here too.

* @experimental
*/
export async function launchWorkspace2<
WorkspaceProps extends Record<string, any>,
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I tend to prefer:

Suggested change
WorkspaceProps extends Record<string, any>,
WorkspaceProps extends Record<string, unknown>,

Unless we really can't...

Comment on lines +299 to +301
if (a == null || b == null) {
return true;
}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
if (a == null || b == null) {
return true;
}
if (a === null || b === null) {
return true;
}

Comment on lines 303 to 317
// check that every prop in a is also in b, and they are equal
for (let key in a) {
if (!(key in b) || a[key] !== b[key]) {
return false;
}
}

// check that every prop in b is also in a, and they are equal
for (let key in b) {
if (!(key in a) || a[key] !== b[key]) {
return false;
}
}
return true;
}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We actually have a shallowEqual() function which should be slightly more efficient.

Copy link
Member

@denniskigen denniskigen left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Left a few suggestions. Feel free to ignore the updated comment suggestions if they don't resonate.

<div class="omrs-snackbars-container"></div>
<div class="omrs-modals-container"></div>
<div id="omrs-left-nav-container"></div>
<div id="omrs-workspace-container"></div>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
<div id="omrs-workspace-container"></div>
<div id="omrs-workspaces-container"></div>

To accurately reflect that it renders multiple workspaces instead of a single one.

grid-area: leftNav;
}

#omrs-workspace-container {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
#omrs-workspace-container {
#omrs-workspaces-container {

}

function showWorkspacesAndActionMenu() {
renderWorkspaceWindowsAndMenu(document.querySelector('#omrs-workspace-container'));
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
renderWorkspaceWindowsAndMenu(document.querySelector('#omrs-workspace-container'));
renderWorkspaceWindowsAndMenu(document.querySelector('#omrs-workspaces-container'));

tagContent?: React.ReactNode;
}

function Tags({ getIcon, isWindowHidden: isWindowHidden, tagContent }: TagsProps) {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
function Tags({ getIcon, isWindowHidden: isWindowHidden, tagContent }: TagsProps) {
function Tags({ getIcon, isWindowHidden, tagContent }: TagsProps) {

This destructuring alias shouldn't be necessary as it's using the same name as the original.

Comment on lines +83 to +97
const isFocused = isCurrentWindowFocused(openedWindows, window);

const onClick = async () => {
if (isWindowOpened) {
if (!isFocused) {
restoreWindow(window.windowName);
}
} else {
const shouldLaunch = await (onBeforeWorkspaceLaunch?.() ?? true);
if (shouldLaunch) {
const { workspaceName, workspaceProps, windowProps } = workspaceToLaunch;
launchWorkspace2(workspaceName, workspaceProps, windowProps);
}
}
};
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
const isFocused = isCurrentWindowFocused(openedWindows, window);
const onClick = async () => {
if (isWindowOpened) {
if (!isFocused) {
restoreWindow(window.windowName);
}
} else {
const shouldLaunch = await (onBeforeWorkspaceLaunch?.() ?? true);
if (shouldLaunch) {
const { workspaceName, workspaceProps, windowProps } = workspaceToLaunch;
launchWorkspace2(workspaceName, workspaceProps, windowProps);
}
}
};
const isFocused = useMemo(() => isCurrentWindowFocused(openedWindows, window), [openedWindows, window]);
const onClick = async () => {
try {
if (isWindowOpened) {
if (!isFocused) {
restoreWindow(window.windowName);
}
return;
}
const shouldLaunch = await (onBeforeWorkspaceLaunch?.() ?? true);
if (shouldLaunch) {
const { workspaceName, workspaceProps, windowProps } = workspaceToLaunch;
launchWorkspace2(workspaceName, workspaceProps, windowProps);
}
} catch (error) {
console.error('Failed to handle workspace action:', error);
}
};

Could potentially be refactored to this to simplify the complex conditional logic and optimize the computation (less important here).

// most recently opened action appended to the end
{
windowName: windowName,
openedWorkspaces: [newOpenedWorkspace(workspaceName, workspaceProps)], // root workspace at index 0
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
openedWorkspaces: [newOpenedWorkspace(workspaceName, workspaceProps)], // root workspace at index 0
openedWorkspaces: [newOpenedWorkspace(workspaceName, workspaceProps)], // single workspace in new array

return true;
}

// check that every prop in a is also in b, and they are equal
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
// check that every prop in a is also in b, and they are equal
// check that every prop in a is also in b, and they are equal (bidirectional check)

const openedWindowIndex = getOpenedWindowIndexByWorkspace(workspaceName);
const isWindowAlreadyOpened = openedWindowIndex >= 0;

// if current opened group is not the same as the requested group, or if the group props are different, then prompt for unsaved changes
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
// if current opened group is not the same as the requested group, or if the group props are different, then prompt for unsaved changes
// Check if we need to prompt for group change due to incompatible props
// if current opened group is not the same as the requested group, or if the group props are different, then prompt for unsaved changes

} else {
return false;
}
} else if (isWindowAlreadyOpened) {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
} else if (isWindowAlreadyOpened) {
// Handle case where window is already opened
} else if (isWindowAlreadyOpened) {

return false;
}
}
} else {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
} else {
// Create new window when none exists
} else {

@chibongho chibongho merged commit 50a451e into main Oct 2, 2025
14 checks passed
@chibongho chibongho deleted the workspace2 branch October 2, 2025 14:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants