|
110 | 110 |
|
111 | 111 | <NcActionButton |
112 | 112 | closeAfterClick |
113 | | - type="checkbox" |
114 | | - :modelValue="groupMode === CONVERSATION.GROUP_MODE.PRIVATE_FIRST" |
115 | | - @click="handleGroupMode(CONVERSATION.GROUP_MODE.PRIVATE_FIRST)"> |
| 113 | + type="radio" |
| 114 | + :value="CONVERSATION.GROUP_MODE.NONE" |
| 115 | + :modelValue="groupMode" |
| 116 | + @update:modelValue="handleGroupMode"> |
| 117 | + <template #icon> |
| 118 | + <IconCancel :size="20" /> |
| 119 | + </template> |
| 120 | + {{ SORT_LABELS.GROUPBY_NONE }} |
| 121 | + </NcActionButton> |
| 122 | + |
| 123 | + <NcActionButton |
| 124 | + closeAfterClick |
| 125 | + type="radio" |
| 126 | + :value="CONVERSATION.GROUP_MODE.PRIVATE_FIRST" |
| 127 | + :modelValue="groupMode" |
| 128 | + @update:modelValue="handleGroupMode"> |
116 | 129 | <template #icon> |
117 | 130 | <IconAccountOutline :size="20" /> |
118 | 131 | </template> |
|
121 | 134 |
|
122 | 135 | <NcActionButton |
123 | 136 | closeAfterClick |
124 | | - type="checkbox" |
125 | | - :modelValue="groupMode === CONVERSATION.GROUP_MODE.GROUP_FIRST" |
126 | | - @click="handleGroupMode(CONVERSATION.GROUP_MODE.GROUP_FIRST)"> |
| 137 | + type="radio" |
| 138 | + :value="CONVERSATION.GROUP_MODE.GROUP_FIRST" |
| 139 | + :modelValue="groupMode" |
| 140 | + @update:modelValue="handleGroupMode"> |
127 | 141 | <template #icon> |
128 | 142 | <IconAccountMultipleOutline :size="20" /> |
129 | 143 | </template> |
@@ -381,6 +395,7 @@ import IconArchiveOutline from 'vue-material-design-icons/ArchiveOutline.vue' |
381 | 395 | import IconArrowLeft from 'vue-material-design-icons/ArrowLeft.vue' |
382 | 396 | import IconAt from 'vue-material-design-icons/At.vue' |
383 | 397 | import IconCalendarBlankOutline from 'vue-material-design-icons/CalendarBlankOutline.vue' |
| 398 | +import IconCancel from 'vue-material-design-icons/Cancel.vue' |
384 | 399 | import IconChatPlusOutline from 'vue-material-design-icons/ChatPlusOutline.vue' |
385 | 400 | import IconClockOutline from 'vue-material-design-icons/ClockOutline.vue' |
386 | 401 | import IconCogOutline from 'vue-material-design-icons/CogOutline.vue' |
@@ -457,6 +472,8 @@ const SORT_LABELS = { |
457 | 472 | // TRANSLATORS Navigation actions: group (verb) by putting private or group (noun) conversations higher in the list |
458 | 473 | GROUPBY_HEADER: t('spreed', 'Group conversations'), |
459 | 474 | // TRANSLATORS Navigation actions: group (verb) by putting private or group (noun) conversations higher in the list |
| 475 | + GROUPBY_NONE: t('spreed', 'Do not group'), |
| 476 | + // TRANSLATORS Navigation actions: group (verb) by putting private or group (noun) conversations higher in the list |
460 | 477 | GROUPBY_PRIVATE_FIRST: t('spreed', 'Show private ones first'), |
461 | 478 | // TRANSLATORS Navigation actions: group (verb) by putting private or group (noun) conversations higher in the list |
462 | 479 | GROUPBY_GROUP_FIRST: t('spreed', 'Show group ones first'), |
@@ -492,6 +509,7 @@ export default { |
492 | 509 | // Icons |
493 | 510 | IconAccountMultiplePlusOutline, |
494 | 511 | IconAt, |
| 512 | + IconCancel, |
495 | 513 | IconMessageBadgeOutline, |
496 | 514 | IconMessageOutline, |
497 | 515 | IconFilterCogOutline, |
@@ -852,12 +870,7 @@ export default { |
852 | 870 | }, |
853 | 871 |
|
854 | 872 | handleGroupMode(newValue) { |
855 | | - if (newValue === this.groupMode) { |
856 | | - // Reset mode |
857 | | - this.settingsStore.updateGroupMode(CONVERSATION.GROUP_MODE.NONE) |
858 | | - } else { |
859 | | - this.settingsStore.updateGroupMode(newValue) |
860 | | - } |
| 873 | + this.settingsStore.updateGroupMode(newValue) |
861 | 874 | }, |
862 | 875 |
|
863 | 876 | handleFilter(filter) { |
|
0 commit comments