PromucFlow_constructor/app/client/src/utils/WidgetRegistry.tsx

459 lines
14 KiB
TypeScript
Raw Normal View History

import BaseWidget, { WidgetProps } from "widgets/BaseWidget";
import { WidgetTypes } from "constants/WidgetConstants";
import ContainerWidget, {
ContainerWidgetProps,
ProfiledContainerWidget,
} from "widgets/ContainerWidget";
import TextWidget, {
TextWidgetProps,
ProfiledTextWidget,
} from "widgets/TextWidget";
import InputWidget, {
InputWidgetProps,
ProfiledInputWidget,
} from "widgets/InputWidget";
import CheckboxWidget, {
CheckboxWidgetProps,
ProfiledCheckboxWidget,
} from "widgets/CheckboxWidget";
2019-03-21 12:10:32 +00:00
import RadioGroupWidget, {
2019-09-09 09:08:54 +00:00
RadioGroupWidgetProps,
ProfiledRadioGroupWidget,
2019-11-25 05:07:27 +00:00
} from "widgets/RadioGroupWidget";
2019-09-09 09:08:54 +00:00
import WidgetFactory from "./WidgetFactory";
import React from "react";
import ButtonWidget, {
ButtonWidgetProps,
ProfiledButtonWidget,
} from "widgets/ButtonWidget";
import DropdownWidget, {
DropdownWidgetProps,
ProfiledDropDownWidget,
} from "widgets/DropdownWidget";
import ImageWidget, {
ImageWidgetProps,
ProfiledImageWidget,
} from "widgets/ImageWidget";
import TableWidget, { ProfiledTableWidget } from "widgets/TableWidget";
import { TableWidgetProps } from "widgets/TableWidget/TableWidgetConstants";
import VideoWidget, {
VideoWidgetProps,
ProfiledVideoWidget,
} from "widgets/VideoWidget";
2020-04-15 11:42:11 +00:00
import TabsWidget, {
TabsWidgetProps,
TabContainerWidgetProps,
ProfiledTabsWidget,
} from "widgets/Tabs/TabsWidget";
import {
ModalWidgetProps,
ProfiledModalWidget,
ModalWidget,
} from "widgets/ModalWidget";
2020-03-20 11:17:30 +00:00
import RichTextEditorWidget, {
RichTextEditorWidgetProps,
ProfiledRichTextEditorWidget,
2020-03-20 11:17:30 +00:00
} from "widgets/RichTextEditorWidget";
import ChartWidget, {
ChartWidgetProps,
ProfiledChartWidget,
} from "widgets/ChartWidget";
import MapWidget, {
MapWidgetProps,
ProfiledMapWidget,
} from "widgets/MapWidget";
2019-11-04 14:22:50 +00:00
import FilePickerWidget, {
FilePickerWidgetProps,
ProfiledFilePickerWidget,
2019-11-25 05:07:27 +00:00
} from "widgets/FilepickerWidget";
2019-11-06 12:12:41 +00:00
import DatePickerWidget, {
DatePickerWidgetProps,
ProfiledDatePickerWidget,
2019-11-25 05:07:27 +00:00
} from "widgets/DatePickerWidget";
import DatePickerWidget2, {
DatePickerWidget2Props,
ProfiledDatePickerWidget2,
} from "widgets/DatePickerWidget2";
import FormWidget, { ProfiledFormWidget } from "widgets/FormWidget";
2020-03-06 09:45:21 +00:00
import FormButtonWidget, {
FormButtonWidgetProps,
ProfiledFormButtonWidget,
2020-03-06 09:45:21 +00:00
} from "widgets/FormButtonWidget";
import IconWidget, {
IconWidgetProps,
ProfiledIconWidget,
} from "widgets/IconWidget";
2020-03-06 09:45:21 +00:00
import CanvasWidget, { ProfiledCanvasWidget } from "widgets/CanvasWidget";
import SkeletonWidget, {
ProfiledSkeletonWidget,
SkeletonWidgetProps,
} from "../widgets/SkeletonWidget";
[Feature] Grid Widget (#2389) * Updated test * updated assertions * Resizing image to take full width of table cell * updated assertion * Stop updating dynamicBindingPathList directly from widget * Fix selectedRow and selectedRows computations * Fix primaryColumns computations * Updated test for derived column * Added tests for computed value * Added check clear data * Reordering of test * updated common method * Made image size as 100% of table cell size * add templating logic * Updated flow and dsl * Clear old primary columns * Updated testname * updated assertion * use evaluated values for children * Fix primary columns update on component mount and component update * add isArray check * remove property pane enhancement reducer * add property pane enhancement reducer * disable items other than template + fix running property enchancment on drop of list widget * disbled drag, resize, settingsControl, drag for items other than template * add grid options * uncomment the widget operation for add child for grid children * handle delete scenario for child widget in list widget * WIP: Use the new delete and update property features * add listdsl.json for testcases * add test cases for correct no. of items being rendered * add test cases currentItem binding in list widget * change dragEnabled to dragDisabled * change resizeEnabled to resizeDisabled * change settingsControlEnabled to settingsControlDisabled * change dropEnabled to dropDisabled * update settingsControlDisabled default value * Use deleteProperties in propertyControls * Fix unsetting of array indices when deleting widget properties * remove old TableWidget.tsx file * Fix derived column property update on primary column property update * Handle undefined primary columns * Fix filepicker immutable prop issue * Fix object.freeze issue when adding ids to the property pane configuration * fix widget issue in grid * Fix column actions dynamicBindingPathList inclusion issue * remove consoles + fix typo around batch update * Remove redundant tests * js binding test for date picker * hydate enhancement map on copy list widget * check for dynamicleaf * fixes * improve check * fix getNextWidgetName * update template in list widget when copying * updating template copy logic when copying widget * update dynamicBindingPathList in copied widget * Add path parameter to hidden functions in property pane configs * fix copy bug when copying list widget * add computed list property control * Remove time column type Fix editor prompt for currentRow Fix undefined derivedColumns scenario Remove validations for primaryColums and derivedColumns Fix section toggle for video, image and button column types * Fix table widget actions and custom column migrations * Add logs for cyclical dependency map :recycle: * Process array differences * add property control for list widget * Fix onClick migrations * Property pane config parity * binding and trigger paths from the property pane config (#2920) * try react virtualized library * Fix unit test * Fix unit test :white_check_mark: * Fix minor issues in table widget * Add default meta props to binding paths to ensure eval and validation * Dummy commit :tada: * Remove unnecessary datepicker test Fix chart data as string issue * Achieve table column sorting and resizing parity with release * handle scenario where last column isn't available to access * Fix for panel config path not existing in the widget * Fix bindings in currentRow (default) Add dummy property pane config for canvas widget * Update canvas widgets with dynamicPathLists on delete of property paths * Add all diffs to change paths and trim later * Add back default properties 🚶🏻‍♂️ * Use object based paths instead of arrays for primaryColumns and derivedColumns * Fix issue in reordered columns * Fix inccorect update order * add virtualized list * Fix failing property pane tests * minor change * minor list widget change * Remove .vscode from git * Rename ads to alloy Fix isVisible in list widget * move grid component to widget folder * fix import in widget registry * add sticky row in virtualized list * add sticky container * Fix Height of grid widget items container * fix dragging of items in children other than template children * update list widget * update list widget * Fix padding in list widget * hide scrollbar in list widget list * fix copy bug in list widget * regenrate enhancement map on undo delete widget * Use enhancementmap for autocomplete in list widget Basic styles for list widget scrollbar * add custom control in widget config * minor commit * update scrollbar styles * remove unused variable * fix typo in custom control * comment out test cases * remove unused imports * remove unused imports * add JSON stringify in interweave * add noPad styling in dragLayer for noPad prop * implement grid gap * add list item background color prop * add white color in color picker control * fix gap in last list item * remove onBeforeParse in textcomponent * remove virtualization in grid widget * allow overflow-y * add onListItemClick action * add beta label * add pagination * fix actions in pagination in list widget * add list widget icon * add list background color default value * remove extra div * fix pagination issue * fix list widget crashing on perpage change * extract child operation function to widgetblueprint saga * refactor enhancements * add enhancement hook * refactor propertyUpdate hook enhancment * remove enhacement map * revert renaming ads to alloy * add autopagination * Cleanup unused vars Re-write loop using map Fix binding with external input widget * update default background color * remove unnessary scrol + fix pagination per page * remove console.log * use grid gap in pixel instead of snap * fix list widget tests for binding * add tests for on click action and pagination * remove unnecessary imports * remove overflow hidden in list component * Add feature to enable template actions * update property pane help text for list widget * disable pagination in editor view * update property pane options * add test case for action * uncomment tests * fix grid gap validation * update test cases * fix property pane opening issue for list tempalte * Disable form widgets in list widget * fix template issue for actions * add validation tests for list data * update starting template * add selectedRow + enable pagination in edit mode * remove extra padding in list widget + popper fix on settingDisabled * add stop propagation for button click * fix click event in edit mode * disallow filepicker widget for list widget * add test for list widget entity definition for selectItem * remove unused imports * fix test * remove evaluated value for list child widgets * add comment * remove log * fix copying bug in list widget * add check for not allowing template to copy * fix test * add test for property pane actions * remove unused import * add draglayercomponent test * add test for draggable component * add test for evaluatedvalue popup * add test for messages.ts * add test for widgeticons * add test for property pane selector * add test for widget config response * start testing widget configresponse * add test for enhancements in widget config * add test for codeeditor * add test for base widget + list widget * add test for executeWidgetBlueprintChildOperations * remove unused import * add test for widget operation utils * remove unused import * add test for handleSpecificCasesWhilePasting * remove unused function * remove unused import * add empty list styling * resolve all review comments * fix message test * add test for widget operation utils * fix merge conflicts * move validations in property config Co-authored-by: Abhinav Jha <abhinav@appsmith.com> Co-authored-by: nandan.anantharamu <nandan.anantharamu@thoughtspot.com> Co-authored-by: vicky-primathon.in <vicky.bansal@primathon.in> Co-authored-by: Pawan Kumar <pawankumar@Pawans-MacBook-Pro.local> Co-authored-by: Piyush <piyush@codeitout.com> Co-authored-by: hetunandu <hetu@appsmith.com> Co-authored-by: Hetu Nandu <hetunandu@gmail.com> Co-authored-by: root <root@DESKTOP-9GENCK0.localdomain>
2021-04-23 05:43:13 +00:00
import ListWidget, {
ListWidgetProps,
ProfiledListWidget,
} from "widgets/ListWidget/ListWidget";
import SwitchWidget, {
ProfiledSwitchWidget,
SwitchWidgetProps,
} from "widgets/SwitchWidget";
import TabsMigratorWidget, {
ProfiledTabsMigratorWidget,
} from "widgets/Tabs/TabsMigrator";
export default class WidgetBuilderRegistry {
2019-02-10 13:21:19 +00:00
static registerWidgetBuilders() {
2019-11-19 12:44:58 +00:00
WidgetFactory.registerWidgetBuilder(
"CONTAINER_WIDGET",
{
buildWidget(
widgetData: ContainerWidgetProps<WidgetProps>,
): JSX.Element {
return <ProfiledContainerWidget {...widgetData} />;
2019-11-19 12:44:58 +00:00
},
2019-09-09 09:08:54 +00:00
},
2020-01-17 09:28:26 +00:00
ContainerWidget.getDerivedPropertiesMap(),
2020-04-17 16:15:09 +00:00
ContainerWidget.getDefaultPropertiesMap(),
ContainerWidget.getMetaPropertiesMap(),
ContainerWidget.getPropertyPaneConfig(),
2019-11-19 12:44:58 +00:00
);
2019-11-19 12:44:58 +00:00
WidgetFactory.registerWidgetBuilder(
"TEXT_WIDGET",
{
buildWidget(widgetData: TextWidgetProps): JSX.Element {
return <ProfiledTextWidget {...widgetData} />;
2019-11-19 12:44:58 +00:00
},
2019-09-09 09:08:54 +00:00
},
2020-01-17 09:28:26 +00:00
TextWidget.getDerivedPropertiesMap(),
2020-04-17 16:15:09 +00:00
TextWidget.getDefaultPropertiesMap(),
TextWidget.getMetaPropertiesMap(),
TextWidget.getPropertyPaneConfig(),
2019-11-19 12:44:58 +00:00
);
2019-03-18 13:50:24 +00:00
2019-11-19 12:44:58 +00:00
WidgetFactory.registerWidgetBuilder(
"BUTTON_WIDGET",
{
buildWidget(widgetData: ButtonWidgetProps): JSX.Element {
return <ProfiledButtonWidget {...widgetData} />;
2019-11-19 12:44:58 +00:00
},
2019-09-09 09:08:54 +00:00
},
2020-01-17 09:28:26 +00:00
ButtonWidget.getDerivedPropertiesMap(),
2020-04-17 16:15:09 +00:00
ButtonWidget.getDefaultPropertiesMap(),
ButtonWidget.getMetaPropertiesMap(),
ButtonWidget.getPropertyPaneConfig(),
2019-11-19 12:44:58 +00:00
);
2019-11-19 12:44:58 +00:00
WidgetFactory.registerWidgetBuilder(
"INPUT_WIDGET",
{
buildWidget(widgetData: InputWidgetProps): JSX.Element {
return <ProfiledInputWidget {...widgetData} />;
2019-11-19 12:44:58 +00:00
},
2019-09-09 09:08:54 +00:00
},
2020-01-17 09:28:26 +00:00
InputWidget.getDerivedPropertiesMap(),
2020-04-17 16:15:09 +00:00
InputWidget.getDefaultPropertiesMap(),
InputWidget.getMetaPropertiesMap(),
InputWidget.getPropertyPaneConfig(),
2019-11-19 12:44:58 +00:00
);
2019-03-21 12:10:32 +00:00
2019-11-19 12:44:58 +00:00
WidgetFactory.registerWidgetBuilder(
"CHECKBOX_WIDGET",
{
buildWidget(widgetData: CheckboxWidgetProps): JSX.Element {
return <ProfiledCheckboxWidget {...widgetData} />;
2019-11-19 12:44:58 +00:00
},
2019-09-09 09:08:54 +00:00
},
2020-01-17 09:28:26 +00:00
CheckboxWidget.getDerivedPropertiesMap(),
2020-04-17 16:15:09 +00:00
CheckboxWidget.getDefaultPropertiesMap(),
CheckboxWidget.getMetaPropertiesMap(),
CheckboxWidget.getPropertyPaneConfig(),
2019-11-19 12:44:58 +00:00
);
2019-03-21 12:10:32 +00:00
WidgetFactory.registerWidgetBuilder(
"SWITCH_WIDGET",
{
buildWidget(widgetData: SwitchWidgetProps): JSX.Element {
return <ProfiledSwitchWidget {...widgetData} />;
},
},
SwitchWidget.getDerivedPropertiesMap(),
SwitchWidget.getDefaultPropertiesMap(),
SwitchWidget.getMetaPropertiesMap(),
SwitchWidget.getPropertyPaneConfig(),
);
2019-11-19 12:44:58 +00:00
WidgetFactory.registerWidgetBuilder(
"DROP_DOWN_WIDGET",
{
buildWidget(widgetData: DropdownWidgetProps): JSX.Element {
return <ProfiledDropDownWidget {...widgetData} />;
2019-11-19 12:44:58 +00:00
},
2019-10-31 05:28:11 +00:00
},
2020-01-17 09:28:26 +00:00
DropdownWidget.getDerivedPropertiesMap(),
2020-04-17 16:15:09 +00:00
DropdownWidget.getDefaultPropertiesMap(),
DropdownWidget.getMetaPropertiesMap(),
DropdownWidget.getPropertyPaneConfig(),
2019-11-19 12:44:58 +00:00
);
2019-10-31 05:28:11 +00:00
2019-11-19 12:44:58 +00:00
WidgetFactory.registerWidgetBuilder(
"RADIO_GROUP_WIDGET",
{
buildWidget(widgetData: RadioGroupWidgetProps): JSX.Element {
return <ProfiledRadioGroupWidget {...widgetData} />;
2019-11-19 12:44:58 +00:00
},
2019-09-09 09:08:54 +00:00
},
2020-01-17 09:28:26 +00:00
RadioGroupWidget.getDerivedPropertiesMap(),
2020-04-17 16:15:09 +00:00
RadioGroupWidget.getDefaultPropertiesMap(),
RadioGroupWidget.getMetaPropertiesMap(),
RadioGroupWidget.getPropertyPaneConfig(),
2019-11-19 12:44:58 +00:00
);
2019-11-19 12:44:58 +00:00
WidgetFactory.registerWidgetBuilder(
"IMAGE_WIDGET",
{
buildWidget(widgetData: ImageWidgetProps): JSX.Element {
return <ProfiledImageWidget {...widgetData} />;
2019-11-19 12:44:58 +00:00
},
},
2020-01-17 09:28:26 +00:00
ImageWidget.getDerivedPropertiesMap(),
2020-04-17 16:15:09 +00:00
ImageWidget.getDefaultPropertiesMap(),
ImageWidget.getMetaPropertiesMap(),
ImageWidget.getPropertyPaneConfig(),
2019-11-19 12:44:58 +00:00
);
WidgetFactory.registerWidgetBuilder(
"TABLE_WIDGET",
{
buildWidget(widgetData: TableWidgetProps): JSX.Element {
return <ProfiledTableWidget {...widgetData} />;
2019-11-19 12:44:58 +00:00
},
2019-10-31 10:10:57 +00:00
},
2020-01-17 09:28:26 +00:00
TableWidget.getDerivedPropertiesMap(),
2020-04-17 16:15:09 +00:00
TableWidget.getDefaultPropertiesMap(),
TableWidget.getMetaPropertiesMap(),
TableWidget.getPropertyPaneConfig(),
2019-11-19 12:44:58 +00:00
);
WidgetFactory.registerWidgetBuilder(
"VIDEO_WIDGET",
{
buildWidget(widgetData: VideoWidgetProps): JSX.Element {
return <ProfiledVideoWidget {...widgetData} />;
},
},
VideoWidget.getDerivedPropertiesMap(),
VideoWidget.getDefaultPropertiesMap(),
VideoWidget.getMetaPropertiesMap(),
VideoWidget.getPropertyPaneConfig(),
);
2019-11-19 12:44:58 +00:00
WidgetFactory.registerWidgetBuilder(
"FILE_PICKER_WIDGET",
{
buildWidget(widgetData: FilePickerWidgetProps): JSX.Element {
return <ProfiledFilePickerWidget {...widgetData} />;
2019-11-19 12:44:58 +00:00
},
2019-11-04 14:22:50 +00:00
},
2020-01-17 09:28:26 +00:00
FilePickerWidget.getDerivedPropertiesMap(),
2020-04-17 16:15:09 +00:00
FilePickerWidget.getDefaultPropertiesMap(),
FilePickerWidget.getMetaPropertiesMap(),
FilePickerWidget.getPropertyPaneConfig(),
2019-11-19 12:44:58 +00:00
);
WidgetFactory.registerWidgetBuilder(
"DATE_PICKER_WIDGET",
{
buildWidget(widgetData: DatePickerWidgetProps): JSX.Element {
return <ProfiledDatePickerWidget {...widgetData} />;
2019-11-19 12:44:58 +00:00
},
2019-11-06 12:12:41 +00:00
},
2020-01-17 09:28:26 +00:00
DatePickerWidget.getDerivedPropertiesMap(),
2020-04-17 16:15:09 +00:00
DatePickerWidget.getDefaultPropertiesMap(),
DatePickerWidget.getMetaPropertiesMap(),
DatePickerWidget.getPropertyPaneConfig(),
2019-11-19 12:44:58 +00:00
);
WidgetFactory.registerWidgetBuilder(
"DATE_PICKER_WIDGET2",
{
buildWidget(widgetData: DatePickerWidget2Props): JSX.Element {
return <ProfiledDatePickerWidget2 {...widgetData} />;
},
},
DatePickerWidget2.getDerivedPropertiesMap(),
DatePickerWidget2.getDefaultPropertiesMap(),
DatePickerWidget2.getMetaPropertiesMap(),
DatePickerWidget2.getPropertyPaneConfig(),
);
2020-04-15 11:42:11 +00:00
WidgetFactory.registerWidgetBuilder(
"TABS_WIDGET",
{
buildWidget(
widgetProps: TabsWidgetProps<TabContainerWidgetProps>,
): JSX.Element {
return <ProfiledTabsWidget {...widgetProps} />;
2020-04-15 11:42:11 +00:00
},
},
TabsWidget.getDerivedPropertiesMap(),
2020-04-17 16:15:09 +00:00
TabsWidget.getDefaultPropertiesMap(),
TabsWidget.getMetaPropertiesMap(),
TabsWidget.getPropertyPaneConfig(),
2020-04-15 11:42:11 +00:00
);
WidgetFactory.registerWidgetBuilder(
"TABS_MIGRATOR_WIDGET",
{
buildWidget(
widgetProps: TabsWidgetProps<TabContainerWidgetProps>,
): JSX.Element {
return <ProfiledTabsMigratorWidget {...widgetProps} />;
},
},
TabsMigratorWidget.getDerivedPropertiesMap(),
TabsMigratorWidget.getDefaultPropertiesMap(),
TabsMigratorWidget.getMetaPropertiesMap(),
TabsMigratorWidget.getPropertyPaneConfig(),
);
WidgetFactory.registerWidgetBuilder(
WidgetTypes.MODAL_WIDGET,
{
buildWidget(widgetProps: ModalWidgetProps): JSX.Element {
return <ProfiledModalWidget {...widgetProps} />;
},
},
BaseWidget.getDerivedPropertiesMap(),
2020-04-17 16:15:09 +00:00
BaseWidget.getDefaultPropertiesMap(),
BaseWidget.getMetaPropertiesMap(),
ModalWidget.getPropertyPaneConfig(),
);
2020-03-20 11:17:30 +00:00
WidgetFactory.registerWidgetBuilder(
"RICH_TEXT_EDITOR_WIDGET",
{
buildWidget(widgetData: RichTextEditorWidgetProps): JSX.Element {
return <ProfiledRichTextEditorWidget {...widgetData} />;
2020-03-20 11:17:30 +00:00
},
},
RichTextEditorWidget.getDerivedPropertiesMap(),
2020-04-17 16:15:09 +00:00
RichTextEditorWidget.getDefaultPropertiesMap(),
RichTextEditorWidget.getMetaPropertiesMap(),
RichTextEditorWidget.getPropertyPaneConfig(),
2020-03-20 11:17:30 +00:00
);
2020-03-13 12:06:41 +00:00
WidgetFactory.registerWidgetBuilder(
"CHART_WIDGET",
{
buildWidget(widgetData: ChartWidgetProps): JSX.Element {
return <ProfiledChartWidget {...widgetData} />;
2020-03-13 12:06:41 +00:00
},
},
ChartWidget.getDerivedPropertiesMap(),
2020-04-17 16:15:09 +00:00
ChartWidget.getDefaultPropertiesMap(),
ChartWidget.getMetaPropertiesMap(),
ChartWidget.getPropertyPaneConfig(),
2020-03-13 12:06:41 +00:00
);
2020-03-06 09:45:21 +00:00
WidgetFactory.registerWidgetBuilder(
"FORM_WIDGET",
{
buildWidget(
widgetProps: ContainerWidgetProps<WidgetProps>,
): JSX.Element {
return <ProfiledFormWidget {...widgetProps} />;
2020-03-06 09:45:21 +00:00
},
},
FormWidget.getDerivedPropertiesMap(),
2020-04-17 16:15:09 +00:00
FormWidget.getDefaultPropertiesMap(),
FormWidget.getMetaPropertiesMap(),
FormWidget.getPropertyPaneConfig(),
2020-03-06 09:45:21 +00:00
);
WidgetFactory.registerWidgetBuilder(
"FORM_BUTTON_WIDGET",
{
buildWidget(widgetProps: FormButtonWidgetProps): JSX.Element {
return <ProfiledFormButtonWidget {...widgetProps} />;
2020-03-06 09:45:21 +00:00
},
},
FormButtonWidget.getDerivedPropertiesMap(),
2020-04-17 16:15:09 +00:00
FormButtonWidget.getDefaultPropertiesMap(),
FormButtonWidget.getMetaPropertiesMap(),
FormButtonWidget.getPropertyPaneConfig(),
2020-03-06 09:45:21 +00:00
);
2020-04-15 11:42:11 +00:00
WidgetFactory.registerWidgetBuilder(
"MAP_WIDGET",
{
buildWidget(widgetProps: MapWidgetProps): JSX.Element {
return <ProfiledMapWidget {...widgetProps} />;
2020-04-15 11:42:11 +00:00
},
},
MapWidget.getDerivedPropertiesMap(),
2020-04-17 16:15:09 +00:00
MapWidget.getDefaultPropertiesMap(),
MapWidget.getMetaPropertiesMap(),
MapWidget.getPropertyPaneConfig(),
2020-04-15 11:42:11 +00:00
);
WidgetFactory.registerWidgetBuilder(
WidgetTypes.CANVAS_WIDGET,
{
buildWidget(
widgetData: ContainerWidgetProps<WidgetProps>,
): JSX.Element {
return <ProfiledCanvasWidget {...widgetData} />;
},
},
CanvasWidget.getDerivedPropertiesMap(),
2020-04-17 16:15:09 +00:00
CanvasWidget.getDefaultPropertiesMap(),
CanvasWidget.getMetaPropertiesMap(),
CanvasWidget.getPropertyPaneConfig(),
);
WidgetFactory.registerWidgetBuilder(
WidgetTypes.ICON_WIDGET,
{
buildWidget(widgetProps: IconWidgetProps): JSX.Element {
return <ProfiledIconWidget {...widgetProps} />;
},
},
IconWidget.getDerivedPropertiesMap(),
2020-04-17 16:15:09 +00:00
IconWidget.getDefaultPropertiesMap(),
IconWidget.getMetaPropertiesMap(),
IconWidget.getPropertyPaneConfig(),
);
WidgetFactory.registerWidgetBuilder(
WidgetTypes.SKELETON_WIDGET,
{
buildWidget(widgetProps: SkeletonWidgetProps): JSX.Element {
return <ProfiledSkeletonWidget {...widgetProps} />;
},
},
SkeletonWidget.getDerivedPropertiesMap(),
SkeletonWidget.getDefaultPropertiesMap(),
SkeletonWidget.getMetaPropertiesMap(),
SkeletonWidget.getPropertyPaneConfig(),
);
[Feature] Grid Widget (#2389) * Updated test * updated assertions * Resizing image to take full width of table cell * updated assertion * Stop updating dynamicBindingPathList directly from widget * Fix selectedRow and selectedRows computations * Fix primaryColumns computations * Updated test for derived column * Added tests for computed value * Added check clear data * Reordering of test * updated common method * Made image size as 100% of table cell size * add templating logic * Updated flow and dsl * Clear old primary columns * Updated testname * updated assertion * use evaluated values for children * Fix primary columns update on component mount and component update * add isArray check * remove property pane enhancement reducer * add property pane enhancement reducer * disable items other than template + fix running property enchancment on drop of list widget * disbled drag, resize, settingsControl, drag for items other than template * add grid options * uncomment the widget operation for add child for grid children * handle delete scenario for child widget in list widget * WIP: Use the new delete and update property features * add listdsl.json for testcases * add test cases for correct no. of items being rendered * add test cases currentItem binding in list widget * change dragEnabled to dragDisabled * change resizeEnabled to resizeDisabled * change settingsControlEnabled to settingsControlDisabled * change dropEnabled to dropDisabled * update settingsControlDisabled default value * Use deleteProperties in propertyControls * Fix unsetting of array indices when deleting widget properties * remove old TableWidget.tsx file * Fix derived column property update on primary column property update * Handle undefined primary columns * Fix filepicker immutable prop issue * Fix object.freeze issue when adding ids to the property pane configuration * fix widget issue in grid * Fix column actions dynamicBindingPathList inclusion issue * remove consoles + fix typo around batch update * Remove redundant tests * js binding test for date picker * hydate enhancement map on copy list widget * check for dynamicleaf * fixes * improve check * fix getNextWidgetName * update template in list widget when copying * updating template copy logic when copying widget * update dynamicBindingPathList in copied widget * Add path parameter to hidden functions in property pane configs * fix copy bug when copying list widget * add computed list property control * Remove time column type Fix editor prompt for currentRow Fix undefined derivedColumns scenario Remove validations for primaryColums and derivedColumns Fix section toggle for video, image and button column types * Fix table widget actions and custom column migrations * Add logs for cyclical dependency map :recycle: * Process array differences * add property control for list widget * Fix onClick migrations * Property pane config parity * binding and trigger paths from the property pane config (#2920) * try react virtualized library * Fix unit test * Fix unit test :white_check_mark: * Fix minor issues in table widget * Add default meta props to binding paths to ensure eval and validation * Dummy commit :tada: * Remove unnecessary datepicker test Fix chart data as string issue * Achieve table column sorting and resizing parity with release * handle scenario where last column isn't available to access * Fix for panel config path not existing in the widget * Fix bindings in currentRow (default) Add dummy property pane config for canvas widget * Update canvas widgets with dynamicPathLists on delete of property paths * Add all diffs to change paths and trim later * Add back default properties 🚶🏻‍♂️ * Use object based paths instead of arrays for primaryColumns and derivedColumns * Fix issue in reordered columns * Fix inccorect update order * add virtualized list * Fix failing property pane tests * minor change * minor list widget change * Remove .vscode from git * Rename ads to alloy Fix isVisible in list widget * move grid component to widget folder * fix import in widget registry * add sticky row in virtualized list * add sticky container * Fix Height of grid widget items container * fix dragging of items in children other than template children * update list widget * update list widget * Fix padding in list widget * hide scrollbar in list widget list * fix copy bug in list widget * regenrate enhancement map on undo delete widget * Use enhancementmap for autocomplete in list widget Basic styles for list widget scrollbar * add custom control in widget config * minor commit * update scrollbar styles * remove unused variable * fix typo in custom control * comment out test cases * remove unused imports * remove unused imports * add JSON stringify in interweave * add noPad styling in dragLayer for noPad prop * implement grid gap * add list item background color prop * add white color in color picker control * fix gap in last list item * remove onBeforeParse in textcomponent * remove virtualization in grid widget * allow overflow-y * add onListItemClick action * add beta label * add pagination * fix actions in pagination in list widget * add list widget icon * add list background color default value * remove extra div * fix pagination issue * fix list widget crashing on perpage change * extract child operation function to widgetblueprint saga * refactor enhancements * add enhancement hook * refactor propertyUpdate hook enhancment * remove enhacement map * revert renaming ads to alloy * add autopagination * Cleanup unused vars Re-write loop using map Fix binding with external input widget * update default background color * remove unnessary scrol + fix pagination per page * remove console.log * use grid gap in pixel instead of snap * fix list widget tests for binding * add tests for on click action and pagination * remove unnecessary imports * remove overflow hidden in list component * Add feature to enable template actions * update property pane help text for list widget * disable pagination in editor view * update property pane options * add test case for action * uncomment tests * fix grid gap validation * update test cases * fix property pane opening issue for list tempalte * Disable form widgets in list widget * fix template issue for actions * add validation tests for list data * update starting template * add selectedRow + enable pagination in edit mode * remove extra padding in list widget + popper fix on settingDisabled * add stop propagation for button click * fix click event in edit mode * disallow filepicker widget for list widget * add test for list widget entity definition for selectItem * remove unused imports * fix test * remove evaluated value for list child widgets * add comment * remove log * fix copying bug in list widget * add check for not allowing template to copy * fix test * add test for property pane actions * remove unused import * add draglayercomponent test * add test for draggable component * add test for evaluatedvalue popup * add test for messages.ts * add test for widgeticons * add test for property pane selector * add test for widget config response * start testing widget configresponse * add test for enhancements in widget config * add test for codeeditor * add test for base widget + list widget * add test for executeWidgetBlueprintChildOperations * remove unused import * add test for widget operation utils * remove unused import * add test for handleSpecificCasesWhilePasting * remove unused function * remove unused import * add empty list styling * resolve all review comments * fix message test * add test for widget operation utils * fix merge conflicts * move validations in property config Co-authored-by: Abhinav Jha <abhinav@appsmith.com> Co-authored-by: nandan.anantharamu <nandan.anantharamu@thoughtspot.com> Co-authored-by: vicky-primathon.in <vicky.bansal@primathon.in> Co-authored-by: Pawan Kumar <pawankumar@Pawans-MacBook-Pro.local> Co-authored-by: Piyush <piyush@codeitout.com> Co-authored-by: hetunandu <hetu@appsmith.com> Co-authored-by: Hetu Nandu <hetunandu@gmail.com> Co-authored-by: root <root@DESKTOP-9GENCK0.localdomain>
2021-04-23 05:43:13 +00:00
WidgetFactory.registerWidgetBuilder(
WidgetTypes.LIST_WIDGET,
{
buildWidget(widgetProps: ListWidgetProps<WidgetProps>): JSX.Element {
return <ProfiledListWidget {...widgetProps} />;
},
},
ListWidget.getDerivedPropertiesMap(),
ListWidget.getDefaultPropertiesMap(),
ListWidget.getMetaPropertiesMap(),
ListWidget.getPropertyPaneConfig(),
);
WidgetFactory.registerWidgetBuilder(
WidgetTypes.MODAL_WIDGET,
{
buildWidget(widgetData: ModalWidgetProps): JSX.Element {
return <ProfiledModalWidget {...widgetData} />;
},
},
ModalWidget.getDerivedPropertiesMap(),
ModalWidget.getDefaultPropertiesMap(),
ModalWidget.getMetaPropertiesMap(),
ModalWidget.getPropertyPaneConfig(),
);
}
2019-02-10 13:21:19 +00:00
}