Initialise comments (#3328)
* Initial scaffolding for comments CRUD APIs
* add actions
* add assets
* state management for existing comments and creating new
* add ui components
* add overlay comments wrapper to baseWidget
* add toggle comment mode button at editor header
* trigger tests
* Disallow commenting as someone else
* Add applicationId for comments
* lint
* Add overlay blacklist to prevent component interaction while adding comments
* Comment thread style updates
* Placeholder comment context menu
* Controlled comment thread visibility for making new comments visible by default
* Update comment type description
* Reset input on save
* Resolve comment thread button ui
* fix close on esc key, dont create new comment on outside click
* Submit on enter
* add emoji picker
* Attempt at adding a websocket server in Java
* CRUD APIs for comment threads
* Add API for getting all threads in application
* Move types to a separate file
* Initial commit for real time server (RTS)
* Add script to start RTS
* Fix position property
* Use create comment thread API
* Use add comment to thread API
* Add custom cursor
* Dispatch logout init on 401 errors
* Allow CORS for real time connection
* Add more logs to RTS
* Fix construction of MongoClient
* WIP: Real time comments
* Enable comments
* Minor updates
* Read backend API base URL from environment
* Escape to reset comments mode
* Set popover position as auto and boundary as scroll parent
* Disable warning
* Added permissions for comment threads
* Add resolved API for comment threads
* Migration to set commenting permission on existing apps
* Fix updates bringing the RTS down
* Show view latest button, scroll to bottom on creating a new comment
* Cleanup comment reducer
* Move to typescript for RTS
* Add missing server.ts and tsconfig files
* Resolve / unresolve comment
* Scaffold app comments
* Minor fixes: comment on top of all widgets, add toggle button at viewer header
* Reconnect socket on creating a new app, set connected status in store
* Retry socket connection flow
* Integration tests for comments with api mocks using msw
* Fix circular depependency
* rm file
* Minor cleanup and comments
* Minor refactors: move isScrolledToBottom to common hooks, decouple prevent interactions overlay from comments wrapper
* Use policies when pushing updates in RTS
* ENV var to set if comments are enabled
* Fix: check if editor/viewer is initialised before waiting for init action
* Add tests for comments reducer
* Revert "ENV var to set if comments are enabled"
This reverts commit 988efeaa69d378d943a387e1e73510334958adc5.
* Enable comments for users with appsmith email
* lint
* fix
* Try running a socket.io server inside backend
* Update comment reducer tests
* Init mentions within comments
* Fix comment thread updates with email rooms
* Minor fixes
* Refactors / review suggestions
* lint
* increase cache limit for builds
* Comment out tests for feature that's under development
* Add Dockerfile for RTS
* Fix policies missing for first comment in threads
* Use draftJS for comments input with mentions support
* fix fixtures
* Use thread's policies when querying for threads
* Update socket.io to v4
* Add support for richer body with mentions
* Update comment body type to RawDraftContentState
* fix stale method
* Fix mentions search
* Minor cleanups
* Comment context menu and thread UI updates
* revert: Scaffold app comments
* Yarn dependencies
* Delete comment using id api added
* Init app comments
* Add test for creating thread
* Api for delete comment with id
* Test comment creation response and policies
* Copy comment links
* Fix reset editor state
* Delete valid comment testcase added
* Delete comment TC : code refactor
* Don't allow creating comments with an empty body
* Pin comments WIP[]
* Ignore dependency-reduced-pom.xml files from VCS
* Cleanup of some dev-only files, for review
* Delete comment
* Update socket.io to v4 in RTS
* Pin and resolve comment thread object added in commentThread
* Pin and resolve comment thread object added in commentThread
* Update comment thread API
* Added creationTime and updationTime in comment thread response
* Added creationTime and updationTime in comment thread response
* Added human readable id to comment threads, fallback to username for null name in user document
* Refactor
* lint
* fix test, rm duplicate selector
* comment out saga used for dev
* CommentThread viewed status, username fallback for getName=null, username field added in pin & resolve status
* lint
* trigger tests
Co-authored-by: Shrikant Sharat Kandula <shrikant@appsmith.com>
Co-authored-by: Abhijeet <abhi.nagarnaik@gmail.com>
2021-04-29 10:33:51 +00:00
|
|
|
import { ReduxActionTypes } from "constants/ReduxActionConstants";
|
|
|
|
|
import { COMMENT_EVENTS_CHANNEL } from "constants/CommentConstants";
|
2021-05-20 12:03:08 +00:00
|
|
|
import { options as filterOptions } from "comments/AppComments/AppCommentsFilterPopover";
|
|
|
|
|
|
Initialise comments (#3328)
* Initial scaffolding for comments CRUD APIs
* add actions
* add assets
* state management for existing comments and creating new
* add ui components
* add overlay comments wrapper to baseWidget
* add toggle comment mode button at editor header
* trigger tests
* Disallow commenting as someone else
* Add applicationId for comments
* lint
* Add overlay blacklist to prevent component interaction while adding comments
* Comment thread style updates
* Placeholder comment context menu
* Controlled comment thread visibility for making new comments visible by default
* Update comment type description
* Reset input on save
* Resolve comment thread button ui
* fix close on esc key, dont create new comment on outside click
* Submit on enter
* add emoji picker
* Attempt at adding a websocket server in Java
* CRUD APIs for comment threads
* Add API for getting all threads in application
* Move types to a separate file
* Initial commit for real time server (RTS)
* Add script to start RTS
* Fix position property
* Use create comment thread API
* Use add comment to thread API
* Add custom cursor
* Dispatch logout init on 401 errors
* Allow CORS for real time connection
* Add more logs to RTS
* Fix construction of MongoClient
* WIP: Real time comments
* Enable comments
* Minor updates
* Read backend API base URL from environment
* Escape to reset comments mode
* Set popover position as auto and boundary as scroll parent
* Disable warning
* Added permissions for comment threads
* Add resolved API for comment threads
* Migration to set commenting permission on existing apps
* Fix updates bringing the RTS down
* Show view latest button, scroll to bottom on creating a new comment
* Cleanup comment reducer
* Move to typescript for RTS
* Add missing server.ts and tsconfig files
* Resolve / unresolve comment
* Scaffold app comments
* Minor fixes: comment on top of all widgets, add toggle button at viewer header
* Reconnect socket on creating a new app, set connected status in store
* Retry socket connection flow
* Integration tests for comments with api mocks using msw
* Fix circular depependency
* rm file
* Minor cleanup and comments
* Minor refactors: move isScrolledToBottom to common hooks, decouple prevent interactions overlay from comments wrapper
* Use policies when pushing updates in RTS
* ENV var to set if comments are enabled
* Fix: check if editor/viewer is initialised before waiting for init action
* Add tests for comments reducer
* Revert "ENV var to set if comments are enabled"
This reverts commit 988efeaa69d378d943a387e1e73510334958adc5.
* Enable comments for users with appsmith email
* lint
* fix
* Try running a socket.io server inside backend
* Update comment reducer tests
* Init mentions within comments
* Fix comment thread updates with email rooms
* Minor fixes
* Refactors / review suggestions
* lint
* increase cache limit for builds
* Comment out tests for feature that's under development
* Add Dockerfile for RTS
* Fix policies missing for first comment in threads
* Use draftJS for comments input with mentions support
* fix fixtures
* Use thread's policies when querying for threads
* Update socket.io to v4
* Add support for richer body with mentions
* Update comment body type to RawDraftContentState
* fix stale method
* Fix mentions search
* Minor cleanups
* Comment context menu and thread UI updates
* revert: Scaffold app comments
* Yarn dependencies
* Delete comment using id api added
* Init app comments
* Add test for creating thread
* Api for delete comment with id
* Test comment creation response and policies
* Copy comment links
* Fix reset editor state
* Delete valid comment testcase added
* Delete comment TC : code refactor
* Don't allow creating comments with an empty body
* Pin comments WIP[]
* Ignore dependency-reduced-pom.xml files from VCS
* Cleanup of some dev-only files, for review
* Delete comment
* Update socket.io to v4 in RTS
* Pin and resolve comment thread object added in commentThread
* Pin and resolve comment thread object added in commentThread
* Update comment thread API
* Added creationTime and updationTime in comment thread response
* Added creationTime and updationTime in comment thread response
* Added human readable id to comment threads, fallback to username for null name in user document
* Refactor
* lint
* fix test, rm duplicate selector
* comment out saga used for dev
* CommentThread viewed status, username fallback for getName=null, username field added in pin & resolve status
* lint
* trigger tests
Co-authored-by: Shrikant Sharat Kandula <shrikant@appsmith.com>
Co-authored-by: Abhijeet <abhi.nagarnaik@gmail.com>
2021-04-29 10:33:51 +00:00
|
|
|
import {
|
|
|
|
|
CommentThread,
|
|
|
|
|
CommentEventPayload,
|
|
|
|
|
CreateCommentThreadPayload,
|
|
|
|
|
CreateCommentThreadRequest,
|
|
|
|
|
AddCommentToCommentThreadSuccessPayload,
|
|
|
|
|
AddCommentToCommentThreadRequestPayload,
|
|
|
|
|
NewCommentEventPayload,
|
|
|
|
|
NewCommentThreadPayload,
|
|
|
|
|
} from "entities/Comments/CommentsInterfaces";
|
|
|
|
|
|
2021-05-20 12:03:08 +00:00
|
|
|
import { RawDraftContentState } from "draft-js";
|
|
|
|
|
|
Initialise comments (#3328)
* Initial scaffolding for comments CRUD APIs
* add actions
* add assets
* state management for existing comments and creating new
* add ui components
* add overlay comments wrapper to baseWidget
* add toggle comment mode button at editor header
* trigger tests
* Disallow commenting as someone else
* Add applicationId for comments
* lint
* Add overlay blacklist to prevent component interaction while adding comments
* Comment thread style updates
* Placeholder comment context menu
* Controlled comment thread visibility for making new comments visible by default
* Update comment type description
* Reset input on save
* Resolve comment thread button ui
* fix close on esc key, dont create new comment on outside click
* Submit on enter
* add emoji picker
* Attempt at adding a websocket server in Java
* CRUD APIs for comment threads
* Add API for getting all threads in application
* Move types to a separate file
* Initial commit for real time server (RTS)
* Add script to start RTS
* Fix position property
* Use create comment thread API
* Use add comment to thread API
* Add custom cursor
* Dispatch logout init on 401 errors
* Allow CORS for real time connection
* Add more logs to RTS
* Fix construction of MongoClient
* WIP: Real time comments
* Enable comments
* Minor updates
* Read backend API base URL from environment
* Escape to reset comments mode
* Set popover position as auto and boundary as scroll parent
* Disable warning
* Added permissions for comment threads
* Add resolved API for comment threads
* Migration to set commenting permission on existing apps
* Fix updates bringing the RTS down
* Show view latest button, scroll to bottom on creating a new comment
* Cleanup comment reducer
* Move to typescript for RTS
* Add missing server.ts and tsconfig files
* Resolve / unresolve comment
* Scaffold app comments
* Minor fixes: comment on top of all widgets, add toggle button at viewer header
* Reconnect socket on creating a new app, set connected status in store
* Retry socket connection flow
* Integration tests for comments with api mocks using msw
* Fix circular depependency
* rm file
* Minor cleanup and comments
* Minor refactors: move isScrolledToBottom to common hooks, decouple prevent interactions overlay from comments wrapper
* Use policies when pushing updates in RTS
* ENV var to set if comments are enabled
* Fix: check if editor/viewer is initialised before waiting for init action
* Add tests for comments reducer
* Revert "ENV var to set if comments are enabled"
This reverts commit 988efeaa69d378d943a387e1e73510334958adc5.
* Enable comments for users with appsmith email
* lint
* fix
* Try running a socket.io server inside backend
* Update comment reducer tests
* Init mentions within comments
* Fix comment thread updates with email rooms
* Minor fixes
* Refactors / review suggestions
* lint
* increase cache limit for builds
* Comment out tests for feature that's under development
* Add Dockerfile for RTS
* Fix policies missing for first comment in threads
* Use draftJS for comments input with mentions support
* fix fixtures
* Use thread's policies when querying for threads
* Update socket.io to v4
* Add support for richer body with mentions
* Update comment body type to RawDraftContentState
* fix stale method
* Fix mentions search
* Minor cleanups
* Comment context menu and thread UI updates
* revert: Scaffold app comments
* Yarn dependencies
* Delete comment using id api added
* Init app comments
* Add test for creating thread
* Api for delete comment with id
* Test comment creation response and policies
* Copy comment links
* Fix reset editor state
* Delete valid comment testcase added
* Delete comment TC : code refactor
* Don't allow creating comments with an empty body
* Pin comments WIP[]
* Ignore dependency-reduced-pom.xml files from VCS
* Cleanup of some dev-only files, for review
* Delete comment
* Update socket.io to v4 in RTS
* Pin and resolve comment thread object added in commentThread
* Pin and resolve comment thread object added in commentThread
* Update comment thread API
* Added creationTime and updationTime in comment thread response
* Added creationTime and updationTime in comment thread response
* Added human readable id to comment threads, fallback to username for null name in user document
* Refactor
* lint
* fix test, rm duplicate selector
* comment out saga used for dev
* CommentThread viewed status, username fallback for getName=null, username field added in pin & resolve status
* lint
* trigger tests
Co-authored-by: Shrikant Sharat Kandula <shrikant@appsmith.com>
Co-authored-by: Abhijeet <abhi.nagarnaik@gmail.com>
2021-04-29 10:33:51 +00:00
|
|
|
export const setCommentThreadsRequest = () => ({
|
|
|
|
|
type: ReduxActionTypes.SET_COMMENT_THREADS_REQUEST,
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
// todo remove (for dev)
|
|
|
|
|
export const setCommentThreadsSuccess = (payload: any) => ({
|
|
|
|
|
type: ReduxActionTypes.SET_COMMENT_THREADS_SUCCESS,
|
|
|
|
|
payload,
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
// todo remove (for dev)
|
|
|
|
|
export const initCommentThreads = () => ({
|
|
|
|
|
type: ReduxActionTypes.INIT_COMMENT_THREADS,
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
export const commentEvent = (payload: CommentEventPayload) => ({
|
|
|
|
|
type: COMMENT_EVENTS_CHANNEL,
|
|
|
|
|
payload,
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
export const createUnpublishedCommentThreadRequest = (
|
|
|
|
|
payload: Partial<CreateCommentThreadRequest>,
|
|
|
|
|
) => ({
|
|
|
|
|
type: ReduxActionTypes.CREATE_UNPUBLISHED_COMMENT_THREAD_REQUEST,
|
|
|
|
|
payload,
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
export const createUnpublishedCommentThreadSuccess = (
|
|
|
|
|
payload: Record<string, Partial<CreateCommentThreadRequest>>,
|
|
|
|
|
) => ({
|
|
|
|
|
type: ReduxActionTypes.CREATE_UNPUBLISHED_COMMENT_THREAD_SUCCESS,
|
|
|
|
|
payload,
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
export const removeUnpublishedCommentThreads = () => ({
|
|
|
|
|
type: ReduxActionTypes.REMOVE_UNPUBLISHED_COMMENT_THREAD_REQUEST,
|
|
|
|
|
payload: null,
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
export const createCommentThreadRequest = (
|
|
|
|
|
payload: CreateCommentThreadPayload,
|
|
|
|
|
) => ({
|
|
|
|
|
type: ReduxActionTypes.CREATE_COMMENT_THREAD_REQUEST,
|
|
|
|
|
payload,
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
export const createCommentThreadSuccess = (payload: CommentThread) => ({
|
|
|
|
|
type: ReduxActionTypes.CREATE_COMMENT_THREAD_SUCCESS,
|
|
|
|
|
payload,
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
export const addCommentToThreadRequest = (
|
|
|
|
|
payload: AddCommentToCommentThreadRequestPayload,
|
|
|
|
|
) => ({
|
|
|
|
|
type: ReduxActionTypes.ADD_COMMENT_TO_THREAD_REQUEST,
|
|
|
|
|
payload,
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
export const addCommentToThreadSuccess = (
|
|
|
|
|
payload: AddCommentToCommentThreadSuccessPayload,
|
|
|
|
|
) => ({
|
|
|
|
|
type: ReduxActionTypes.ADD_COMMENT_TO_THREAD_SUCCESS,
|
|
|
|
|
payload,
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
export const setCommentMode = (payload: boolean) => ({
|
|
|
|
|
type: ReduxActionTypes.SET_COMMENT_MODE,
|
|
|
|
|
payload,
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
export const fetchApplicationCommentsRequest = () => ({
|
|
|
|
|
type: ReduxActionTypes.FETCH_APPLICATION_COMMENTS_REQUEST,
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
export const fetchApplicationCommentsSuccess = (
|
|
|
|
|
payload: Array<CommentThread>,
|
|
|
|
|
) => ({
|
|
|
|
|
type: ReduxActionTypes.FETCH_APPLICATION_COMMENTS_SUCCESS,
|
|
|
|
|
payload,
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
export const newCommentEvent = (payload: NewCommentEventPayload) => ({
|
|
|
|
|
type: ReduxActionTypes.NEW_COMMENT_EVENT,
|
|
|
|
|
payload,
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
export const newCommentThreadEvent = (payload: NewCommentThreadPayload) => ({
|
|
|
|
|
type: ReduxActionTypes.NEW_COMMENT_THREAD_EVENT,
|
|
|
|
|
payload,
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
export const setCommentResolutionRequest = (payload: {
|
|
|
|
|
threadId: string;
|
|
|
|
|
resolved: boolean;
|
|
|
|
|
}) => ({
|
|
|
|
|
type: ReduxActionTypes.SET_COMMENT_THREAD_RESOLUTION_REQUEST,
|
|
|
|
|
payload,
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
export const updateCommentThreadSuccess = (
|
|
|
|
|
payload: Partial<CommentThread>,
|
|
|
|
|
) => ({
|
|
|
|
|
type: ReduxActionTypes.UPDATE_COMMENT_THREAD_SUCCESS,
|
|
|
|
|
payload,
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
export const updateCommentThreadEvent = (payload: Partial<CommentThread>) => ({
|
|
|
|
|
type: ReduxActionTypes.UPDATE_COMMENT_THREAD_EVENT,
|
|
|
|
|
payload,
|
|
|
|
|
});
|
|
|
|
|
|
2021-05-20 12:03:08 +00:00
|
|
|
export const pinCommentThreadRequest = (payload: {
|
|
|
|
|
threadId: string;
|
|
|
|
|
pin: boolean;
|
|
|
|
|
}) => ({
|
Initialise comments (#3328)
* Initial scaffolding for comments CRUD APIs
* add actions
* add assets
* state management for existing comments and creating new
* add ui components
* add overlay comments wrapper to baseWidget
* add toggle comment mode button at editor header
* trigger tests
* Disallow commenting as someone else
* Add applicationId for comments
* lint
* Add overlay blacklist to prevent component interaction while adding comments
* Comment thread style updates
* Placeholder comment context menu
* Controlled comment thread visibility for making new comments visible by default
* Update comment type description
* Reset input on save
* Resolve comment thread button ui
* fix close on esc key, dont create new comment on outside click
* Submit on enter
* add emoji picker
* Attempt at adding a websocket server in Java
* CRUD APIs for comment threads
* Add API for getting all threads in application
* Move types to a separate file
* Initial commit for real time server (RTS)
* Add script to start RTS
* Fix position property
* Use create comment thread API
* Use add comment to thread API
* Add custom cursor
* Dispatch logout init on 401 errors
* Allow CORS for real time connection
* Add more logs to RTS
* Fix construction of MongoClient
* WIP: Real time comments
* Enable comments
* Minor updates
* Read backend API base URL from environment
* Escape to reset comments mode
* Set popover position as auto and boundary as scroll parent
* Disable warning
* Added permissions for comment threads
* Add resolved API for comment threads
* Migration to set commenting permission on existing apps
* Fix updates bringing the RTS down
* Show view latest button, scroll to bottom on creating a new comment
* Cleanup comment reducer
* Move to typescript for RTS
* Add missing server.ts and tsconfig files
* Resolve / unresolve comment
* Scaffold app comments
* Minor fixes: comment on top of all widgets, add toggle button at viewer header
* Reconnect socket on creating a new app, set connected status in store
* Retry socket connection flow
* Integration tests for comments with api mocks using msw
* Fix circular depependency
* rm file
* Minor cleanup and comments
* Minor refactors: move isScrolledToBottom to common hooks, decouple prevent interactions overlay from comments wrapper
* Use policies when pushing updates in RTS
* ENV var to set if comments are enabled
* Fix: check if editor/viewer is initialised before waiting for init action
* Add tests for comments reducer
* Revert "ENV var to set if comments are enabled"
This reverts commit 988efeaa69d378d943a387e1e73510334958adc5.
* Enable comments for users with appsmith email
* lint
* fix
* Try running a socket.io server inside backend
* Update comment reducer tests
* Init mentions within comments
* Fix comment thread updates with email rooms
* Minor fixes
* Refactors / review suggestions
* lint
* increase cache limit for builds
* Comment out tests for feature that's under development
* Add Dockerfile for RTS
* Fix policies missing for first comment in threads
* Use draftJS for comments input with mentions support
* fix fixtures
* Use thread's policies when querying for threads
* Update socket.io to v4
* Add support for richer body with mentions
* Update comment body type to RawDraftContentState
* fix stale method
* Fix mentions search
* Minor cleanups
* Comment context menu and thread UI updates
* revert: Scaffold app comments
* Yarn dependencies
* Delete comment using id api added
* Init app comments
* Add test for creating thread
* Api for delete comment with id
* Test comment creation response and policies
* Copy comment links
* Fix reset editor state
* Delete valid comment testcase added
* Delete comment TC : code refactor
* Don't allow creating comments with an empty body
* Pin comments WIP[]
* Ignore dependency-reduced-pom.xml files from VCS
* Cleanup of some dev-only files, for review
* Delete comment
* Update socket.io to v4 in RTS
* Pin and resolve comment thread object added in commentThread
* Pin and resolve comment thread object added in commentThread
* Update comment thread API
* Added creationTime and updationTime in comment thread response
* Added creationTime and updationTime in comment thread response
* Added human readable id to comment threads, fallback to username for null name in user document
* Refactor
* lint
* fix test, rm duplicate selector
* comment out saga used for dev
* CommentThread viewed status, username fallback for getName=null, username field added in pin & resolve status
* lint
* trigger tests
Co-authored-by: Shrikant Sharat Kandula <shrikant@appsmith.com>
Co-authored-by: Abhijeet <abhi.nagarnaik@gmail.com>
2021-04-29 10:33:51 +00:00
|
|
|
type: ReduxActionTypes.PIN_COMMENT_THREAD_REQUEST,
|
|
|
|
|
payload,
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
export const pinCommentThreadSuccess = (payload: {
|
|
|
|
|
threadId: string;
|
|
|
|
|
applicationId: string;
|
|
|
|
|
}) => ({
|
|
|
|
|
type: ReduxActionTypes.PIN_COMMENT_THREAD_SUCCESS,
|
|
|
|
|
payload,
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
export const deleteCommentRequest = (payload: {
|
|
|
|
|
commentId: string;
|
|
|
|
|
threadId: string;
|
|
|
|
|
}) => ({
|
|
|
|
|
type: ReduxActionTypes.DELETE_COMMENT_REQUEST,
|
|
|
|
|
payload,
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
export const deleteCommentSuccess = (payload: {
|
|
|
|
|
threadId: string;
|
|
|
|
|
commentId: string;
|
|
|
|
|
}) => ({
|
|
|
|
|
type: ReduxActionTypes.DELETE_COMMENT_SUCCESS,
|
|
|
|
|
payload,
|
|
|
|
|
});
|
2021-05-20 12:03:08 +00:00
|
|
|
|
|
|
|
|
export const setShouldShowResolvedComments = (payload: boolean) => ({
|
|
|
|
|
type: ReduxActionTypes.SET_SHOULD_SHOW_RESOLVED_COMMENTS,
|
|
|
|
|
payload,
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
export const setAppCommentsFilter = (
|
|
|
|
|
payload: typeof filterOptions[number]["value"],
|
|
|
|
|
) => ({
|
|
|
|
|
type: ReduxActionTypes.SET_APP_COMMENTS_FILTER,
|
|
|
|
|
payload,
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
export const resetVisibleThread = (threadId?: string) => ({
|
|
|
|
|
type: ReduxActionTypes.RESET_VISIBLE_THREAD,
|
|
|
|
|
payload: threadId,
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
export const setVisibleThread = (threadId: string) => ({
|
|
|
|
|
type: ReduxActionTypes.SET_VISIBLE_THREAD,
|
|
|
|
|
payload: threadId,
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
export const markThreadAsReadRequest = (threadId: string) => ({
|
|
|
|
|
type: ReduxActionTypes.MARK_THREAD_AS_READ_REQUEST,
|
|
|
|
|
payload: { threadId },
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
export const editCommentRequest = ({
|
|
|
|
|
body,
|
|
|
|
|
commentId,
|
|
|
|
|
commentThreadId,
|
|
|
|
|
}: {
|
|
|
|
|
commentThreadId: string;
|
|
|
|
|
commentId: string;
|
|
|
|
|
body: RawDraftContentState;
|
|
|
|
|
}) => ({
|
|
|
|
|
type: ReduxActionTypes.EDIT_COMMENT_REQUEST,
|
|
|
|
|
payload: {
|
|
|
|
|
body,
|
|
|
|
|
commentId,
|
|
|
|
|
commentThreadId,
|
|
|
|
|
},
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
export const updateCommentSuccess = (payload: {
|
|
|
|
|
comment: Comment;
|
|
|
|
|
commentThreadId: string;
|
|
|
|
|
}) => ({
|
|
|
|
|
type: ReduxActionTypes.EDIT_COMMENT_SUCCESS,
|
|
|
|
|
payload,
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
export const deleteCommentThreadRequest = (commentThreadId: string) => ({
|
|
|
|
|
type: ReduxActionTypes.DELETE_THREAD_REQUEST,
|
|
|
|
|
payload: commentThreadId,
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
export const deleteCommentThreadSuccess = (payload: {
|
|
|
|
|
commentThreadId: string;
|
|
|
|
|
appId: string;
|
|
|
|
|
}) => ({
|
|
|
|
|
type: ReduxActionTypes.DELETE_THREAD_SUCCESS,
|
|
|
|
|
payload,
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
export const addCommentReaction = (payload: {
|
|
|
|
|
emoji: string;
|
|
|
|
|
commentId: string;
|
|
|
|
|
}) => ({
|
|
|
|
|
type: ReduxActionTypes.ADD_COMMENT_REACTION,
|
|
|
|
|
payload,
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
export const removeCommentReaction = (payload: {
|
|
|
|
|
emoji: string;
|
|
|
|
|
commentId: string;
|
|
|
|
|
}) => ({
|
|
|
|
|
type: ReduxActionTypes.REMOVE_COMMENT_REACTION,
|
|
|
|
|
payload,
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
export const updateCommentEvent = (payload: Comment) => ({
|
|
|
|
|
type: ReduxActionTypes.UPDATE_COMMENT_EVENT,
|
|
|
|
|
payload,
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
export const showCommentsIntroCarousel = () => ({
|
|
|
|
|
type: ReduxActionTypes.SHOW_COMMENTS_INTRO_CAROUSEL,
|
|
|
|
|
payload: undefined,
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
export const hideCommentsIntroCarousel = () => ({
|
|
|
|
|
type: ReduxActionTypes.HIDE_COMMENTS_INTRO_CAROUSEL,
|
|
|
|
|
payload: undefined,
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
export const setAreCommentsEnabled = (flag: boolean) => ({
|
|
|
|
|
type: ReduxActionTypes.SET_ARE_COMMENTS_ENABLED,
|
|
|
|
|
payload: flag,
|
|
|
|
|
});
|