commitbcfb4c1456Merge:1cbde57975c87dAuthor: Munawwirul Jamal <57973347+munaja@users.noreply.github.com> Date: Mon Nov 17 11:15:14 2025 +0700 Merge pull request #147 from dikstub-rssa/feat/surat-kontrol-135 Feat: Integration Rehab Medik - Surat Kontrol commit975c87d99aMerge:f5820901cbde57Author: hasyim_kai <muhammad.hasyim.c.a@gmail.com> Date: Mon Nov 17 10:58:10 2025 +0700 Merge branch 'dev' into feat/surat-kontrol-135 commit1cbde57cf9Author: Munawwirul Jamal <munawwirul.jamal@gmail.com> Date: Sun Nov 16 00:44:53 2025 +0700 dev: hotfix comps/pub/myui + updated data/types + updated data-table + updated nav-header + added toggle comps/pub/ui + updated button + updated toggle commitccabe0177bAuthor: Munawwirul Jamal <munawwirul.jamal@gmail.com> Date: Fri Nov 14 16:39:21 2025 +0700 dev: hotfix, added combobox objectsToItems commitf582090d18Author: hasyim_kai <muhammad.hasyim.c.a@gmail.com> Date: Thu Nov 13 11:56:21 2025 +0700 Fix: Refactor surat kontrol commit0d97ba9d25Merge:02508b2bb8df3dAuthor: Munawwirul Jamal <57973347+munaja@users.noreply.github.com> Date: Thu Nov 13 11:52:23 2025 +0700 Merge pull request #164 from dikstub-rssa/feeat/pendaftaran-kemoterapi-141 Feat: Pendaftaran Kemoterapi commitbb8df3d53aMerge:a592a0b02508b2Author: riefive <rie.five@gmail.com> Date: Thu Nov 13 10:14:17 2025 +0700 Merge branch 'dev' of https://github.com/dikstub-rssa/simrs-fe into feeat/pendaftaran-kemoterapi-141 commit02508b22deMerge:6b933de295bb81Author: Munawwirul Jamal <57973347+munaja@users.noreply.github.com> Date: Thu Nov 13 07:56:31 2025 +0700 Merge pull request #162 from dikstub-rssa/fe-prescription-56 Fe prescription 56 commit295bb8120fMerge:8462eba6b933deAuthor: Munawwirul Jamal <munawwirul.jamal@gmail.com> Date: Thu Nov 13 07:45:48 2025 +0700 Merge branch 'dev' into fe-prescription-56 commit6b933de212Merge:f2e98fc471c846Author: Munawwirul Jamal <57973347+munaja@users.noreply.github.com> Date: Wed Nov 12 07:13:11 2025 +0700 Merge pull request #156 from dikstub-rssa/feat/cp-lab-order-48 Feat/cp lab order 48 commitf2e98fc732Merge:2e899c69b281deAuthor: Munawwirul Jamal <57973347+munaja@users.noreply.github.com> Date: Wed Nov 12 07:12:40 2025 +0700 Merge pull request #158 from dikstub-rssa/feat/menu-structure Feat/menu structure commit471c846045Merge:f676c8a2e899c6Author: Andrian Roshandy <andrianovsky95@gmail.com> Date: Wed Nov 12 07:11:46 2025 +0700 Merge branch 'dev' into feat/cp-lab-order-48 commit9b281de00bMerge:80383a52e899c6Author: Andrian Roshandy <andrianovsky95@gmail.com> Date: Wed Nov 12 07:08:29 2025 +0700 Merge branch 'dev' into feat/menu-structure commit2e899c6022Merge:8effefbb7d4fcfAuthor: Munawwirul Jamal <57973347+munaja@users.noreply.github.com> Date: Wed Nov 12 07:04:47 2025 +0700 Merge pull request #157 from dikstub-rssa/feat/encounter-status-107 Feat/encounter status 107 commit8effefb5adMerge:3f63f198e7f9b1Author: Munawwirul Jamal <57973347+munaja@users.noreply.github.com> Date: Wed Nov 12 07:04:17 2025 +0700 Merge pull request #155 from dikstub-rssa/feat/radiology-order-54 Feat/radiology order 54 commit80383a5f0aAuthor: Andrian Roshandy <andrianovsky95@gmail.com> Date: Wed Nov 12 06:52:31 2025 +0700 feat/menu-structure: adjust page rehab commit93c9e74d08Author: Andrian Roshandy <andrianovsky95@gmail.com> Date: Wed Nov 12 06:52:14 2025 +0700 feat/menu-structure: adjust menu items all roles commitf0d2bc4de1Author: Andrian Roshandy <andrianovsky95@gmail.com> Date: Wed Nov 12 06:51:37 2025 +0700 feat/menu-structure: update access control commit02c14089f1Author: Andrian Roshandy <andrianovsky95@gmail.com> Date: Wed Nov 12 06:51:03 2025 +0700 feat/menu-structure: update role switcher commita14c4a5d3cAuthor: hasyim_kai <muhammad.hasyim.c.a@gmail.com> Date: Tue Nov 11 14:21:58 2025 +0700 Fix: Refactor Surat Kontrol CRUD {id} to {code} commite9e0e21d1bAuthor: Andrian Roshandy <andrianovsky95@gmail.com> Date: Tue Nov 11 12:30:43 2025 +0700 feat/menu-structure: wip commit8e7f9b19e3Author: Munawwirul Jamal <munawwirul.jamal@gmail.com> Date: Mon Nov 10 23:17:49 2025 +0700 feat/radiology-order-54: upgraded mcu-order/list commit24313adef6Author: hasyim_kai <muhammad.hasyim.c.a@gmail.com> Date: Fri Nov 7 10:35:46 2025 +0700 Fix: debug back btn in add, edit, detail content page commit59b44b5729Merge:99a61a0db15ec9Author: Muhammad Hasyim Chaidir Ali <68959522+Hasyim-Kai@users.noreply.github.com> Date: Fri Nov 7 09:11:10 2025 +0700 Merge branch 'dev' into feat/surat-kontrol-135 commit99a61a0bf2Author: hasyim_kai <muhammad.hasyim.c.a@gmail.com> Date: Thu Nov 6 08:06:01 2025 +0700 Feat: add right & bottom label in input base component commit8462eba94bAuthor: Andrian Roshandy <andrianovsky95@gmail.com> Date: Wed Nov 5 21:23:04 2025 +0700 feat/prescription-56: wip commitdb48919325Author: hasyim_kai <muhammad.hasyim.c.a@gmail.com> Date: Wed Nov 5 13:53:43 2025 +0700 Feat: add banner in List if requirement not met commitbd57250f7eAuthor: hasyim_kai <muhammad.hasyim.c.a@gmail.com> Date: Wed Nov 5 13:26:48 2025 +0700 Fix: refactor getDetail url param commita361922e32Author: hasyim_kai <muhammad.hasyim.c.a@gmail.com> Date: Wed Nov 5 13:19:07 2025 +0700 Feat: Add & integrate add, edit, detail page commit331f4a6b20Author: hasyim_kai <muhammad.hasyim.c.a@gmail.com> Date: Tue Nov 4 16:56:08 2025 +0700 Feat: Integrate Control Letter commita592a0be36Author: riefive <rie.five@gmail.com> Date: Tue Nov 4 15:15:38 2025 +0700 feat(cemo): add home encounter commitbe0a761170Author: riefive <rie.five@gmail.com> Date: Tue Nov 4 13:23:52 2025 +0700 feat(cemo): change flow admin commit64fe2524fbAuthor: riefive <rie.five@gmail.com> Date: Tue Nov 4 12:02:31 2025 +0700 feat(cemo): enhance admin mode functionality and update series handling commitfb7731188dAuthor: riefive <rie.five@gmail.com> Date: Mon Nov 3 15:52:35 2025 +0700 feat(cemo): add mode adm + series commit89b2fb9cd9Author: riefive <rie.five@gmail.com> Date: Mon Nov 3 15:03:56 2025 +0700 feat(chemo): add page process and modify components commitf676c8a4b9Author: Andrian Roshandy <andrianovsky95@gmail.com> Date: Mon Nov 3 08:11:02 2025 +0700 feat/cp-lab-order-48: wip commit69ffe6bd49Author: Andrian Roshandy <andrianovsky95@gmail.com> Date: Fri Oct 31 14:35:39 2025 +0700 feat/radiology-order: added the page commitd1369d513bAuthor: riefive <rie.five@gmail.com> Date: Fri Oct 31 16:08:22 2025 +0700 feat(cemo): add list verification commita9ab75fd98Author: Andrian Roshandy <andrianovsky95@gmail.com> Date: Fri Oct 31 14:35:05 2025 +0700 feat/readiology-order: added mcu commit71d68e5a0eAuthor: riefive <rie.five@gmail.com> Date: Fri Oct 31 14:49:21 2025 +0700 feat(cemo): add dialog verification and list register commitf8d906b6c2Merge:66872c95f9e441Author: Andrian Roshandy <andrianovsky95@gmail.com> Date: Fri Oct 31 14:48:21 2025 +0700 Merge branch 'dev' into fe-prescription-56 commit40d78a999aAuthor: Andrian Roshandy <andrianovsky95@gmail.com> Date: Fri Oct 31 14:35:05 2025 +0700 feat/readiology-order: added mcu commitb3502df0f8Merge:831749a7119f67Author: riefive <rie.five@gmail.com> Date: Fri Oct 31 13:12:11 2025 +0700 Merge branch 'feat/fe-kemoterapi' into feeat/pendaftaran-kemoterapi-141 commit7119f67402Author: riefive <rie.five@gmail.com> Date: Fri Oct 31 13:09:59 2025 +0700 feat(cemo): modify schema commit66872c95f8Author: Munawwirul Jamal <munawwirul.jamal@gmail.com> Date: Fri Oct 31 07:56:36 2025 +0700 feat/prescription-56: wip commit45cc019ec1Author: riefive <rie.five@gmail.com> Date: Thu Oct 30 15:43:50 2025 +0700 feat(cemo): layouting form commite866c0cf2aAuthor: riefive <rie.five@gmail.com> Date: Thu Oct 30 14:41:52 2025 +0700 feat(cemo): layouting protocol commitdc4edc1dc0Author: riefive <rie.five@gmail.com> Date: Wed Oct 29 15:58:52 2025 +0700 feat(cemo): show list cemo commit3234853473Author: riefive <rie.five@gmail.com> Date: Wed Oct 29 15:39:55 2025 +0700 feat(cemo): add list of cemo commit67ee129f4bMerge:9919b4b9e82d17Author: Andrian Roshandy <andrianovsky95@gmail.com> Date: Tue Oct 28 16:20:17 2025 +0700 Merge branch 'dev' into fe-prescription-56 commit2275f4dc99Author: hasyim_kai <muhammad.hasyim.c.a@gmail.com> Date: Mon Oct 27 14:01:58 2025 +0700 Feat: add UI BPJS > Surat Kontrol commit89e0e7a2c8Author: hasyim_kai <muhammad.hasyim.c.a@gmail.com> Date: Mon Oct 27 10:21:59 2025 +0700 Feat: add UI CRUD Surat Kontrol at Rehab Medik > kunjungan > Proses commit9919b4b896Merge:19a43bde93e72aAuthor: Andrian Roshandy <andrianovsky95@gmail.com> Date: Sat Oct 25 15:36:29 2025 +0700 Merge branch 'dev' into fe-prescription-56 commitb7d4fcf939Merge:eaac4aae93e72aAuthor: Andrian Roshandy <andrianovsky95@gmail.com> Date: Sat Oct 25 15:31:30 2025 +0700 Merge branch 'dev' into feat/encounter-status-107 commit19a43bd291Merge:d90e4003558672Author: Andrian Roshandy <andrianovsky95@gmail.com> Date: Sat Oct 25 05:02:57 2025 +0700 Merge branch 'dev' into fe-prescription-56 commiteaac4aab85Merge:72e8d433558672Author: Andrian Roshandy <andrianovsky95@gmail.com> Date: Sat Oct 25 05:01:45 2025 +0700 Merge branch 'dev' into feat/encounter-status-107 commitd90e40043cMerge:0c9f9deb90f0c1Author: Andrian Roshandy <andrianovsky95@gmail.com> Date: Fri Oct 24 12:40:59 2025 +0700 Merge branch 'dev' into fe-prescription-56 commit0c9f9deb7eAuthor: Andrian Roshandy <andrianovsky95@gmail.com> Date: Fri Oct 24 12:38:02 2025 +0700 fe-prescription-56: wip commit729474a2a0Merge:7159bd6ddd35d6Author: Andrian Roshandy <andrianovsky95@gmail.com> Date: Thu Oct 23 14:16:52 2025 +0700 Merge branch 'dev' into fe-prescription-56 commit72e8d431d6Merge:3f77d922a9b78aAuthor: Andrian Roshandy <andrianovsky95@gmail.com> Date: Wed Oct 22 07:17:41 2025 +0700 Merge branch 'dev' into feat/encounter-status-107 commit3f77d927b6Author: Andrian Roshandy <andrianovsky95@gmail.com> Date: Tue Oct 21 22:48:34 2025 +0700 feat/encounter: done commitd8c861d60cMerge:6bdee6627ab7c2Author: Andrian Roshandy <andrianovsky95@gmail.com> Date: Tue Oct 21 00:15:01 2025 +0700 Merge branch 'dev' into feat/encounter-status-107 commit7159bd6566Merge:ccc9b0bbe5768bAuthor: Andrian Roshandy <andrianovsky95@gmail.com> Date: Mon Oct 13 07:45:15 2025 +0700 Merge branch 'dev' into fe-prescription-56 commitccc9b0bda3Merge:f94ccd7cad7ac6Author: Andrian Roshandy <andrianovsky95@gmail.com> Date: Mon Oct 13 06:29:03 2025 +0700 Merge branch 'dev' into fe-prescription-56 commit6bdee66cc6Author: Andrian Roshandy <andrianovsky95@gmail.com> Date: Mon Oct 13 06:26:30 2025 +0700 feat/encounter: wip commitf7c53fc4e5Merge:a7c7ef6cad7ac6Author: Andrian Roshandy <andrianovsky95@gmail.com> Date: Mon Oct 13 06:24:45 2025 +0700 Merge branch 'dev' into feat/encounter-status-107 commita7c7ef6dd8Merge:89b051bf52e516Author: Andrian Roshandy <andrianovsky95@gmail.com> Date: Sun Oct 12 13:27:06 2025 +0700 Merge branch 'dev' into feat/encounter-status-107 commit89b051b883Author: Andrian Roshandy <andrianovsky95@gmail.com> Date: Sun Oct 12 13:18:46 2025 +0700 feat/encounter-status-107: wip commit743c38804aMerge:d6d60e3f7b66d2Author: Andrian Roshandy <andrianovsky95@gmail.com> Date: Sun Oct 12 11:53:03 2025 +0700 Merge branch 'dev' into feat/encounter-status-107 commitd6d60e38d0Merge:9530cdd18e00bfAuthor: Andrian Roshandy <andrianovsky95@gmail.com> Date: Sun Oct 12 11:49:49 2025 +0700 Merge branch 'dev' into feat/encounter-status-107 commit18e00bf89aAuthor: Munawwirul Jamal <munawwirul.jamal@gmail.com> Date: Sun Oct 12 11:40:53 2025 +0700 dev: hotfix, text-size standardization commit9530cdd4f9Merge:0820cb60d1e469Author: Andrian Roshandy <andrianovsky95@gmail.com> Date: Sun Oct 12 11:41:49 2025 +0700 Merge branch 'dev' into feat/encounter-status-107 commit0d1e469eceAuthor: Munawwirul Jamal <munawwirul.jamal@gmail.com> Date: Sun Oct 12 11:40:53 2025 +0700 dev: hotfix, text-size standardization commit0820cb653cMerge:fff1ce0867c1b4Author: Andrian Roshandy <andrianovsky95@gmail.com> Date: Sat Oct 11 00:38:10 2025 +0700 Merge branch 'dev' into feat/encounter-status-107 commitfff1ce0eb7Merge:1a3edd53a4b2aaAuthor: Andrian Roshandy <andrianovsky95@gmail.com> Date: Sat Oct 11 00:35:16 2025 +0700 Merge branch 'dev' into feat/encounter-status-107 commit3a4b2aa6fbAuthor: Munawwirul Jamal <munawwirul.jamal@gmail.com> Date: Sat Oct 11 00:25:44 2025 +0700 dev: hotfix, moved combobox and datepicker commit1a3edd5a1eAuthor: Munawwirul Jamal <munawwirul.jamal@gmail.com> Date: Fri Oct 10 23:58:44 2025 +0700 dev: hotfix, moved combobox and datepicker commitf94ccd707bMerge:064767551d1221Author: Munawwirul Jamal <munawwirul.jamal@gmail.com> Date: Wed Oct 8 08:00:01 2025 +0700 Merge branch 'feat/consultation-82' into fe-prescription-56 commit06476756fbAuthor: Munawwirul Jamal <munawwirul.jamal@gmail.com> Date: Wed Oct 8 07:58:48 2025 +0700 fe-prescription-56: wip commitfdbcfed87fMerge:4da896abd66a88Author: Andrian Roshandy <andrianovsky95@gmail.com> Date: Tue Oct 7 03:10:19 2025 +0700 Merge branch 'dev' into fe-prescription-56 commitbd66a8887dMerge:19e00faba61d05Author: Munawwirul Jamal <57973347+munaja@users.noreply.github.com> Date: Tue Oct 7 03:07:46 2025 +0700 Merge pull request #103 from dikstub-rssa/feat/fe-integrasi-org-src-72 Feat - Integrasi Org Src commitba61d05257Author: riefive <rie.five@gmail.com> Date: Mon Oct 6 12:42:08 2025 +0700 fix: adjustment division app + flow commit8601d4a4fdAuthor: riefive <rie.five@gmail.com> Date: Mon Oct 6 11:07:05 2025 +0700 fix: remove shared handlers commitfff5f2c11dAuthor: riefive <rie.five@gmail.com> Date: Mon Oct 6 11:06:29 2025 +0700 fix: update content list of specialist, subspecialist, etc commit301cb82803Author: riefive <rie.five@gmail.com> Date: Mon Oct 6 11:00:14 2025 +0700 fix: update list medicine commit3003ec9d80Author: riefive <rie.five@gmail.com> Date: Mon Oct 6 10:45:15 2025 +0700 fix: update list division + equipment commitd1bcd6e66cAuthor: riefive <rie.five@gmail.com> Date: Mon Oct 6 10:38:10 2025 +0700 fix: update some service commit78ae8a8aa0Author: riefive <rie.five@gmail.com> Date: Mon Oct 6 10:26:25 2025 +0700 fix: medicine method and group commit8eaf95dd3eAuthor: riefive <rie.five@gmail.com> Date: Mon Oct 6 10:20:05 2025 +0700 fix: update service for unit and uom commit58c0dde377Author: riefive <rie.five@gmail.com> Date: Mon Oct 6 10:14:51 2025 +0700 fix: update handler for unit and uom commitfe23c75acaAuthor: riefive <rie.five@gmail.com> Date: Mon Oct 6 10:09:24 2025 +0700 fix: update some service and handlers commit4da896a242Merge:285c3ee19e00faAuthor: Andrian Roshandy <andrianovsky95@gmail.com> Date: Mon Oct 6 09:55:24 2025 +0700 Merge branch 'dev' into fe-prescription-56 commitecdc5d80d9Author: riefive <rie.five@gmail.com> Date: Mon Oct 6 09:51:31 2025 +0700 fix: update device service and handler commit45ea70d415Author: riefive <rie.five@gmail.com> Date: Mon Oct 6 09:44:48 2025 +0700 fix: update crud base commit51ddb9d8b5Merge:42a54bb19e00faAuthor: riefive <rie.five@gmail.com> Date: Mon Oct 6 09:40:22 2025 +0700 fix: resolve conflict commit19e00fa143Author: Munawwirul Jamal <munawwirul.jamal@gmail.com> Date: Mon Oct 6 08:26:08 2025 +0700 dev: hotfix, moved encounter to pub/component commit285c3ee4e5Author: Andrian Roshandy <andrianovsky95@gmail.com> Date: Mon Oct 6 07:56:29 2025 +0700 Merged Stash commit421159971eAuthor: Andrian Roshandy <andrianovsky95@gmail.com> Date: Mon Oct 6 04:41:21 2025 +0700 feat/prescription-56: wip commit3a45de413dAuthor: Andrian Roshandy <andrianovsky95@gmail.com> Date: Mon Oct 6 04:31:08 2025 +0700 Merge from Stash commite959c3ae61Merge:32c69afad4695cAuthor: Andrian Roshandy <andrianovsky95@gmail.com> Date: Mon Oct 6 04:21:06 2025 +0700 Merge branch 'dev' into fe-prescription-56 commitad4695c867Author: Munawwirul Jamal <munawwirul.jamal@gmail.com> Date: Mon Oct 6 04:18:55 2025 +0700 dev: hotfix, encounter content back nav commit42a54bbb3bMerge:a7cbbee55559a4Author: riefive <rie.five@gmail.com> Date: Sat Oct 4 09:07:03 2025 +0700 fix: solve conflict after pull commita7cbbeeda9Author: riefive <rie.five@gmail.com> Date: Sat Oct 4 09:05:28 2025 +0700 feat(division): fixing logic treeview commit71e0615ee1Author: riefive <rie.five@gmail.com> Date: Sat Oct 4 08:49:38 2025 +0700 feat(division): restructure division parent commitf02903e756Author: riefive <rie.five@gmail.com> Date: Fri Oct 3 15:00:10 2025 +0700 feat(division): change parent id to number before integrate commit2e8667a780Author: riefive <rie.five@gmail.com> Date: Fri Oct 3 14:47:02 2025 +0700 feat(division): parent id to default null commite65e562690Author: riefive <rie.five@gmail.com> Date: Fri Oct 3 12:45:05 2025 +0700 feat(division): change form attribute commit9407501c49Author: riefive <rie.five@gmail.com> Date: Fri Oct 3 11:03:19 2025 +0700 feat(division): change compoent combobox to tree select commitc5ba07a226Author: riefive <rie.five@gmail.com> Date: Fri Oct 3 10:54:35 2025 +0700 feat(division): create tree item converter for division commit8e7ce771b0Author: riefive <rie.five@gmail.com> Date: Thu Oct 2 15:31:27 2025 +0700 test: call division position commit7edab33427Author: riefive <rie.five@gmail.com> Date: Thu Oct 2 14:49:55 2025 +0700 fix: handler reset state commitce59eac86cAuthor: riefive <rie.five@gmail.com> Date: Thu Oct 2 14:37:17 2025 +0700 fix: list unit commit39d2869ffbAuthor: riefive <rie.five@gmail.com> Date: Thu Oct 2 14:34:19 2025 +0700 fix: list with params error commit3c046a4d82Author: riefive <rie.five@gmail.com> Date: Thu Oct 2 14:12:10 2025 +0700 fix: list integration commit6feb480a51Author: riefive <rie.five@gmail.com> Date: Thu Oct 2 11:16:23 2025 +0700 fix: change get encounter class to constants commitd7d984810eAuthor: riefive <rie.five@gmail.com> Date: Thu Oct 2 11:00:05 2025 +0700 remove previous list + form from any features commita6377ef943Author: riefive <rie.five@gmail.com> Date: Wed Oct 1 15:24:54 2025 +0700 fix: includes for unit commitb00b9b198eAuthor: riefive <rie.five@gmail.com> Date: Wed Oct 1 15:17:31 2025 +0700 fix: includes for medicine list commit4908f16770Author: riefive <rie.five@gmail.com> Date: Wed Oct 1 14:56:11 2025 +0700 fix: search on list file commit41405ae113Author: riefive <rie.five@gmail.com> Date: Wed Oct 1 14:36:48 2025 +0700 fix: resolve list organization source commit6b69e48bd6Author: riefive <rie.five@gmail.com> Date: Wed Oct 1 13:05:36 2025 +0700 feat(installation): add encounter list commit59847dce34Author: riefive <rie.five@gmail.com> Date: Wed Oct 1 13:01:24 2025 +0700 chore: add shared handlers commite78342829eAuthor: riefive <rie.five@gmail.com> Date: Wed Oct 1 12:38:04 2025 +0700 feat(installation): integrate api installation commit55559a4683Author: riefive <rie.five@gmail.com> Date: Fri Oct 3 15:00:10 2025 +0700 feat(division): change parent id to number before integrate commit2d8c751788Author: riefive <rie.five@gmail.com> Date: Fri Oct 3 14:47:02 2025 +0700 feat(division): parent id to default null commitf374f9ef5bAuthor: riefive <rie.five@gmail.com> Date: Fri Oct 3 12:45:05 2025 +0700 feat(division): change form attribute commit1837afce6cAuthor: riefive <rie.five@gmail.com> Date: Fri Oct 3 11:03:19 2025 +0700 feat(division): change compoent combobox to tree select commit539a1cefb0Author: riefive <rie.five@gmail.com> Date: Fri Oct 3 10:54:35 2025 +0700 feat(division): create tree item converter for division commit32c69af4e1Merge:075285510bbee9Author: Andrian Roshandy <andrianovsky95@gmail.com> Date: Fri Oct 3 06:05:35 2025 +0700 Merge branch 'feat/layout-cleaning' into fe-prescription-56 commit757b8c0444Author: riefive <rie.five@gmail.com> Date: Thu Oct 2 15:31:27 2025 +0700 test: call division position commit378e6773b8Author: riefive <rie.five@gmail.com> Date: Thu Oct 2 14:49:55 2025 +0700 fix: handler reset state commit0e115eed5eAuthor: riefive <rie.five@gmail.com> Date: Thu Oct 2 14:37:17 2025 +0700 fix: list unit commitd544d031c3Author: riefive <rie.five@gmail.com> Date: Thu Oct 2 14:34:19 2025 +0700 fix: list with params error commit693d8225bfAuthor: riefive <rie.five@gmail.com> Date: Thu Oct 2 14:12:10 2025 +0700 fix: list integration commit0752855808Merge:f83dbfec0557ccAuthor: Andrian Roshandy <andrianovsky95@gmail.com> Date: Thu Oct 2 12:46:54 2025 +0700 Merge branch 'dev' into fe-prescription-56 commitfc3bda14f4Author: riefive <rie.five@gmail.com> Date: Thu Oct 2 11:16:23 2025 +0700 fix: change get encounter class to constants commit9603915fd7Author: riefive <rie.five@gmail.com> Date: Thu Oct 2 11:00:05 2025 +0700 remove previous list + form from any features commit546423bdfbAuthor: riefive <rie.five@gmail.com> Date: Wed Oct 1 15:24:54 2025 +0700 fix: includes for unit commitdb48233f6cAuthor: riefive <rie.five@gmail.com> Date: Wed Oct 1 15:17:31 2025 +0700 fix: includes for medicine list commit54a5aaa78fAuthor: riefive <rie.five@gmail.com> Date: Wed Oct 1 14:56:11 2025 +0700 fix: search on list file commitcc41118570Author: riefive <rie.five@gmail.com> Date: Wed Oct 1 14:36:48 2025 +0700 fix: resolve list organization source commit6a7a9cda80Author: riefive <rie.five@gmail.com> Date: Wed Oct 1 13:05:36 2025 +0700 feat(installation): add encounter list commitc96d738379Author: riefive <rie.five@gmail.com> Date: Wed Oct 1 13:01:24 2025 +0700 chore: add shared handlers commita48f375018Author: riefive <rie.five@gmail.com> Date: Wed Oct 1 12:38:04 2025 +0700 feat(installation): integrate api installation commitf83dbfeae3Merge:ba77ed1f29eb38Author: Andrian Roshandy <andrianovsky95@gmail.com> Date: Wed Oct 1 04:02:05 2025 +0700 Merge branch 'feat/layout-cleaning' into fe-prescription-56 commitba77ed1bb5Merge:4fbd8ee97d36f1Author: Andrian Roshandy <andrianovsky95@gmail.com> Date: Mon Sep 29 08:27:01 2025 +0700 Merge branch 'dev' into fe-prescription-56 commit4fbd8ee757Author: Andrian Roshandy <andrianovsky95@gmail.com> Date: Sun Sep 28 07:10:32 2025 +0700 feat/prescription-56: merapikan models
180 lines
5.6 KiB
Vue
180 lines
5.6 KiB
Vue
<script setup lang="ts">
|
|
import { isRef } from 'vue'
|
|
import type { DataTableLoader } from '~/components/pub/my-ui/data/types'
|
|
import type { Config } from './index'
|
|
import { Info } from 'lucide-vue-next'
|
|
import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow } from '~/components/pub/ui/table'
|
|
|
|
const props = defineProps<Config & { rows: unknown[] }>()
|
|
|
|
const emit = defineEmits<{
|
|
(e: 'update:modelValue', val: any[] | any): void
|
|
}>()
|
|
|
|
const getSkeletonSize = computed(() => {
|
|
return props.skeletonSize || 5
|
|
})
|
|
const loader = inject('table_data_loader') as DataTableLoader
|
|
|
|
// local state utk selection
|
|
const selected = ref<any[]>([])
|
|
|
|
function toggleSelection(row: any, event?: Event) {
|
|
if (event) event.stopPropagation() // cegah event bubble ke TableRow
|
|
|
|
const isMultiple = props.selectMode === 'multiple' // props.selectMode === 'multi' ||
|
|
|
|
// gunakan pembanding berdasarkan id atau stringify data
|
|
const findIndex = selected.value.findIndex((r) => JSON.stringify(r) === JSON.stringify(row))
|
|
|
|
if (!isMultiple) {
|
|
// mode single
|
|
selected.value = [row]
|
|
emit('update:modelValue', row)
|
|
} else {
|
|
if (findIndex >= 0) {
|
|
selected.value.splice(findIndex, 1)
|
|
} else {
|
|
selected.value.push(row)
|
|
}
|
|
emit('update:modelValue', [...selected.value])
|
|
}
|
|
}
|
|
|
|
function deepFetch(data: Record<string, any>, key: string): string {
|
|
let result = ''
|
|
const keys = key.split('.')
|
|
let lastVal: any = isRef(data) ? { ...(data.value as any) } : data
|
|
for (let i = 0; i < keys.length; i++) {
|
|
let idx = keys[i] || ''
|
|
if (typeof lastVal[idx] != undefined && lastVal[idx] != null) {
|
|
if (i == keys.length - 1) {
|
|
return lastVal[idx]
|
|
} else {
|
|
lastVal = isRef(lastVal[idx]) ? { ...(lastVal[idx].value as any) } : lastVal[idx]
|
|
}
|
|
}
|
|
}
|
|
return result
|
|
}
|
|
|
|
function handleActionCellClick(event: Event, _cellRef: string) {
|
|
// Prevent event if clicked directly on the button/dropdown
|
|
const target = event.target as HTMLElement
|
|
if (target.closest('button') || target.closest('[role="button"]')) {
|
|
return
|
|
}
|
|
|
|
// Find the dropdown trigger button and click it
|
|
const cell = event.currentTarget as HTMLElement
|
|
const triggerButton = cell.querySelector('button[data-state]') || cell.querySelector('button')
|
|
if (triggerButton) {
|
|
;(triggerButton as HTMLButtonElement).click()
|
|
}
|
|
}
|
|
</script>
|
|
|
|
<template>
|
|
<Table>
|
|
<TableHeader
|
|
v-if="headers"
|
|
class="bg-gray-50 dark:bg-gray-800"
|
|
>
|
|
<TableRow v-for="(hr, hrIdx) in headers">
|
|
<TableHead
|
|
v-for="(th, idx) in headers[hrIdx]"
|
|
:key="`head-${idx}`"
|
|
:class="`border ${th.classVal || ''}`"
|
|
:style="{ width: cols[idx]?.width ? `${cols[idx].width}px` : undefined }"
|
|
>
|
|
{{ th.label }}
|
|
</TableHead>
|
|
</TableRow>
|
|
</TableHeader>
|
|
|
|
<TableBody v-if="loader?.isTableLoading">
|
|
<!-- Loading state with 5 skeleton rows -->
|
|
<TableRow
|
|
v-for="n in getSkeletonSize"
|
|
:key="`skeleton-${n}`"
|
|
>
|
|
<TableCell
|
|
v-for="(key, cellIndex) in keys"
|
|
:key="`cell-skel-${n}-${cellIndex}`"
|
|
class="border"
|
|
>
|
|
<Skeleton class="h-6 w-full animate-pulse bg-gray-100 text-muted-foreground dark:bg-gray-700" />
|
|
</TableCell>
|
|
</TableRow>
|
|
</TableBody>
|
|
<TableBody v-else-if="rows.length === 0">
|
|
<TableRow>
|
|
<TableCell
|
|
:colspan="keys.length"
|
|
class="py-8 text-center"
|
|
>
|
|
<div class="flex items-center justify-center">
|
|
<Info class="size-5 text-muted-foreground" />
|
|
<span class="ml-2">Tidak ada data tersedia</span>
|
|
</div>
|
|
</TableCell>
|
|
</TableRow>
|
|
</TableBody>
|
|
<TableBody v-else>
|
|
<TableRow
|
|
v-for="(row, rowIndex) in rows"
|
|
:key="`row-${rowIndex}`"
|
|
:class="{
|
|
'bg-green-50':
|
|
props.selectMode === 'single' && selected.some((r) => JSON.stringify(r) === JSON.stringify(row)),
|
|
'bg-blue-50':
|
|
(props.selectMode === 'multiple') && // props.selectMode === 'multi' ||
|
|
selected.some((r) => JSON.stringify(r) === JSON.stringify(row)),
|
|
}"
|
|
@click="toggleSelection(row)"
|
|
>
|
|
<!-- opsional: kalau mau tampilkan checkbox/radio di cell pertama -->
|
|
<TableCell v-if="props.selectMode">
|
|
<input
|
|
v-if="props.selectMode === 'single'"
|
|
type="radio"
|
|
:checked="selected.some((r) => JSON.stringify(r) === JSON.stringify(row))"
|
|
@click.stop="toggleSelection(row, $event)"
|
|
/>
|
|
<input
|
|
v-else
|
|
type="checkbox"
|
|
:checked="selected.some((r) => JSON.stringify(r) === JSON.stringify(row))"
|
|
@click.stop="toggleSelection(row, $event)"
|
|
/>
|
|
</TableCell>
|
|
|
|
<!-- lanjut render cell normal -->
|
|
<TableCell
|
|
v-for="(key, cellIndex) in keys"
|
|
:key="`cell-${rowIndex}-${cellIndex}`"
|
|
class="border"
|
|
>
|
|
<!-- existing cell renderer -->
|
|
<component
|
|
:is="components?.[key]?.(row, rowIndex).component"
|
|
v-if="components?.[key]"
|
|
:rec="row"
|
|
:idx="rowIndex"
|
|
v-bind="components[key]?.(row, rowIndex).props"
|
|
/>
|
|
<template v-else>
|
|
<div
|
|
v-if="htmls?.[key]"
|
|
v-html="htmls?.[key]?.(row, rowIndex)"
|
|
></div>
|
|
<template v-else>
|
|
{{ parses?.[key]?.(row, rowIndex) ?? deepFetch(row as any, key) }}
|
|
</template>
|
|
</template>
|
|
</TableCell>
|
|
</TableRow>
|
|
</TableBody>
|
|
</Table>
|
|
</template>
|