2023-09-06 12:15:04 +00:00
|
|
|
import AudioRecorderWidget from "./AudioRecorderWidget";
|
|
|
|
|
import AudioWidget from "./AudioWidget";
|
|
|
|
|
import ButtonGroupWidget from "./ButtonGroupWidget";
|
|
|
|
|
import ButtonWidget from "./ButtonWidget";
|
|
|
|
|
import SelectWidget from "./SelectWidget";
|
|
|
|
|
import CameraWidget from "./CameraWidget";
|
|
|
|
|
import CanvasWidget from "./CanvasWidget";
|
|
|
|
|
import ChartWidget from "./ChartWidget";
|
|
|
|
|
import CheckboxGroupWidget from "./CheckboxGroupWidget";
|
|
|
|
|
import CheckboxWidget from "./CheckboxWidget";
|
|
|
|
|
import CircularProgressWidget from "./CircularProgressWidget";
|
|
|
|
|
import ContainerWidget from "./ContainerWidget";
|
|
|
|
|
import CurrencyInputWidget from "./CurrencyInputWidget";
|
|
|
|
|
import DatePickerWidget from "./DatePickerWidget";
|
|
|
|
|
import DatePickerWidget2 from "./DatePickerWidget2";
|
|
|
|
|
import DividerWidget from "./DividerWidget";
|
|
|
|
|
import MultiSelectWidgetV2 from "./MultiSelectWidgetV2";
|
|
|
|
|
import DocumentViewerWidget from "./DocumentViewerWidget";
|
|
|
|
|
import DropdownWidget from "./DropdownWidget";
|
|
|
|
|
import FilePickerWidget from "./FilepickerWidget";
|
|
|
|
|
import FilePickerWidgetV2 from "./FilePickerWidgetV2";
|
|
|
|
|
import FormButtonWidget from "./FormButtonWidget";
|
|
|
|
|
import FormWidget from "./FormWidget";
|
|
|
|
|
import IconButtonWidget from "./IconButtonWidget";
|
|
|
|
|
import IconWidget from "./IconWidget";
|
|
|
|
|
import IframeWidget from "./IframeWidget";
|
|
|
|
|
import ImageWidget from "./ImageWidget";
|
|
|
|
|
import InputWidget from "./InputWidget";
|
|
|
|
|
import InputWidgetV2 from "./InputWidgetV2";
|
|
|
|
|
import ListWidget from "./ListWidget";
|
|
|
|
|
import MapChartWidget from "./MapChartWidget";
|
|
|
|
|
import MapWidget from "./MapWidget";
|
|
|
|
|
import MenuButtonWidget from "./MenuButtonWidget";
|
|
|
|
|
import ModalWidget from "./ModalWidget";
|
|
|
|
|
import MultiSelectTreeWidget from "./MultiSelectTreeWidget";
|
|
|
|
|
import MultiSelectWidget from "./MultiSelectWidget";
|
|
|
|
|
import PhoneInputWidget from "./PhoneInputWidget";
|
|
|
|
|
import ProgressBarWidget from "./ProgressBarWidget";
|
|
|
|
|
import RadioGroupWidget from "./RadioGroupWidget";
|
|
|
|
|
import RateWidget from "./RateWidget";
|
|
|
|
|
import RichTextEditorWidget from "./RichTextEditorWidget";
|
|
|
|
|
import SingleSelectTreeWidget from "./SingleSelectTreeWidget";
|
|
|
|
|
import SkeletonWidget from "./SkeletonWidget";
|
|
|
|
|
import StatboxWidget from "./StatboxWidget";
|
|
|
|
|
import JSONFormWidget from "./JSONFormWidget";
|
|
|
|
|
import SwitchGroupWidget from "./SwitchGroupWidget";
|
|
|
|
|
import SwitchWidget from "./SwitchWidget";
|
|
|
|
|
import TableWidget from "./TableWidget";
|
|
|
|
|
import TabsMigratorWidget from "./TabsMigrator";
|
|
|
|
|
import TabsWidget from "./TabsWidget";
|
|
|
|
|
import TextWidget from "./TextWidget";
|
|
|
|
|
import VideoWidget from "./VideoWidget";
|
|
|
|
|
import ProgressWidget from "./ProgressWidget";
|
|
|
|
|
import TableWidgetV2 from "./TableWidgetV2";
|
|
|
|
|
import NumberSliderWidget from "./NumberSliderWidget";
|
|
|
|
|
import RangeSliderWidget from "./RangeSliderWidget";
|
|
|
|
|
import CategorySliderWidget from "./CategorySliderWidget";
|
|
|
|
|
import CodeScannerWidget from "./CodeScannerWidget";
|
|
|
|
|
import ListWidgetV2 from "./ListWidgetV2";
|
2024-09-24 16:04:02 +00:00
|
|
|
import { WDSButtonWidget } from "modules/ui-builder/ui/wds/WDSButtonWidget";
|
|
|
|
|
import { WDSInputWidget } from "modules/ui-builder/ui/wds/WDSInputWidget";
|
|
|
|
|
import { WDSCheckboxWidget } from "modules/ui-builder/ui/wds/WDSCheckboxWidget";
|
|
|
|
|
import { WDSIconButtonWidget } from "modules/ui-builder/ui/wds/WDSIconButtonWidget";
|
2023-09-06 12:15:04 +00:00
|
|
|
import type BaseWidget from "./BaseWidget";
|
2023-11-14 04:33:37 +00:00
|
|
|
import ExternalWidget from "./ExternalWidget";
|
2024-09-24 16:04:02 +00:00
|
|
|
import { WDSTableWidget } from "modules/ui-builder/ui/wds/WDSTableWidget";
|
|
|
|
|
import { WDSCurrencyInputWidget } from "modules/ui-builder/ui/wds/WDSCurrencyInputWidget";
|
|
|
|
|
import { WDSToolbarButtonsWidget } from "modules/ui-builder/ui/wds/WDSToolbarButtonsWidget";
|
|
|
|
|
import { WDSPhoneInputWidget } from "modules/ui-builder/ui/wds/WDSPhoneInputWidget";
|
|
|
|
|
import { WDSCheckboxGroupWidget } from "modules/ui-builder/ui/wds/WDSCheckboxGroupWidget";
|
|
|
|
|
import { WDSComboBoxWidget } from "modules/ui-builder/ui/wds/WDSComboBoxWidget";
|
|
|
|
|
import { WDSSwitchWidget } from "modules/ui-builder/ui/wds/WDSSwitchWidget";
|
|
|
|
|
import { WDSSwitchGroupWidget } from "modules/ui-builder/ui/wds/WDSSwitchGroupWidget";
|
|
|
|
|
import { WDSRadioGroupWidget } from "modules/ui-builder/ui/wds/WDSRadioGroupWidget";
|
|
|
|
|
import { WDSMenuButtonWidget } from "modules/ui-builder/ui/wds/WDSMenuButtonWidget";
|
2023-12-28 06:46:28 +00:00
|
|
|
import CustomWidget from "./CustomWidget";
|
2024-09-24 16:04:02 +00:00
|
|
|
import { WDSSectionWidget } from "modules/ui-builder/ui/wds/WDSSectionWidget";
|
|
|
|
|
import { WDSZoneWidget } from "modules/ui-builder/ui/wds/WDSZoneWidget";
|
|
|
|
|
import { WDSHeadingWidget } from "modules/ui-builder/ui/wds/WDSHeadingWidget";
|
|
|
|
|
import { WDSParagraphWidget } from "modules/ui-builder/ui/wds/WDSParagraphWidget";
|
|
|
|
|
import { WDSModalWidget } from "modules/ui-builder/ui/wds/WDSModalWidget";
|
|
|
|
|
import { WDSStatsWidget } from "modules/ui-builder/ui/wds/WDSStatsWidget";
|
|
|
|
|
import { WDSKeyValueWidget } from "modules/ui-builder/ui/wds/WDSKeyValueWidget";
|
|
|
|
|
import { WDSInlineButtonsWidget } from "modules/ui-builder/ui/wds/WDSInlineButtonsWidget";
|
|
|
|
|
import { WDSEmailInputWidget } from "modules/ui-builder/ui/wds/WDSEmailInputWidget";
|
|
|
|
|
import { WDSPasswordInputWidget } from "modules/ui-builder/ui/wds/WDSPasswordInputWidget";
|
|
|
|
|
import { WDSNumberInputWidget } from "modules/ui-builder/ui/wds/WDSNumberInputWidget";
|
|
|
|
|
import { WDSMultilineInputWidget } from "modules/ui-builder/ui/wds/WDSMultilineInputWidget";
|
|
|
|
|
import { WDSSelectWidget } from "modules/ui-builder/ui/wds/WDSSelectWidget";
|
2024-10-14 10:10:28 +00:00
|
|
|
import { EEWDSWidgets } from "ee/modules/ui-builder/ui/wds";
|
2023-09-06 12:15:04 +00:00
|
|
|
|
2024-01-26 04:00:57 +00:00
|
|
|
const LegacyWidgets = [
|
2023-09-06 12:15:04 +00:00
|
|
|
CanvasWidget,
|
|
|
|
|
SkeletonWidget,
|
|
|
|
|
ContainerWidget,
|
|
|
|
|
TextWidget,
|
|
|
|
|
TableWidget,
|
|
|
|
|
CheckboxWidget,
|
|
|
|
|
RadioGroupWidget,
|
|
|
|
|
ButtonWidget,
|
|
|
|
|
ImageWidget,
|
|
|
|
|
VideoWidget,
|
|
|
|
|
TabsWidget,
|
|
|
|
|
ModalWidget,
|
|
|
|
|
ChartWidget,
|
|
|
|
|
MapWidget,
|
|
|
|
|
RichTextEditorWidget,
|
|
|
|
|
DatePickerWidget2,
|
|
|
|
|
SwitchWidget,
|
|
|
|
|
FormWidget,
|
|
|
|
|
RateWidget,
|
|
|
|
|
IframeWidget,
|
|
|
|
|
TabsMigratorWidget,
|
|
|
|
|
DividerWidget,
|
|
|
|
|
MenuButtonWidget,
|
|
|
|
|
IconButtonWidget,
|
|
|
|
|
CheckboxGroupWidget,
|
|
|
|
|
FilePickerWidgetV2,
|
|
|
|
|
StatboxWidget,
|
|
|
|
|
AudioRecorderWidget,
|
|
|
|
|
DocumentViewerWidget,
|
|
|
|
|
ButtonGroupWidget,
|
|
|
|
|
MultiSelectTreeWidget,
|
|
|
|
|
SingleSelectTreeWidget,
|
|
|
|
|
SwitchGroupWidget,
|
|
|
|
|
AudioWidget,
|
|
|
|
|
ProgressBarWidget,
|
|
|
|
|
CameraWidget,
|
|
|
|
|
MapChartWidget,
|
|
|
|
|
SelectWidget,
|
|
|
|
|
MultiSelectWidgetV2,
|
|
|
|
|
InputWidgetV2,
|
|
|
|
|
PhoneInputWidget,
|
|
|
|
|
CurrencyInputWidget,
|
|
|
|
|
JSONFormWidget,
|
|
|
|
|
TableWidgetV2,
|
|
|
|
|
NumberSliderWidget,
|
|
|
|
|
RangeSliderWidget,
|
|
|
|
|
CategorySliderWidget,
|
|
|
|
|
CodeScannerWidget,
|
|
|
|
|
ListWidgetV2,
|
2023-11-14 04:33:37 +00:00
|
|
|
ExternalWidget,
|
2024-01-26 04:00:57 +00:00
|
|
|
];
|
|
|
|
|
|
|
|
|
|
const DeprecatedWidgets = [
|
|
|
|
|
//Deprecated Widgets
|
|
|
|
|
InputWidget,
|
|
|
|
|
DropdownWidget,
|
|
|
|
|
DatePickerWidget,
|
|
|
|
|
IconWidget,
|
|
|
|
|
FilePickerWidget,
|
|
|
|
|
MultiSelectWidget,
|
|
|
|
|
FormButtonWidget,
|
|
|
|
|
ProgressWidget,
|
|
|
|
|
CircularProgressWidget,
|
|
|
|
|
ListWidget,
|
|
|
|
|
];
|
|
|
|
|
|
|
|
|
|
const WDSWidgets = [
|
2023-10-13 06:13:40 +00:00
|
|
|
WDSButtonWidget,
|
|
|
|
|
WDSInputWidget,
|
|
|
|
|
WDSCheckboxWidget,
|
2023-10-23 16:21:20 +00:00
|
|
|
WDSIconButtonWidget,
|
2023-10-17 09:54:38 +00:00
|
|
|
WDSTableWidget,
|
2023-11-15 12:57:50 +00:00
|
|
|
WDSCurrencyInputWidget,
|
2024-03-04 07:28:11 +00:00
|
|
|
WDSToolbarButtonsWidget,
|
2023-11-21 08:07:48 +00:00
|
|
|
WDSPhoneInputWidget,
|
2023-11-06 08:39:22 +00:00
|
|
|
WDSCheckboxGroupWidget,
|
2024-09-06 07:49:52 +00:00
|
|
|
WDSComboBoxWidget,
|
2023-11-09 09:58:34 +00:00
|
|
|
WDSSwitchWidget,
|
2023-11-20 11:48:09 +00:00
|
|
|
WDSSwitchGroupWidget,
|
2023-11-23 08:21:23 +00:00
|
|
|
WDSRadioGroupWidget,
|
2023-12-06 09:03:38 +00:00
|
|
|
WDSMenuButtonWidget,
|
2023-12-28 06:46:28 +00:00
|
|
|
CustomWidget,
|
2024-08-22 18:18:20 +00:00
|
|
|
WDSSectionWidget,
|
|
|
|
|
WDSZoneWidget,
|
2023-12-22 12:08:00 +00:00
|
|
|
WDSParagraphWidget,
|
|
|
|
|
WDSHeadingWidget,
|
2024-01-26 04:00:57 +00:00
|
|
|
WDSModalWidget,
|
2024-05-27 16:54:03 +00:00
|
|
|
WDSStatsWidget,
|
2024-02-01 08:59:54 +00:00
|
|
|
WDSKeyValueWidget,
|
2024-03-04 07:28:11 +00:00
|
|
|
WDSInlineButtonsWidget,
|
2024-08-27 06:45:45 +00:00
|
|
|
WDSEmailInputWidget,
|
|
|
|
|
WDSPasswordInputWidget,
|
|
|
|
|
WDSNumberInputWidget,
|
|
|
|
|
WDSMultilineInputWidget,
|
feat: add select widget (#35849)
## Description
https://github.com/user-attachments/assets/7516bcd8-7746-485a-a49d-bd19b22833d0
Fixes #35824
> [!WARNING]
> _If no issue exists, please create an issue first, and check with the
maintainers if the issue is valid._
## Automation
/ok-to-test tags="@tag.All"
### :mag: Cypress test results
<!-- This is an auto-generated comment: Cypress test results -->
> [!TIP]
> 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/10663955895>
> Commit: 58d40f7826f125778734f5fda93499e3b78dfcfa
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=10663955895&attempt=2"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.All`
> Spec:
> <hr>Mon, 02 Sep 2024 10:15:26 UTC
<!-- end of auto-generated comment: Cypress test results -->
## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [x] No
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
## Summary by CodeRabbit
- **New Features**
- Introduced the `WDSSelectWidget`, enhancing widget options within the
application.
- Added configuration files to support autocomplete, validation, and
property management for the new select widget.
- Added new icons and thumbnails for input fields, improving UI
component availability.
- **Improvements**
- Streamlined the `Select` component for better usability and clarity.
- Enhanced type definitions for better type safety and clarity in widget
configuration.
- Improved SVG structures for icons and thumbnails, enhancing visual
representation.
- Adjusted styles for the `Select` component, ensuring consistent sizing
and improved icon alignment.
- **Documentation**
- Added central export for configuration modules, simplifying access to
widget settings.
- Updated stories to include new icons and thumbnails, enriching
documentation resources.
- **Bug Fixes**
- Improved validation logic for default options and custom options to
ensure data integrity.
- **Chores**
- Reorganized import statements for better readability and
maintainability across widget files.
- Updated TypeScript configuration for improved module handling.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
---------
Co-authored-by: vadim <vadim@appsmith.com>
Co-authored-by: Pawan Kumar <pawankumar@Pawans-MacBook-Pro-2.local>
2024-09-02 10:30:23 +00:00
|
|
|
WDSSelectWidget,
|
2024-01-26 04:00:57 +00:00
|
|
|
];
|
2023-09-06 12:15:04 +00:00
|
|
|
|
2024-01-26 04:00:57 +00:00
|
|
|
const Widgets = [
|
|
|
|
|
...WDSWidgets,
|
|
|
|
|
...DeprecatedWidgets,
|
|
|
|
|
...LegacyWidgets,
|
2024-10-14 10:10:28 +00:00
|
|
|
...EEWDSWidgets,
|
2023-09-06 12:15:04 +00:00
|
|
|
] as (typeof BaseWidget)[];
|
|
|
|
|
|
|
|
|
|
export default Widgets;
|