) {
- return (
- <>
-
- {this.renderChildren()}
- >
- );
- }
-
- getDirection(): LayoutDirection {
- return this.props.positioning === Positioning.Vertical
- ? LayoutDirection.Vertical
- : LayoutDirection.Horizontal;
- }
-
- getPageView() {
- let height = 0;
- const snapRows = getCanvasSnapRows(
- this.props.bottomRow,
- this.props.mobileBottomRow,
- this.props.isMobile,
- this.props.layoutSystemType === LayoutSystemTypes.AUTO,
- );
- height = snapRows * GridDefaults.DEFAULT_GRID_ROW_HEIGHT;
- const style: CSSProperties = {
- width: "100%",
- height: this.props.isListWidgetCanvas ? "auto" : `${height}px`,
- background: "none",
- position: "relative",
- };
- // This div is the DropTargetComponent alternative for the page view
- // DropTargetComponent and this div are responsible for the canvas height
- return (
-
- {this.renderAsContainerComponent(this.getCanvasProps())}
-
- );
- }
-
- getWidgetView() {
- //ToDo(Ashok): Make sure Layout Factory takes care of render mode based widget view.
- // untill then this part of the widget will have a abstraction leak.
- if (!this.props.dropDisabled && this.props.renderMode === "CANVAS") {
- return this.renderAsDropTarget();
- }
- return this.getPageView();
- }
-
static getDerivedPropertiesMap(): DerivedPropertiesMap {
return {};
}
diff --git a/app/client/src/widgets/ContainerWidget/component/index.tsx b/app/client/src/widgets/ContainerWidget/component/index.tsx
index 6f47e381b9..d511ebb520 100644
--- a/app/client/src/widgets/ContainerWidget/component/index.tsx
+++ b/app/client/src/widgets/ContainerWidget/component/index.tsx
@@ -131,7 +131,6 @@ function ContainerComponentWrapper(
? "auto-layout"
: ""
}`}
- data-widgetId={props.widgetId}
dropDisabled={props.dropDisabled}
onClick={props.onClick}
onClickCapture={props.onClickCapture}
diff --git a/app/client/src/widgets/ContainerWidget/widget/index.tsx b/app/client/src/widgets/ContainerWidget/widget/index.tsx
index a33a7ff889..9d826f4fd9 100644
--- a/app/client/src/widgets/ContainerWidget/widget/index.tsx
+++ b/app/client/src/widgets/ContainerWidget/widget/index.tsx
@@ -1,18 +1,13 @@
import type { MouseEventHandler } from "react";
import React from "react";
-
import type { DerivedPropertiesMap } from "WidgetProvider/factory";
-import WidgetFactory from "WidgetProvider/factory";
import type { ContainerStyle } from "../component";
import ContainerComponent from "../component";
-
import type { WidgetProps, WidgetState } from "widgets/BaseWidget";
import BaseWidget from "widgets/BaseWidget";
-
import { ValidationTypes } from "constants/WidgetValidation";
import { compact, map, sortBy } from "lodash";
-import WidgetsMultiSelectBox from "pages/Editor/WidgetsMultiSelectBox";
-
+import WidgetsMultiSelectBox from "layoutSystems/fixedlayout/common/widgetGrouping/WidgetsMultiSelectBox";
import type { SetterConfig, Stylesheet } from "entities/AppTheming";
import { getSnappedGrid } from "sagas/WidgetOperationUtils";
import { ReduxActionTypes } from "@appsmith/constants/ReduxActionConstants";
@@ -38,6 +33,7 @@ import {
Positioning,
ResponsiveBehavior,
} from "layoutSystems/common/utils/constants";
+import { renderAppsmithCanvas } from "layoutSystems/CanvasFactory";
export class ContainerWidget extends BaseWidget<
ContainerWidgetProps,
@@ -314,7 +310,7 @@ export class ContainerWidget extends BaseWidget<
childWidget.useAutoLayout = this.props.positioning
? this.props.positioning === Positioning.Vertical
: false;
- return WidgetFactory.createWidget(childWidget, this.props.renderMode);
+ return renderAppsmithCanvas(childWidget as WidgetProps);
}
renderChildren = () => {
diff --git a/app/client/src/widgets/ListWidget/widget/index.tsx b/app/client/src/widgets/ListWidget/widget/index.tsx
index 9bf8fbf83c..d78c620dca 100644
--- a/app/client/src/widgets/ListWidget/widget/index.tsx
+++ b/app/client/src/widgets/ListWidget/widget/index.tsx
@@ -65,6 +65,7 @@ import { getAssetUrl } from "@appsmith/utils/airgapHelpers";
import { ASSETS_CDN_URL } from "constants/ThirdPartyConstants";
import { FILL_WIDGET_MIN_WIDTH } from "constants/minWidthConstants";
import IconSVG from "../icon.svg";
+import { renderAppsmithCanvas } from "layoutSystems/CanvasFactory";
const LIST_WIDGET_PAGINATION_HEIGHT = 36;
@@ -865,8 +866,7 @@ class ListWidget extends BaseWidget, WidgetState> {
this.props.positioning || childWidgetData.positioning;
childWidgetData.positioning = positioning;
childWidgetData.useAutoLayout = positioning === Positioning.Vertical;
-
- return WidgetFactory.createWidget(childWidgetData, this.props.renderMode);
+ return renderAppsmithCanvas(childWidgetData as WidgetProps);
};
getGridGap = () =>
diff --git a/app/client/src/widgets/ListWidgetV2/widget/index.tsx b/app/client/src/widgets/ListWidgetV2/widget/index.tsx
index f4c37027c2..a7e3b88917 100644
--- a/app/client/src/widgets/ListWidgetV2/widget/index.tsx
+++ b/app/client/src/widgets/ListWidgetV2/widget/index.tsx
@@ -17,7 +17,6 @@ import Loader from "../component/Loader";
import MetaWidgetContextProvider from "../../MetaWidgetContextProvider";
import type { GeneratorOptions, HookOptions } from "../MetaWidgetGenerator";
import MetaWidgetGenerator from "../MetaWidgetGenerator";
-import WidgetFactory from "WidgetProvider/factory";
import type { BatchPropertyUpdatePayload } from "actions/controlActions";
import type {
AutocompletionDefinitions,
@@ -52,6 +51,7 @@ import { generateTypeDef } from "utils/autocomplete/dataTreeTypeDefCreator";
import defaultProps from "./defaultProps";
import IconSVG from "../icon.svg";
+import { renderAppsmithCanvas } from "layoutSystems/CanvasFactory";
const getCurrentItemsViewBindingTemplate = () => ({
prefix: "{{[",
@@ -1217,7 +1217,7 @@ class ListWidget extends BaseWidget<
},
};
});
- return WidgetFactory.createWidget(child, this.props.renderMode);
+ return renderAppsmithCanvas(child as WidgetProps);
},
);
diff --git a/app/client/src/widgets/MetaHOC.tsx b/app/client/src/widgets/MetaHOC.tsx
index c5dfe27fb9..01a900bfe5 100644
--- a/app/client/src/widgets/MetaHOC.tsx
+++ b/app/client/src/widgets/MetaHOC.tsx
@@ -1,6 +1,5 @@
import React from "react";
import type { WidgetProps } from "./BaseWidget";
-import type BaseWidget from "./BaseWidget";
import { debounce, fromPairs, isEmpty } from "lodash";
import { EditorContext } from "components/editorComponents/EditorContextProvider";
import AppsmithConsole from "utils/AppsmithConsole";
@@ -12,6 +11,7 @@ import { getWidgetMetaProps } from "sagas/selectors";
import type { AppState } from "@appsmith/reducers";
import { error } from "loglevel";
import WidgetFactory from "WidgetProvider/factory";
+import type BaseWidget from "./BaseWidget";
export type pushAction = (
propertyName: string | batchUpdateWidgetMetaPropertyType,
propertyValue?: unknown,
diff --git a/app/client/src/widgets/ModalWidget/component/index.tsx b/app/client/src/widgets/ModalWidget/component/index.tsx
index 578d63281a..69420cf3a0 100644
--- a/app/client/src/widgets/ModalWidget/component/index.tsx
+++ b/app/client/src/widgets/ModalWidget/component/index.tsx
@@ -10,13 +10,13 @@ import { scrollCSS } from "widgets/WidgetUtils";
import type { WidgetProps } from "widgets/BaseWidget";
import type { RenderMode } from "constants/WidgetConstants";
import { WIDGET_PADDING } from "constants/WidgetConstants";
-import WidgetFactory from "WidgetProvider/factory";
import { useModalWidth } from "./useModalWidth";
import type {
Alignment,
Positioning,
Spacing,
} from "layoutSystems/common/utils/constants";
+import { renderAppsmithCanvas } from "layoutSystems/CanvasFactory";
const Content = styled.div<{ $scroll: boolean }>`
overflow-x: hidden;
@@ -113,7 +113,7 @@ export default function ModalComponent(props: ModalComponentProps) {
childData.positioning = props.positioning;
childData.alignment = props.alignment;
childData.spacing = props.spacing;
- return WidgetFactory.createWidget(childData, props.renderMode);
+ return renderAppsmithCanvas(childData as WidgetProps);
};
const getChildren = (): ReactNode => {
if (
diff --git a/app/client/src/widgets/TabsWidget/widget/index.tsx b/app/client/src/widgets/TabsWidget/widget/index.tsx
index c7db5ce8c9..3a6a82ee83 100644
--- a/app/client/src/widgets/TabsWidget/widget/index.tsx
+++ b/app/client/src/widgets/TabsWidget/widget/index.tsx
@@ -12,7 +12,6 @@ import React from "react";
import { LayoutSystemTypes } from "layoutSystems/types";
import type { WidgetProperties } from "selectors/propertyPaneSelectors";
import { AutocompleteDataType } from "utils/autocomplete/AutocompleteDataType";
-import WidgetFactory from "WidgetProvider/factory";
import type { WidgetState } from "../../BaseWidget";
import BaseWidget from "../../BaseWidget";
import TabsComponent from "../component";
@@ -36,6 +35,7 @@ import {
import type { WidgetProps } from "widgets/BaseWidget";
import { BlueprintOperationTypes } from "WidgetProvider/constants";
import IconSVG from "../icon.svg";
+import { renderAppsmithCanvas } from "layoutSystems/CanvasFactory";
export function selectedTabValidation(
value: unknown,
@@ -588,8 +588,7 @@ class TabsWidget extends BaseWidget<
: LayoutDirection.Horizontal;
childWidgetData.alignment = selectedTabProps?.alignment;
childWidgetData.spacing = selectedTabProps?.spacing;
-
- return WidgetFactory.createWidget(childWidgetData, this.props.renderMode);
+ return renderAppsmithCanvas(childWidgetData as WidgetProps);
};
private getSelectedTabWidgetId() {