chatwoot/app/javascript/dashboard/composables
Sivin Varghese 229f56d6e3
chore: Remove vue-multiselect and migrate to next components (#13506)
# Pull Request Template

## Description

This PR includes:
1. Removes multiselect usage from the Merge Contact modal (Conversation
sidebar) and replaces it with the existing component used on the Contact
Details page.
2. Replaces legacy form and multiselect elements in Add and Edit
automations flows with next components.**(Also check Macros)**
3. Replace multiselect with ComboBox in contact form country field.
4. Replace multiselect with TagInput in create/edit attribute form.
5. Replace multiselect with TagInput for agent selection in inbox
creation.
6. Replace multiselect with ComboBox in Facebook channel page selection

## Type of change

- [x] New feature (non-breaking change which adds functionality)

## How Has This Been Tested?

**Screenshots**

1. **Merge modal**
<img width="741" height="449" alt="image"
src="https://github.com/user-attachments/assets/a05a96ec-0692-4d94-9e27-d3e85fd143e4"
/>
<img width="741" height="449" alt="image"
src="https://github.com/user-attachments/assets/fc1dc977-689d-4440-869d-2124e4ca9083"
/>

2. **Automations**
<img width="849" height="1089" alt="image"
src="https://github.com/user-attachments/assets/b0155f06-ab21-4f90-a2c8-5bfbd97b08f7"
/>
<img width="813" height="879" alt="image"
src="https://github.com/user-attachments/assets/0921ac4a-88f5-49ac-a776-cc02941b479c"
/>
<img width="849" height="826" alt="image"
src="https://github.com/user-attachments/assets/44358dae-a076-4e10-b7ba-a4e40ccd817f"
/>

3. **Country field**
<img width="462" height="483" alt="image"
src="https://github.com/user-attachments/assets/d5db9aa1-b859-4327-9960-957d7091678f"
/>

4. **Add/Edit attribute form**
<img width="619" height="646" alt="image"
src="https://github.com/user-attachments/assets/6ab2ea94-73e5-40b8-ac29-399c0543fa7b"
/>
<img width="619" height="646" alt="image"
src="https://github.com/user-attachments/assets/b4c5bb0e-baa0-4ef7-a6a2-adb0f0203243"
/>
<img width="635" height="731" alt="image"
src="https://github.com/user-attachments/assets/74890c80-b213-4567-bf5f-4789dda39d2d"
/>

5. **Agent selection in inbox creation**
<img width="635" height="534" alt="image"
src="https://github.com/user-attachments/assets/0003bad1-1a75-4f20-b014-587e1c19a620"
/>
<img width="809" height="602" alt="image"
src="https://github.com/user-attachments/assets/5e7ab635-7340-420a-a191-e6cd49c02704"
/>

7. **Facebook channel page selection**
<img width="597" height="444" alt="image"
src="https://github.com/user-attachments/assets/f7ec8d84-0a7d-4bc6-92a1-a1365178e319"
/>
<img width="597" height="444" alt="image"
src="https://github.com/user-attachments/assets/d0596c4d-94c1-4544-8b50-e7103ff207a6"
/>
<img width="597" height="444" alt="image"
src="https://github.com/user-attachments/assets/be097921-011b-4dbe-b5f1-5d1306e25349"
/>



## Checklist:

- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my code
- [x] I have commented on my code, particularly in hard-to-understand
areas
- [ ] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [x] I have added tests that prove my fix is effective or that my
feature works
- [x] New and existing unit tests pass locally with my changes
- [ ] Any dependent changes have been merged and published in downstream
modules

---------

Co-authored-by: Shivam Mishra <scm.mymail@gmail.com>
2026-02-17 16:40:12 +05:30
..
captain feat: add captain editor events (#13524) 2026-02-17 13:26:56 +05:30
chatlist feat: Allow removing labels via conversation context menu (#13525) 2026-02-17 13:30:55 +05:30
commands feat: new Captain Editor (#13235) 2026-01-21 13:39:07 +05:30
spec feat: Conversation workflows(EE) (#13040) 2026-01-27 11:36:20 +04:00
utils feat: new Captain Editor (#13235) 2026-01-21 13:39:07 +05:30
emitter.js feat: Reconnect logic (#9453) 2024-06-03 15:54:19 +05:30
index.js chore: fix circleci on vite build (#10214) 2024-10-07 15:27:41 +05:30
loadWithRetry.js feat: add retry loadWithRetry composable (#12873) 2025-11-20 19:40:20 +05:30
store.js feat: Vite + vue 3 💚 (#10047) 2024-10-02 00:36:30 -07:00
useAccount.js feat: auto resolve label option and fixes (#11541) 2025-06-04 14:53:24 +05:30
useAdmin.js feat: Replace alertMixin usage with useAlert (#9793) 2024-07-23 16:41:11 +05:30
useAgentsList.js fix: Translate "None" option in agent assignment dropdown (#11060) 2025-03-11 14:49:27 -07:00
useAutomation.js chore: Remove vue-multiselect and migrate to next components (#13506) 2026-02-17 16:40:12 +05:30
useAutomationValues.js chore(docs): Fix typos in some files (#12817) 2025-11-07 07:57:37 -08:00
useCallSession.js feat: Voice Channel (#11602) 2025-12-19 12:41:33 -08:00
useCaptain.js feat: add captain editor events (#13524) 2026-02-17 13:26:56 +05:30
useConfig.js feat: Rewrite configMixin to a composable (#9921) 2024-08-14 12:56:30 +05:30
useConversationLabels.js feat: Rewrite conversation/labelMixin to a composable (#9936) 2024-08-12 17:41:12 +05:30
useConversationRequiredAttributes.js feat: Conversation workflows(EE) (#13040) 2026-01-27 11:36:20 +04:00
useCopilotReply.js feat: add captain editor events (#13524) 2026-02-17 13:26:56 +05:30
useDetectKeyboardLayout.js feat: Rewrite keyboardEventListener mixin to a composable (#9831) 2024-08-05 18:59:47 +05:30
useEditableAutomation.js fix: Update inconsistent behaviour of create and edit automation rules (#10197) 2024-10-04 08:06:36 -07:00
useFileUpload.js feat: allow configuring attachment upload limit (#12835) 2025-11-17 14:03:08 -08:00
useFontSize.js feat: Agent language settings (#11222) 2025-09-09 14:27:36 +05:30
useImageZoom.js chore: Improvements in image attachment viewer (#11040) 2025-03-18 14:01:18 +05:30
useImpersonation.js feat: Prevent saving preferences and status when impersonating (#11164) 2025-05-20 17:34:30 -07:00
useInbox.js feat: TikTok channel (#12741) 2025-12-17 07:54:50 -08:00
useIntegrationHook.js chore: Repalce Hook Mixin with useHook composable [CW-3454] (#9994) 2024-08-22 16:48:02 +05:30
useKeyboardEvents.js refactor: useKeyboardEvents composable (#9959) 2024-08-22 16:40:55 +05:30
useKeyboardNavigableList.js refactor: useKeyboardEvents composable (#9959) 2024-08-22 16:40:55 +05:30
useLabelSuggestions.js feat: check if label suggestion is enabled in hooks (#13331) 2026-01-21 15:11:41 +05:30
useLiveRefresh.js feat: Allow users to see heatmap for last 30 days (#10848) 2025-02-19 14:54:15 -08:00
useMacros.js fix: Translate Priority and Messages types in Automations and Macros (#11741) 2025-07-08 12:40:40 +05:30
usePolicy.js feat: show articles in the list only if feature is enabled (#11607) 2025-05-29 14:19:35 +05:30
useReportMetrics.js fix: stale report value shown if summary fetch breaks (#11270) 2025-04-15 20:18:06 +05:30
useTransformKeys.js feat: integrate new bubbles (#10550) 2024-12-19 18:41:55 +05:30
useTranslations.js fix: Rendering of translations based on the user's locale (#13211) 2026-01-08 18:37:42 -08:00
useUISettings.js feat: allow quoted email thread in reply (#12545) 2025-09-30 17:47:09 +05:30