PromucFlow_constructor/app/client/src/selectors/widgetSelectors.ts

34 lines
1.1 KiB
TypeScript
Raw Normal View History

import { createSelector } from "reselect";
import { AppState } from "reducers";
import { FlattenedWidgetProps } from "reducers/entityReducers/canvasWidgetsReducer";
import { getExistingWidgetNames } from "sagas/selectors";
2020-04-03 09:32:13 +00:00
import { getNextEntityName } from "utils/AppsmithUtils";
import WidgetFactory from "utils/WidgetFactory";
const getCanvasWidgets = (state: AppState) => state.entities.canvasWidgets;
export const getModalDropdownList = createSelector(
getCanvasWidgets,
2020-12-24 04:32:25 +00:00
(widgets) => {
const modalWidgets = Object.values(widgets).filter(
(widget: FlattenedWidgetProps) => widget.type === "MODAL_WIDGET",
);
if (modalWidgets.length === 0) return undefined;
return modalWidgets.map((widget: FlattenedWidgetProps) => ({
id: widget.widgetId,
label: widget.widgetName,
2020-04-20 05:42:46 +00:00
value: `${widget.widgetName}`,
}));
},
);
2020-04-03 09:32:13 +00:00
export const getNextModalName = createSelector(
getExistingWidgetNames,
(names) => {
const prefix =
WidgetFactory.widgetConfigMap.get("MODAL_WIDGET")?.widgetName || "";
return getNextEntityName(prefix, names);
},
2020-04-03 09:32:13 +00:00
);