PromucFlow_constructor/app/client/src/sagas/index.tsx
Ashok Kumar M f19ebbafe9
[Feature] Widget grouping - Allow Drag and Drop of multiple widgets. (#5389)
* dip

* dip

* scroll

* fixes

* dip

* dip

* dip

* dip

* dip

* dip

* dip

* dip

* dip

* dip

* dip

* dip

* dip

* dip

* dip

* dip

* dip

* dip

* solve for canvas glitches

* dip

* dip

* dip

* adjust scroll speed

* dip

* dip(code clean up)

* dip

* dip

* ---dip

* dip

* dip

* dip

* middle ware for dropping multiple widgets.

* adding scroll to drag for canvas selection.

* fixing drag disabled and modal widget(detach from layout) drops

* firefox and safari fixes

* rebase conflicts.

* fixing broken specs.

* fixing specs and adding jest tests.

* show border and disable resize when multiple widgets are selected.

* selection box grab cursor

* merge conflicts.

* code clean up

* fixing specs.

* fixed a bug and failed specs.

* fixing rerenders.

* code clean up

* code review comments

* always have the drag point inside the widget.

* fetching snap spaces instead of calculating.

* remove widget_move action

* fixing bugs with add widget parent height updation.

* fixing specs.

* List widget conflict fixes.

* fixing canvas drop persistence.

* Adding click to drag for modals and fixing few issues.
2021-08-12 11:15:38 +05:30

95 lines
2.8 KiB
TypeScript

import { call, all, spawn } from "redux-saga/effects";
import pageSagas from "sagas/PageSagas";
import { fetchWidgetCardsSaga } from "./WidgetSidebarSagas";
import { watchActionSagas } from "./ActionSagas";
import { watchActionExecutionSagas } from "sagas/ActionExecutionSagas";
import widgetOperationSagas from "./WidgetOperationSagas";
import errorSagas from "./ErrorSagas";
import applicationSagas from "./ApplicationSagas";
import { watchDatasourcesSagas } from "./DatasourcesSagas";
import initSagas from "./InitSagas";
import apiPaneSagas from "./ApiPaneSagas";
import userSagas from "./userSagas";
import pluginSagas from "./PluginSagas";
import orgSagas from "./OrgSagas";
import importedCollectionsSagas from "./CollectionSagas";
import providersSagas from "./ProvidersSaga";
import curlImportSagas from "./CurlImportSagas";
import snipingModeSagas from "./SnipingModeSagas";
import queryPaneSagas from "./QueryPaneSagas";
import modalSagas from "./ModalSagas";
import batchSagas from "./BatchSagas";
import themeSagas from "./ThemeSaga";
import evaluationsSaga from "./EvaluationsSaga";
import onboardingSagas from "./OnboardingSagas";
import utilSagas from "./UtilSagas";
import saaSPaneSagas from "./SaaSPaneSagas";
import actionExecutionChangeListeners from "./WidgetLoadingSaga";
import globalSearchSagas from "./GlobalSearchSagas";
import recentEntitiesSagas from "./RecentEntitiesSagas";
import commentSagas from "./CommentSagas";
import websocketSagas from "./WebsocketSagas/WebsocketSagas";
import debuggerSagas from "./DebuggerSagas";
import tourSagas from "./TourSagas";
import notificationsSagas from "./NotificationsSagas";
import selectionCanvasSagas from "./SelectionCanvasSagas";
import draggingCanvasSagas from "./DraggingCanvasSagas";
import log from "loglevel";
import * as sentry from "@sentry/react";
const sagas = [
initSagas,
pageSagas,
fetchWidgetCardsSaga,
watchActionSagas,
watchActionExecutionSagas,
widgetOperationSagas,
errorSagas,
watchDatasourcesSagas,
applicationSagas,
apiPaneSagas,
userSagas,
pluginSagas,
orgSagas,
importedCollectionsSagas,
providersSagas,
curlImportSagas,
snipingModeSagas,
queryPaneSagas,
modalSagas,
batchSagas,
themeSagas,
evaluationsSaga,
onboardingSagas,
actionExecutionChangeListeners,
utilSagas,
globalSearchSagas,
recentEntitiesSagas,
commentSagas,
websocketSagas,
debuggerSagas,
saaSPaneSagas,
tourSagas,
notificationsSagas,
selectionCanvasSagas,
draggingCanvasSagas,
];
export function* rootSaga(sagasToRun = sagas) {
yield all(
sagasToRun.map((saga) =>
spawn(function*() {
while (true) {
try {
yield call(saga);
break;
} catch (e) {
log.error(e);
sentry.captureException(e);
}
}
}),
),
);
}