2019-09-09 09:08:54 +00:00
|
|
|
import { combineReducers } from "redux";
|
|
|
|
|
import entityReducer from "./entityReducers";
|
|
|
|
|
import uiReducer from "./uiReducers";
|
2020-12-21 06:14:20 +00:00
|
|
|
import evaluationsReducer from "./evaluationReducers";
|
2019-10-21 15:12:45 +00:00
|
|
|
import { reducer as formReducer } from "redux-form";
|
2019-09-13 10:45:49 +00:00
|
|
|
import { CanvasWidgetsReduxState } from "./entityReducers/canvasWidgetsReducer";
|
2019-09-09 09:08:54 +00:00
|
|
|
import { EditorReduxState } from "./uiReducers/editorReducer";
|
2019-09-27 16:05:33 +00:00
|
|
|
import { ErrorReduxState } from "./uiReducers/errorReducer";
|
2019-09-13 11:59:45 +00:00
|
|
|
import { ActionDataState } from "./entityReducers/actionsReducer";
|
2019-09-18 10:19:50 +00:00
|
|
|
import { PropertyPaneReduxState } from "./uiReducers/propertyPaneReducer";
|
2019-09-25 17:24:23 +00:00
|
|
|
import { WidgetConfigReducerState } from "./entityReducers/widgetConfigReducer";
|
2019-11-07 09:32:38 +00:00
|
|
|
import { DatasourceDataState } from "./entityReducers/datasourceReducer";
|
2019-10-31 08:36:04 +00:00
|
|
|
import { AppViewReduxState } from "./uiReducers/appViewReducer";
|
2020-04-28 06:52:53 +00:00
|
|
|
import { DatasourcePaneReduxState } from "./uiReducers/datasourcePaneReducer";
|
2019-11-07 04:59:40 +00:00
|
|
|
import { ApplicationsReduxState } from "./uiReducers/applicationsReducer";
|
2019-11-22 14:02:55 +00:00
|
|
|
import { PageListReduxState } from "./entityReducers/pageListReducer";
|
2019-11-13 07:34:59 +00:00
|
|
|
import { ApiPaneReduxState } from "./uiReducers/apiPaneReducer";
|
2020-05-05 07:50:30 +00:00
|
|
|
import { QueryPaneReduxState } from "./uiReducers/queryPaneReducer";
|
2019-11-29 05:22:49 +00:00
|
|
|
import { PluginDataState } from "reducers/entityReducers/pluginsReducer";
|
2019-12-16 08:49:10 +00:00
|
|
|
import { AuthState } from "reducers/uiReducers/authReducer";
|
2019-12-23 12:16:33 +00:00
|
|
|
import { OrgReduxState } from "reducers/uiReducers/orgReducer";
|
|
|
|
|
import { UsersReduxState } from "reducers/uiReducers/usersReducer";
|
2020-09-16 11:50:47 +00:00
|
|
|
import { ThemeState } from "reducers/uiReducers/themeReducer";
|
2020-01-20 09:00:37 +00:00
|
|
|
import { WidgetDragResizeState } from "reducers/uiReducers/dragResizeReducer";
|
2020-04-14 12:34:14 +00:00
|
|
|
import { ImportedCollectionsReduxState } from "reducers/uiReducers/importedCollectionsReducer";
|
|
|
|
|
import { ProvidersReduxState } from "reducers/uiReducers/providerReducer";
|
2020-02-07 02:32:52 +00:00
|
|
|
import { MetaState } from "./entityReducers/metaReducer";
|
2020-04-14 12:34:14 +00:00
|
|
|
import { ImportReduxState } from "reducers/uiReducers/importReducer";
|
2020-05-28 18:10:26 +00:00
|
|
|
import { HelpReduxState } from "./uiReducers/helpReducer";
|
2020-06-18 07:46:53 +00:00
|
|
|
import { ApiNameReduxState } from "./uiReducers/apiNameReducer";
|
Feature/entity browse (#220)
# New Feature: Entity Explorer
- Entities are actions (apis and queries), datasources, pages, and widgets
- With this new feature, all entities in the application will be available
to view in the new entity explorer sidebar
- All existing application features from the api sidebar, query sidebar, datasource sidebar and pages sidebar
now are avialable on the entity explorer sidebar
- Users are now able to quickly switch to any entity in the application from the entity explorer sidebar.
- Users can also search all entities in the application from the new sidebar. Use cmd + f or ctrl + f to focus on the search input
- Users can rename entities from the new sidebar
- Users can also perform contextual actions on these entities like set a page as home page, copy/move actions, delete entity, etc from the context menu available alongside the entities in the sidebar
- Users can view the properties of the entities in the sidebar, as well as copy bindings to use in the application.
2020-08-10 08:52:45 +00:00
|
|
|
import { ExplorerReduxState } from "./uiReducers/explorerReducer";
|
2021-03-09 14:35:42 +00:00
|
|
|
import { PageCanvasStructureReduxState } from "reducers/uiReducers/pageCanvasStructureReducer";
|
2020-08-27 15:39:16 +00:00
|
|
|
import { ConfirmRunActionReduxState } from "./uiReducers/confirmRunActionReducer";
|
2020-09-01 10:31:39 +00:00
|
|
|
import { AppDataState } from "reducers/entityReducers/appReducer";
|
2020-08-26 05:24:44 +00:00
|
|
|
import { DatasourceNameReduxState } from "./uiReducers/datasourceNameReducer";
|
2020-12-21 06:14:20 +00:00
|
|
|
import { EvaluatedTreeState } from "./evaluationReducers/treeReducer";
|
|
|
|
|
import { EvaluationDependencyState } from "./evaluationReducers/dependencyReducer";
|
2020-11-03 13:05:40 +00:00
|
|
|
import { PageWidgetsReduxState } from "./uiReducers/pageWidgetsReducer";
|
2020-12-30 07:31:20 +00:00
|
|
|
import { OnboardingState } from "./uiReducers/onBoardingReducer";
|
2021-03-08 08:24:12 +00:00
|
|
|
import { GlobalSearchReduxState } from "./uiReducers/globalSearchReducer";
|
2021-01-19 06:17:15 +00:00
|
|
|
import { ReleasesState } from "./uiReducers/releasesReducer";
|
2021-01-14 14:37:21 +00:00
|
|
|
import { LoadingEntitiesState } from "./evaluationReducers/loadingEntitiesReducer";
|
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 { CommentsReduxState } from "./uiReducers/commentsReducer/interfaces";
|
2021-10-01 16:44:19 +00:00
|
|
|
import { WebsocketReducerState } from "./uiReducers/websocketReducer";
|
2021-04-23 13:50:55 +00:00
|
|
|
import { DebuggerReduxState } from "./uiReducers/debuggerReducer";
|
2021-05-20 12:03:08 +00:00
|
|
|
import { TourReducerState } from "./uiReducers/tourReducer";
|
2021-07-20 05:18:58 +00:00
|
|
|
import { TableFilterPaneReduxState } from "./uiReducers/tableFilterPaneReducer";
|
2021-09-08 17:32:22 +00:00
|
|
|
import { JsPaneReduxState } from "./uiReducers/jsPaneReducer";
|
|
|
|
|
import { JSCollectionDataState } from "./entityReducers/jsActionsReducer";
|
2021-06-09 14:32:17 +00:00
|
|
|
import { NotificationReducerState } from "./uiReducers/notificationsReducer";
|
2021-06-17 13:26:54 +00:00
|
|
|
import { CanvasSelectionState } from "./uiReducers/canvasSelectionReducer";
|
2021-09-08 17:32:22 +00:00
|
|
|
import { JSObjectNameReduxState } from "./uiReducers/jsObjectNameReducer";
|
2021-08-18 09:40:31 +00:00
|
|
|
import { GitSyncReducerState } from "./uiReducers/gitSyncReducer";
|
2021-08-09 09:04:24 +00:00
|
|
|
import { AppCollabReducerState } from "./uiReducers/appCollabReducer";
|
2021-08-16 18:04:54 +00:00
|
|
|
import { CrudInfoModalReduxState } from "./uiReducers/crudInfoModalReducer";
|
2021-08-26 05:37:07 +00:00
|
|
|
import { FormEvaluationState } from "./evaluationReducers/formEvaluationReducer";
|
2021-10-18 07:47:55 +00:00
|
|
|
import SettingsReducer, { SettingsReduxState } from "./settingsReducer";
|
2019-02-10 13:06:05 +00:00
|
|
|
|
|
|
|
|
const appReducer = combineReducers({
|
|
|
|
|
entities: entityReducer,
|
2019-09-09 09:08:54 +00:00
|
|
|
ui: uiReducer,
|
2020-10-21 04:25:32 +00:00
|
|
|
evaluations: evaluationsReducer,
|
2019-10-21 15:12:45 +00:00
|
|
|
form: formReducer,
|
2021-10-18 07:47:55 +00:00
|
|
|
settings: SettingsReducer,
|
2019-09-09 09:08:54 +00:00
|
|
|
});
|
2019-02-10 13:06:05 +00:00
|
|
|
|
2019-09-09 09:08:54 +00:00
|
|
|
export default appReducer;
|
2019-02-10 13:06:05 +00:00
|
|
|
|
|
|
|
|
export interface AppState {
|
|
|
|
|
ui: {
|
2019-09-09 09:08:54 +00:00
|
|
|
editor: EditorReduxState;
|
2019-09-18 10:19:50 +00:00
|
|
|
propertyPane: PropertyPaneReduxState;
|
2021-07-20 05:18:58 +00:00
|
|
|
tableFilterPane: TableFilterPaneReduxState;
|
2019-09-27 16:05:33 +00:00
|
|
|
errors: ErrorReduxState;
|
2019-11-07 04:59:40 +00:00
|
|
|
appView: AppViewReduxState;
|
|
|
|
|
applications: ApplicationsReduxState;
|
2019-11-13 07:34:59 +00:00
|
|
|
apiPane: ApiPaneReduxState;
|
2019-12-16 08:49:10 +00:00
|
|
|
auth: AuthState;
|
2019-12-23 12:16:33 +00:00
|
|
|
orgs: OrgReduxState;
|
|
|
|
|
users: UsersReduxState;
|
2020-01-20 09:00:37 +00:00
|
|
|
widgetDragResize: WidgetDragResizeState;
|
2020-04-14 12:34:14 +00:00
|
|
|
importedCollections: ImportedCollectionsReduxState;
|
|
|
|
|
providers: ProvidersReduxState;
|
|
|
|
|
imports: ImportReduxState;
|
2020-05-05 07:50:30 +00:00
|
|
|
queryPane: QueryPaneReduxState;
|
2020-04-28 06:52:53 +00:00
|
|
|
datasourcePane: DatasourcePaneReduxState;
|
2020-05-28 18:10:26 +00:00
|
|
|
help: HelpReduxState;
|
2020-06-18 07:46:53 +00:00
|
|
|
apiName: ApiNameReduxState;
|
Feature/entity browse (#220)
# New Feature: Entity Explorer
- Entities are actions (apis and queries), datasources, pages, and widgets
- With this new feature, all entities in the application will be available
to view in the new entity explorer sidebar
- All existing application features from the api sidebar, query sidebar, datasource sidebar and pages sidebar
now are avialable on the entity explorer sidebar
- Users are now able to quickly switch to any entity in the application from the entity explorer sidebar.
- Users can also search all entities in the application from the new sidebar. Use cmd + f or ctrl + f to focus on the search input
- Users can rename entities from the new sidebar
- Users can also perform contextual actions on these entities like set a page as home page, copy/move actions, delete entity, etc from the context menu available alongside the entities in the sidebar
- Users can view the properties of the entities in the sidebar, as well as copy bindings to use in the application.
2020-08-10 08:52:45 +00:00
|
|
|
explorer: ExplorerReduxState;
|
2020-11-03 13:05:40 +00:00
|
|
|
pageCanvasStructure: PageCanvasStructureReduxState;
|
|
|
|
|
pageWidgets: PageWidgetsReduxState;
|
2020-08-27 15:39:16 +00:00
|
|
|
confirmRunAction: ConfirmRunActionReduxState;
|
2020-08-26 05:24:44 +00:00
|
|
|
datasourceName: DatasourceNameReduxState;
|
2020-09-16 11:50:47 +00:00
|
|
|
theme: ThemeState;
|
2020-12-30 07:31:20 +00:00
|
|
|
onBoarding: OnboardingState;
|
2021-03-08 08:24:12 +00:00
|
|
|
globalSearch: GlobalSearchReduxState;
|
2021-01-19 06:17:15 +00:00
|
|
|
releases: ReleasesState;
|
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
|
|
|
comments: CommentsReduxState;
|
2021-10-01 16:44:19 +00:00
|
|
|
websocket: WebsocketReducerState;
|
2021-04-23 13:50:55 +00:00
|
|
|
debugger: DebuggerReduxState;
|
2021-05-20 12:03:08 +00:00
|
|
|
tour: TourReducerState;
|
2021-09-08 17:32:22 +00:00
|
|
|
jsPane: JsPaneReduxState;
|
2021-06-09 14:32:17 +00:00
|
|
|
notifications: NotificationReducerState;
|
2021-06-17 13:26:54 +00:00
|
|
|
canvasSelection: CanvasSelectionState;
|
2021-09-08 17:32:22 +00:00
|
|
|
jsObjectName: JSObjectNameReduxState;
|
2021-08-18 09:40:31 +00:00
|
|
|
gitSync: GitSyncReducerState;
|
2021-08-09 09:04:24 +00:00
|
|
|
appCollab: AppCollabReducerState;
|
2021-08-16 18:04:54 +00:00
|
|
|
crudInfoModal: CrudInfoModalReduxState;
|
2019-09-09 09:08:54 +00:00
|
|
|
};
|
2019-02-10 13:06:05 +00:00
|
|
|
entities: {
|
2019-09-09 09:08:54 +00:00
|
|
|
canvasWidgets: CanvasWidgetsReduxState;
|
2019-09-13 11:59:45 +00:00
|
|
|
actions: ActionDataState;
|
2019-09-25 17:24:23 +00:00
|
|
|
widgetConfig: WidgetConfigReducerState;
|
2019-11-07 09:32:38 +00:00
|
|
|
datasources: DatasourceDataState;
|
2019-11-22 14:02:55 +00:00
|
|
|
pageList: PageListReduxState;
|
2019-11-29 05:22:49 +00:00
|
|
|
plugins: PluginDataState;
|
2020-02-07 02:32:52 +00:00
|
|
|
meta: MetaState;
|
2020-08-14 07:43:01 +00:00
|
|
|
app: AppDataState;
|
2021-09-08 17:32:22 +00:00
|
|
|
jsActions: JSCollectionDataState;
|
2019-09-09 09:08:54 +00:00
|
|
|
};
|
2020-10-21 04:25:32 +00:00
|
|
|
evaluations: {
|
|
|
|
|
tree: EvaluatedTreeState;
|
|
|
|
|
dependencies: EvaluationDependencyState;
|
2021-01-14 14:37:21 +00:00
|
|
|
loadingEntities: LoadingEntitiesState;
|
2021-08-26 05:37:07 +00:00
|
|
|
formEvaluation: FormEvaluationState;
|
2020-10-21 04:25:32 +00:00
|
|
|
};
|
2021-10-18 07:47:55 +00:00
|
|
|
settings: SettingsReduxState;
|
2019-02-10 13:06:05 +00:00
|
|
|
}
|