Commit Graph

348 Commits

Author SHA1 Message Date
Jarek Radosz 3f3b602cea
DEV: Use `modifyClass` instead of `reopen` (#615) 2025-01-21 11:37:29 +01:00
Régis Hanol 8c52b9a31c
FEATURE: new "notification level when assigned" user preference (#626)
This adds a new user preference allowed users to control how the
notification level of the topic they're assigned to changes.

Internal ref - t/141162
2025-01-16 17:59:16 +01:00
Kelv 654f197003
DEV: update deprecated icon name search to magnifying-glass (#625) 2025-01-10 12:59:52 +08:00
Kelv c0c2fde763
DEV: update deprecated icon name from user-times to user-xmark (#624) 2025-01-09 17:46:40 +08:00
Jarek Radosz 471cfdff63
DEV: Use the new topic-list APIs (#622) 2024-12-16 15:39:58 +00:00
Régis Hanol 215e1e3ab6
DEV: fix specs with new mobile footer UI (#619)
Dependent on https://github.com/discourse/discourse/pull/30132 getting
merged.

The UI for the "hidden" topic footer buttons on mobile changes from
SelectKit to DMenu, so the specs needed to be updated as such.
2024-12-11 14:58:13 +01:00
Kelv d2454e91d1
DEV: Update more deprecated Font Awesome icon names (#618) 2024-12-06 20:44:56 +01:00
Kelv e4b9ed6b93
DEV: Update deprecated Font Awesome icon names (#616) 2024-12-04 03:18:17 +01:00
David Taylor 032b34ce2d
DEV: Update modifyClass calls to native class syntax (#613) 2024-12-02 13:22:02 +00:00
David Taylor 67d9b1c1d9
DEV: Convert to native class syntax (#611) 2024-11-29 16:41:13 +01:00
David Taylor 10485fca24
DEV: Update linting (#608) 2024-11-20 15:44:04 +01:00
David Taylor bef1fa7a29
DEV: Update eslint config (#606) 2024-11-19 11:19:10 +01:00
Sérgio Saquetim f76c30dbb7
DEV: Added compatibility with the Glimmer Post Menu (#599) 2024-11-12 15:46:35 -03:00
David Taylor 6f3e8e3b5c
DEV: Remove unused mobile hbs templates (#600)
The associated components were removed in 2af490ff4f
2024-11-04 22:50:39 +00:00
Jarek Radosz 4f24311f57
FIX: An incorrect getter invocation in 0d1045e988 (#596) 2024-10-21 17:25:00 +02:00
Jarek Radosz 0d1045e988
DEV: Update topic-notifications-button mod (#595)
See: https://github.com/discourse/discourse/pull/29237
2024-10-21 16:56:38 +02:00
Martin Brennan e5776714c2
DEV: Use new topic bulk action functionality for everything (#581)
The PR https://github.com/discourse/discourse/pull/28003 in core
removes the experimental status of new topic bulk actions, we
can now use it for everything from now on. After this and the
core PR is merged we can reintroduce the specs.
2024-07-22 15:42:57 +10:00
Joffrey JAFFEUX dca24fa6fa
FIX: ensures topics can be bulk assigned on group page (#580)
Since a previous refactor the bulkSelectHelper was not correctly passed in the custom topic list page of this plugin.

A spec has also been added.
2024-07-19 18:49:35 +02:00
Kris 63e92b6ea3
UX: smaller avatar size in button to prevent height change (#576) 2024-05-30 16:10:17 -04:00
Joffrey JAFFEUX 6c229284a9
FIX: adaptes acceptance tests for new dropdown-menu (#570) 2024-05-08 11:01:49 +02:00
Joffrey JAFFEUX 5e75baa5f6
FIX: uses the new <DropdownMenu /> component (#569) 2024-05-08 09:08:30 +02:00
Krzysztof Kotlarek b796ae3fcc
DEV: remove assign_path and assign_icon from seralizers (#568)
Both fields are unnecessary and should not be included in the serializer to reduce payload.
2024-05-06 12:12:45 +10:00
Joffrey JAFFEUX 62563bfcea
DEV: linting arguments in templates (#567) 2024-04-24 16:45:12 +02:00
Joffrey JAFFEUX cbf3f3a908
FIX: ensures ctrl+enter from textarea saves (#566) 2024-04-24 15:54:38 +02:00
Andrei Prigorshnev c1d4633ba4
FEATURE: Make it possible to reassign posts on the topic level assign modal (#562)
This adds a new dropdown to the topic level assign modal. A topic may contain several assignments, the topic itself may be assigned and also some of the replies may be assigned. With this new dropdown, it's possible to edit all the assignments from this modal.

Co-authored-by: Joffrey JAFFEUX <j.jaffeux@gmail.com>
2024-04-16 14:08:39 +02:00
Andrei Prigorshnev 6070678a1c
FIX: Unassign label sometimes touches avatar (#561)
The label touches the avatar when a topic has several assignments, 
and those contain assignments to users _and_ to groups. We don't show 
avatars for groups, but the code sees there are several assignees and 
applies overlapping styling.

This commit corrects the logic and fixes the issue.

Here is how avatars on the button behave:
1. If there are from one to many assignments on the topic, but all 
the assignees are groups, we don't show avatars, only label.
2. If there are from one to many assignments to the same user, we show 
the avatar of that user.
3. And if there are from two to many assignments to different users, we 
show avatars of first two users.
2024-04-10 17:36:38 +04:00
Joffrey JAFFEUX 3507a7dd98
FIX: correctly refresh UI when changing group preference (#560)
Prior to this fix the state change was not reflected in the UI when changing the "who can assign" preference of a group.

This was actually saved in the backend but would require a full page refresh to see the updated state on the group preferences page.
2024-04-05 18:46:08 +02:00
Andrei Prigorshnev 0bcd0a1fee
FIX: Unassign buttons on the activity/assigned page don't work (#559)
We've noticed that when unassigning a topic on the `activity/assigned` one of 
two incorrect things happens when pressing this button:
1. The first topic on the page gets unassigned instead of the selected one
2. No topics get unassigned (that happens when the first topic on the list is 
not assigned and only has assigned _posts_)

That happens because this handler for all buttons somehow always use the 
same state - the state of the first topic on the page:

f2906e0885/assets/javascripts/discourse/components/assign-actions-dropdown.js (L55-L68)

There seem to be some nuances in select-kit and I'm not sure whether 
this should be qualified as a bug in select-kit. However, I've noticed that in other cases when we use `DropdownSelectBoxComponent` we use the `onChange` handler rather 
than `onSelect`.

So I switched this code to using `onChange` and that resolved the issue, 
the `onChange` handler has access to correct state.

Tests will be in a follow-up.
2024-04-04 20:03:03 +04:00
Andrei Prigorshnev 2676522abc
FEATURE: Add buttons for unassigning from posts to the topic level assign menu (#554)
Before, we only had buttons for assigning and unassigning topic on 
the topic level assign menu. This commit adds dynamic buttons for 
unassigning posts to the menu.
2024-03-29 18:10:04 +04:00
Joffrey JAFFEUX 08c2a4e0f3
UX: autofocus assignee input (#555)
With the new mobile modal we can now do this with no issue.
2024-03-25 22:58:14 +01:00
Blake Erickson ed059d3dfe
DEV: Changes for new bulk action dropdown modal (#553)
When the new bulk actions dropdown is enabled use a new component for bulk assigning.

Co-authored-by: Martin Brennan <martin@discourse.org>
2024-03-25 15:13:36 -06:00
Andrei Prigorshnev b09a6618fa
FEATURE: Add menu to assigned text on posts (#550)
This adds a popup menu to assigned posts that makes it easier to unassign or 
reassign them.
2024-03-15 18:30:11 +04:00
Jarek Radosz c42ae3eb7a
DEV: Update linting (#538) 2024-01-15 11:24:20 +00:00
Jarek Radosz 5888025dec
FIX: Various assignment status issues (#536) 2023-12-08 11:48:34 +01:00
David Taylor 9556df664c
DEV: Resolve transitionTo deprecation (#535) 2023-12-01 16:06:09 +00:00
Jarek Radosz e1aabe0517
DEV: Update linting (#534) 2023-11-29 23:02:00 +01:00
chapoi 6397bf8351
UX: prepare for core modal styling changes (#524)
See https://github.com/discourse/discourse/pull/23967
2023-11-13 12:25:03 +00:00
Loïc Guitaut 5055bcbb2c FIX: Order items properly in user menu
The recent changes to the user menu changed how we were ordering the
items in it. A small bug was noticed though, as we’re not displaying the
unread assignments at the very top.

This patch fixes the ordering like this:

- Unread individual assignment notifications
- Unread group assignment notifications
- Read individual assignments
- Read group assignments

In each group of items, they are sorted by date, the most recent ones
being at the top.
2023-11-09 16:41:48 +01:00
Loïc Guitaut 80604e9012 FIX: Display assignments in user menu properly
Currently, we display a mix of topics and notifications in the user menu
assignments tab. This has a number of issues like having to maintain
hard to understand code instead of simply relying on the notifications
system we have, we can’t display more than one assignment per topic and
it’s not clear if an assignment is for a topic or a post nor if it’s a
group assignment or an individual one.

This patch addresses those issues by relying on the notifications system
we’re using for most of the other user menu tabs instead of a custom
implementation. This led to some heavy refactoring but it was
worthwhile as things are a bit more normalized and easier to reason
about. Instead of serializing topics with different attributes to access
various assignments, we now simply return a notification for each
existing assignment.

The UI changed a bit: tooltips are now explaining if the assignment is
for a topic or a post and if it’s for an individual or a group. Icons
are also properly set (so no more individual icon for group assignments)
and the assigned group name is displayed.

The background jobs signatures changed a bit (`assignment_id` is now
needed for the unassign job) so when deploying this patch, it’s expected
to have some jobs failing. That’s why a post-migration has been written
to handle the creation of missing notifications and the deletion of
extra notifications too.
2023-11-08 15:26:57 +01:00
Jarek Radosz 71f8484a75
DEV: Use `@discourse/lint-configs` (#517) 2023-10-23 12:08:11 +02:00
Kris 7fe45c8eb5
UX: simplify markup to fix j/k highlighting (#516)
This cleans up the markup a bit, so instead of a `div` as a table child we use the `td` and removes the internal wrapper. This fixes an issue with a double highlight while using j/k navigation highlighting caused by the nested `td`.
2023-10-20 08:40:55 +08:00
David Taylor df34e91b55
DEV: Resolve routing method deprecation (#512)
Uses the router service for redirecting instead of `this.transitionTo`. Also removes the first branch of logic, which was unnecessarily redirecting to the current route (and led to an infinite loop with the modern API)
2023-10-02 15:10:31 +01:00
David Taylor 93ee2cb886
DEV: Update AssignedTopicListColumn class name (#511)
The `_Test` suffix shouldn't have been included in 89807545a4. No functional change.
2023-10-02 13:15:39 +01:00
David Taylor 89807545a4
DEV: Modernise assignment topic-list implementation (#510)
- Reuse core `<BasicTopicList` instead of reimplementing
- Use raw plugin outlet to add assign controls to topic-list-item (requires https://github.com/discourse/discourse/pull/23592)
- Remove use of `.render()` in route
2023-09-28 15:07:15 +01:00
Jarek Radosz 458306fa6b
DEV: Use the new bulk topic actions api (#491) 2023-07-18 14:15:16 +02:00
Kris 43cb34c698
FIX: missing space in assign button (#493) 2023-07-13 19:18:05 -04:00
Jarek Radosz 1c079b792b
DEV: Use the new component-based modal API (#489)
Co-authored-by: David Taylor <david@taylorhq.com>
2023-07-11 10:37:57 +02:00
Isaac Janzen 41f62d9ea9
DEV: Convert dismiss modal to component-based API (#481) 2023-07-06 12:14:36 -05:00
Jarek Radosz 47a1170ec5
DEV: Merge js dirs; prefix tests (#484) 2023-07-03 17:28:02 +02:00
Jarek Radosz f89420d00e
DEV: Remove unused `assignUser` action (#483) 2023-06-30 19:18:15 +02:00