We are changing how we maintain meta values in our architecture,
Earlier metaHOC component state was used to store meta values that were debounced and pushed in batch to metaReducer and trigger evaluation.
We remove the metaHOC state and directly update values to metaReducer and trigger evaluation separately via a debouched function.
* - Memoize the expeinsive parts of createUnevalTree
* - Split the generateDataTreeWidget and memoize the expensize part
- Remove stary console statement in MultiSelectWidget
* - Some debugging code, needs to be removed.
* Debugging in progress
* Still debugging
* Still debugging
* Working??
* Jest tests passing, and fast enough
* remove unused imports
* One failing jest test, testing luck with cypress
* Remcoe console statment from jest test
* - Sync with release.
- Comment failing jest test
* Disable a test
* - Clean up
* Final cleanup and documentation
* - Make function and variable names accurate and easy to understand
* Update code comments
Co-authored-by: Satish Gandham <satish@appsmith.com>
* fix: JSONForm missing theming accent color property and few JS enabled inaccessible sourceData/formData properties
* reverted adding of customJSControl JSON_FORM_COMPUTE_VALUE for exisiting properties
* minor revert
* minor fix
* fix: set max-height for Dropdown component
* changes style for date format dropdown
* Combines MultiSelectControl into DropdonwControl
* fix: max height set via props
* fix: popover double scrollbar issue
* fix: styles for chips
* Delete MultiSelectControl
* fix: error when pressing Enter twice
* add tests for multi select & fix some warnings
* removes unwanted test file
* fix: country filtering issue
* address review comments
* fix dropdown for primary columns dropdown
* fix: issue with position
* Adds scrollIntoView when using arrow key for navigation
* fixes issue with scrollbar
* fix: jest tests
* fix: jest test
* fix: flaky cypress test
* fix: height & align issue in Date format selection
* smoothens the scroll
* copy paste commit
* class name generator changes
* modal widget fixes change
* addressing review comments
* bug fix for after deleting a widget by undoing action
* additional fix for modal widget
* additional tests for fixes
* Add platform feature which adds dynamic height property controls and default properties based on widget config
* Move features to the top, so that defaults can override them if necessary
* - Add unit tests to verify that the property controls show up for dynamic height
- Add unit test to verify that the hidden hook in the dynamic height controls work
- Fix console warning for react key unavailable in Generator.tsx
- Move constants and types to their respective files
* Remove dynamic height config from Container Widget
* Add comments in hard to understand areas
* Add function which converts fn validation params to fnString
* feat: When there are multiple input widgets with different label lengths then the input box looks misaligned
-- Create a new property control for a label position
-- Create a new property control for a label alignment
-- Prototype a label section for Input widget
* feat: When there are multiple input widgets with different label lengths then the input box looks misaligned
-- Add a property, labelWidth in the property pane
* feat: Controls for labels in widgets to align the widgets in forms and other places
-- Input widget: Implement all the requirements in case its type is Text
* feat: Controls for labels in widgets to align the widgets in forms and other places
-- Adapt the functionalty on other types of the input widget
* feat: Controls for labels in widgets to align the widgets in forms and other places
-- Add label functionalities into DropdownWidget
-- Clean up for the input widget and DRY
* feat: Controls for labels in widgets to align the widgets in forms and other places
-- Add label functionalities into MultiSelectWidget
-- Eliminate unnecessary component prop, columns
* feat: Controls for labels in widgets to align the widgets in forms and other places
-- Add label functionalties into Tree Select widget
-- Add styles for alignment between lable and input control over the widgets
* feat: Controls for labels in widgets to align the widgets in forms and other places
-- Add label functionalities into MultiSelectTreeWidget
* feat: Controls for labels in widgets to align the widgets in forms and other places
-- Introduce label functionalities into DatePickerWidget2
-- Use width instead of columns prop in InputWidget
* feat: Controls for labels in widgets to align the widgets in forms and other places
-- Apply label functionalities into RichTextEditorWidget
-- Eliminate compactMode from StyledLabel
* feat: Controls for labels in widgets to align the widgets in forms and other places
-- Apply label functionalities into CheckboxGroupWidget
* feat: Controls for labels in widgets to align the widgets in forms and other places
-- Apply label functionalities into SwitchGroupWidget
* feat: Controls for labels in widgets to align the widgets in forms and other places
-- Reimplement switch group for the correct meaning of right alignment
* feat: Controls for labels in widgets to align the widgets in forms and other places
-- Apply label functionalities into RadioGroupWidget
-- Add new properties, alignment and inline for consistency
* feat: Controls for labels in widgets to align the widgets in forms and other places
-- Adjust cols and rows for RadioGroupWidget
* feat: Controls for labels in widgets to align the widgets in forms and other places
-- Eliminate unused StyledRadioProps
* feat: Controls for labels in widgets to align the widgets in forms and other places
-- Complete first MVP of enhanced SwitchGroupWidget
* feat: Controls for labels in widgets to align the widgets in forms and other places
-- Complete the first MVP of enhanced RadioGroupWidget
-- Eliminate unused StyledSwitch component for SwitchGroupWidget
* feat: Controls for labels in widgets to align the widgets in forms and other places
-- Add min-height, align-self rules for LabelContainer
* feat: Controls for labels in widgets to align the widgets in forms and other places
-- Use original label property for RadioGroupWidget
-- Add a migration for adding isInline and alignment properties for RadioGroupWidget
* feat: Controls for labels in widgets to align the widgets in forms and other places
-- Update version to latest one in DSLMigrationsUtils.test.ts
* fix failing jest test
* feat: Controls for labels in widgets to align the widgets in forms and other places
-- Reimplement label functionalities on BaseInputWidget, InputWidgetV2, CurrencyInputWidget, PhoneInputWidget
* feat: Controls for labels in widgets to align the widgets in forms and other places
-- Eliminate unused imports in DSLMigrationsUtils
* feat: Controls for labels in widgets to align the widgets in forms and other places
-- Fix on the label related test case which is failed in Input_spec.js
* feat: Controls for labels in widgets to align the widgets in forms and other places
-- Fix on #10119: The label text truncates on resizing the input widget
* feat: Controls for labels in widgets to align the widgets in forms and other places
-- Fix scroll issue when shrink with MultiSelectWidget and MultiSelectTreeWidget
* fix: Widget Popup test
* feat: Controls for labels in widgets to align the widgets in forms and other places
-- Reimplement width and alginment features on the level of label element
-- Prevent actual inputs from DropdownWidget, MultiSelectWidget, SingleSelectTreeWidget, MultiSelectTreeWidget from overflow when resizing
-- Enable label feature on a RadioGroupWidget
* feat: Controls for labels in widgets to align the widgets in forms and other places
-- Set label container's default width to 33% when width is not set
* feat: Controls for labels in widgets to align the widgets in forms and other places
-- Fix crash issue when labelWidth is filled by non-numeric value, eliminating passing NaN as its value
* feat: Controls for labels in widgets to align the widgets in forms and other places
-- Set flex-grow to zero on input types other than TEXT
* feat: Controls for labels in widgets to align the widgets in forms and other places
-- Implement label features on newly created MultiSelectWidgetV2
* feat: Controls for labels in widgets to align the widgets in forms and other places
-- Eliminate LabelPositionTypes, directly using enum LabelPosition
-- Add a comment for a constant LABEL_MAX_WIDTH_RATE
-- Directly import React for LabelAlignmentOptionsControl
-- Remove unnecessary constructor for LabelAlignmentOptionsControl
-- Define handleAlign instance method as a higher-order function
-- Only migrate alignment property for RadioGroupWidget
-- Use Object.hasOwnProperty instead of in operator
* feat: Controls for labels in widgets to align the widgets in forms and other places
-- Migrate alignment property of RadioGroupWidget in case of currentDSL.version is 52
* feat: Controls for labels in widgets to align the widgets in forms and other places
-- Revert currentDSL.version to 52
* feat: Controls for labels in widgets to align the widgets in forms and other places
-- Add a Jest test case for RadioGroupWidget's alignment property migration
* feat: Controls for labels in widgets to align the widgets in forms and other places
-- Replace all nested ternary operators with if statements
* feat: Controls for labels in widgets to align the widgets in forms and other places
-- Implement label feature on new version of SelectWidget
-- Add Cypress tests for widgets' label section
* feat: Controls for labels in widgets to align the widgets in forms and other places
-- Refactor code for BaseInputWidget
* feat: Controls for labels in widgets to align the widgets in forms and other places
-- Change CSS selector for step buttons for Numeric BaseInputWidget
-- Directly use migrateRadioGroupAlignmentProperty migration function without using transformDSL
* feat: Controls for labels in widgets to align the widgets in forms and other places
-- Fix on typo about migrateRadioGroupAlignmentProperty
* feat: Controls for labels in widgets to align the widgets in forms and other places
-- Add data-testid attributes for Cypress selectors
* feat: Deprecate form button widget
-- Assert flex-direction to row in CheckboxGroup_spec.js
* feat: Controls for labels in widgets to align the widgets in forms and other places
-- Add a missing data-testid for SelectWidget
* feat: Controls for labels in widgets to align the widgets in forms and other places
-- Fix on failed test cases: CheckboxGroup_spec, DatePicker_2_spec, MultiSelectWidgetV2
* fix: Select popup DSL
* feat: Controls for labels in widgets to align the widgets in forms and other places
-- Create a new property control, NumericInputControl
-- Replace all the label properties with the newly created controls
* feat: Controls for labels in widgets to align the widgets in forms and other places
-- Create a new Cypress command, checkLabelWidth and apply to all related test cases
-- Increase width in checkboxgroupDsl.json
-- Rename className for label in MultiSelectWidgetV2
* feat: Controls for labels in widgets to align the widgets in forms and other places
-- Reimplement the tooltip feature for labels
-- Add missing props for labels in DateField, MultiSelectField, RadioGroupField, SelectField fields for JSONFormWidget
* feat: Controls for labels in widgets to align the widgets in forms and other places
-- Refactor property controls, including LabelPositionOptionsControl, LabelAlignmentOptionsControl, NumericInputControl to keep consistency
-- Apply default values into label section
* feat: Controls for labels in widgets to align the widgets in forms and other places
-- Extract the label related parts from the various widgets as an independent component
* feat: Controls for labels in widgets to align the widgets in forms and other places
-- Eliminate TypeScript any type from BaseInputComponent
* feat: Controls for labels in widgets to align the widgets in forms and other places
-- Change labelPosition property type to DROP_DOWN
-- Modify LabelAlignmentOptionsControl to use ButtonTabComponent
* feat: Controls for labels in widgets to align the widgets in forms and other places
-- Define getLabelWidth method into BaseWidget
-- Extract the common CSS rules for the widget containers
-- Revert rows and columns for SwitchGroupWidget
* feat: Controls for labels in widgets to align the widgets in forms and other places
-- Fix on the failed test case in DSLMigrationsUtils.test.ts
* feat: Controls for labels in widgets to align the widgets in forms and other places
-- Fix on overflow issue on CheckboxGroupWidget
-- Create a distinctive spec file for label feature
-- Eliminate the redundant label specs with the relevant widgets
* feat: Controls for labels in widgets to align the widgets in forms and other places
-- Delete unnecessary files, including Select_spec.js, LabelButton.tsx and LabelPositionOptionsControl.tsx
-- Revise wrong comment for checkLabelForWidget Cypress command
* feat: Controls for labels in widgets to align the widgets in forms and other places
-- Do not set the label width only if its value is 0
-- Clean up the component for DatePickerWidget2
* feat: Controls for labels in widgets to align the widgets in forms and other places
-- Eliminate unused imports in DatePickerWidget2
* feat: Controls for labels in widgets to align the widgets in forms and other places
-- Make RadioGroupWidget's layout flexible in all modes
* feat: Controls for labels in widgets to align the widgets in forms and other places
-- Fix on Cypress test case for RadioGroupWidget in Widgets_Labels_spec
-- Change Cypress commands, including addAction, addSuccessMessage, enterActionValue to accept parentSelector
* feat: Controls for labels in widgets to align the widgets in forms and other places
-- Change getLabelWidth method to not have any argument
-- Define some constants for label numbers
-- Extract the common styles for SwitchGroupWidget and RadioGroupWidget
* feat: Controls for labels in widgets to align the widgets in forms and other places
-- Refactor some constants
* feat: Controls for labels in widgets to align the widgets in forms and other places
-- Eliminate unused width prop from RadioGroupWidget
-- Get labelWidth from getLabelWidth
* feat: Controls for labels in widgets to align the widgets in forms and other places
-- Eliminate the min-height restriction on a label
-- Eliminate the scroll on the earlier InputWidgetV2 which was not in compact mode
* feat: Controls for labels in widgets to align the widgets in forms and other places
-- Add one more condition checking if the current input type is text
* feat: Controls for labels in widgets to align the widgets in forms and other places
-- Extract common code base for MultiSelectTreeWidget and MultiSelectWidgetV2
-- Apply a few CSS fixes on the scrollbar issue select related widgets
* feat: Controls for labels in widgets to align the widgets in forms and other places
-- Apply some tweaks for earlier widgets with labels so as not to be broken UX
* feat: Controls for labels in widgets to align the widgets in forms and other places
-- Fix on the failed Cypress test case in Widget_Popup_spec.js
* feat: Controls for labels in widgets to align the widgets in forms and other places
-- Add constants, LABEL_DEFAULT_WIDTH_RATE, SELECT_DEFAULT_HEIGHT, LABEL_MARGIN_OLD_SELECT
* feat: Controls for labels in widgets to align the widgets in forms and other places
-- Increase the widths of CheckboxGroupWidget and SwitchGroupWidget
* feat: Controls for labels in widgets to align the widgets in forms and other places
-- Set the font size to 14px for NumericInputControl
Co-authored-by: ohansFavour <fohanekwu@gmail.com>
Co-authored-by: Tolulope Adetula <31691737+Tooluloope@users.noreply.github.com>
* Moving out non persistent state out of DSL
* replacing canvas width seector
* converting to immerReducer
* adding TODO and more immer reducer changes
* Implemented code splitting of some files for SAML integration
* Implemented code splitting of some more files for SAML integration
* updated redirect url component
* fixed an import statement
* fixed a unit test
* updated restart banner tooltip logic
* updated an import statement
* fix: select widget virtualization
* fix: use max height of renderMenuItem
* fix: make height a constant
* fix: variable name
* fixed spec
Co-authored-by: Ashit Rath <ashit@appsmith.com>
* fix: Form widget should include the following widgets in data property when added in form
-- Add value props to the widgets, including CheckboxGroupWidget, MultiSelectTreeWidget, MultiSelectWidgetV2, SingleSelectTreeWidget, SwitchGroupWidget
-- Add the corresponding Cypress test case
* fix: Form widget should include the following widgets in data property when added in form
-- Set the value meta propperty for PhoneInputWidget to empty string by default
* fix: Form widget should include the following widgets in data property when added in form
-- Include PhoneInputWidget for test
* fix: Form widget should include the following widgets in data property when added in form
-- Add InputWidgetV2 and CurrencyInputWidget
* fix: Form widget should include the following widgets in data property when added in form
-- Add SelectWidget for assertion
* fix: Form widget should include the following widgets in data property when added in form
-- Wait for @updateLayout
Co-authored-by: Somangshu Goswami <somangshu.goswami1508@gmail.com>
* feat: Progress bar widget enhancements
-- Scaffold the widget for the first time
* feat: Progress bar widget enhancements
-- Change widget icon
* feat: Progress bar widget enhancements
-- Build property pane
* feat: Progress bar widget enhancements
-- Add a missing property, counterClockwise
-- Rename some properties
* feat: Progress bar widget enhancements
-- Build the first MVP of the widget
* feat: Progress bar widget enhancements
-- Reset rows to 4
* feat: Progress bar widget enhancements
-- Add Cypress test cases
* feat: Progress bar widget enhancements
-- Limit value by ranging from 0 to 100
* feat: Progress bar widget enhancements
-- Make isIndeterminate property not to be JS convertible
-- Hide progress bar and circular progress widget icon from entity explorer
* feat: Progress bar widget enhancements
-- Place indeterminate circular progress to be 100% fit into the container
* feat: Progress bar widget enhancements
-- Show result without rounding for the circular type
* feat: Progress bar widget enhancements
-- Comment out ProgressBar_spec.js
* feat: Progress bar widget enhancements
-- Remove circular progress and progressbar widgets from allowed list for list widget
* feat: Progress bar widget enhancements
-- Move ProgressBar_spec into CommentedScriptFiles directory
* fix: Button group widget's pop-over/drop-down enlarged along the width
-- Implement dynamic width calculation
* fix: Button group widget's pop-over/drop-down enlarged along the width
-- Add corresponding Cypress test cases
* fix: Button group widget's pop-over/drop-down enlarged along the width
-- Add min-width CSS property for popover
* fix: Button group widget's pop-over/drop-down enlarged along the width
-- Add a comment for minPopoverWidth
* fix: Button group widget's pop-over/drop-down enlarged along the width
-- Remove the comment for minPopoverWidth
* feat: Button group widget's pop-over/drop-down enlarged along the width
-- update the state variable, itemWidths inside setTimeout to access the updated DOM
* fix: Button gruop widget's pop-over/drop-down enlarged along the width
-- Refine update logic
* fix: Button group widget's pop-over/drop-down enlarged along the width
-- Make code DRY by creating createMenuButtonRefs and getMenuButtonWidths methods
* fix: Button group widget's popover/dropdown enlarged along the width
-- Make every popover class name unique
* fix: Button group widget's pop-over/drop-down enlarged along the width
-- Rewrite Cypress test
* fix: Button group widget's pop-over/drop-down enlarged along the width
-- Eliminate unnecessary test case from ButtonGroup_spec
* fix: Switch group widget is crashed when selectedValues is undefined
-- Make selected prop for the component to return empty array if its value is falsy
* fix: Switch group widget is crashed when selectedValues is undefined
-- Add a Cypress test for the fix
* initial layout
* updated parser to support nested array
* array field rendering
* changes
* ts fix
* minor revert FormWidget
* modified schema structure
* select and switch fields
* added checkbox field
* added RadioGroupField
* partial DateField and defaults, typing refactoring
* added label and field type change
* minor ts changes
* changes
* modified widget/utils for nested panelConfig, modified schema to object approach
* array/object label support
* hide field configuration when children not present
* added tooltip
* field visibility option
* disabled state
* upgraded tslib, form initial values
* custom field configuration - add/hide/edit
* field configuration - label change
* return input when field configuration reaches max depth
* minor changes
* form - scroll, fixedfooter, enitity defn and other minior changes
* form title
* unregister on unmount
* fixes
* zero state
* fix field padding
* patched updating form values, removed linting warnings
* configured action buttons
* minor fix
* minor change
* property pane - sort fields in field configuration
* refactor include all properties
* checkbox properties
* date properties
* refactor typings and radio group properties
* switch, multselect, select, array, object properties
* minor changes
* default value
* ts fixes
* checkbox field properties implementation
* date field prop implementation
* switch field
* select field and fix deep nested meta properties
* multiselect implementation
* minor change
* input field implementation
* fix position jump on field type change
* initial accordian
* field state property and auto-complete of JSONFormComputeControl
* merge fixes
* renamed FormBuilder to JSONForm
* source data validation minor change
* custom field default value fix
* Editable keys for custom field
* minor fixes
* replaced useFieldArray with custom logic, added widget icon
* array and object accordian with border/background styling
* minor change
* disabled states for array and objects
* default value minor fix
* form level styles
* modified logic for isDisabled for array and object, added disabledWhenInvalid, exposed isValid to fieldState for text input, removed useDisableChildren
* added isValid for all field types
* fixed reset to default values
* debounce form values update
* minor change
* minor change
* fix crash - source data change multi-select to array, fix crash - change of options
* fix positioning
* detect date type in source data
* fix crash - when object is passed to regex input field
* fixed default sourceData path for fields
* accodion keep children mounted on collapse
* jest test for schemaParser
* widget/helper and useRegisterFieldInvalid test
* tests for property config helper and generatePanelPropertyConfig
* fix input field validation not appearing
* fix date field type detection
* rename data -> formData
* handle null/undefined field value change in sourceData
* added null/undefined as valid values for defaultValue text field
* auto detect email field
* set formData default value on initial load
* switch field inline positioning
* field margin fix for row direction
* select full width
* fiex date field default value - out of range
* fix any field type to array
* array default value logic change
* base cypress test changes
* initial json form render cy test
* key sanitization
* fix fieldState update logic
* required design, object/array background color, accordion changes, fix - add new custom field
* minor change
* cypress tests
* fix date formatted value, field state cypress test
* cypress - field properties test and fixes
* rename test file
* fix accessort change to blank value, cypress tests
* fix array field default value for modified accessor
* minor fix
* added animate loading
* fix empty state, add new custom field
* test data fix
* fix warnings
* fix timePrecision visibility
* button styling
* ported input v2
* fix jest tests
* fix cypress tests
* perf changes
* perf improvement
* added comments
* multiselect changes
* input field perf refactor
* array field, object field refactor performance
* checkbox field refactor
* refectored date, radio, select and switch
* fixes
* test fixes
* fixes
* minor fix
* rename field renderer
* remove tracked fieldRenderer field
* cypress test fixes
* cypress changes
* array default value fixes
* arrayfield passedDefaultValue
* auto enabled JS mode for few properties, reverted swith and date property controls
* cypress changes
* added widget sniping mode and fixed object passedDefaultValue
* multiselect v2
* select v2
* fix jest tests
* test fixes
* field limit
* rename field type dropdown texts
* field type changes fixes
* jest fixes
* loading state submit button
* default source data for new widget
* modify limit message
* multiseelct default value changes and cypress fix
* select default value
* keep default value intact on field type change
* TextTable cypress text fix
* review changes
* fixed footer changes
* collapse styles section by default
* fixed footer changes
* form modes
* custom field key rentention
* fixed footer fix in view mode
* non ascii characters
* fix meta merge in dataTreeWidget
* minor fixes
* rename useRegisterFieldInvalid.ts -> useRegisterFieldValidity.ts
* modified dependency injection into evaluated values
* refactored fixedfooter logic
* minor change
* accessor update
* minor change
* fixes
* QA fixes date field, scroll content
* fix phone number field, removed visiblity option from array item
* fix sourceData autocomplete
* reset logic
* fix multiselect reset
* form values hydration on widget drag
* code review changes
* reverted order of merge dataTreeWidget
* fixes
* added button titles, fixed hydration issue
* default value fixes
* upgraded react hook form, modified array-level/field-level default value logic
* fixed select validation
* added icon entity explorer, modified icon align control
* modify accessor validation for mongo db _id
* update email field regex
* review changes
* explicitly handle empty source data validation
* fix - List widget inconsistent pageSize value
* consider data list length to calculate average gap
* update listdsl for List_spec
* minor change
* fix this.props.children mutation
* fix gridGap calculation
* minor spec change
* update listwidgetdsl.json
* reverted dsl update
* minor test dsl update
* minor averageGridGap calc fix
* minor change
* updated List_spec
* minor change
- Derived properties of List widget children won't work. so having the text
property of the Input widget as a derived property causes issues. hence
having it as a meta property.
* fix: onSubmit gets triggered before evaluation
-- Enforce to update text meta property before trigger the submit action
* fix: onSubmit gets triggered before evaluation
-- Add a comment and a Cypress test on the fix
* fix: onSubmit gets triggered before evaluation
-- Fix on the failed test case
* fix: onSubmit gets triggered before evaluation
-- Rewrite comments
-- Rewrite the test case to fail if we revert changes
* fix: Iput widget onSubmit gets triggered before evaluation
-- Update a common property, isDirty
* fix: Select dropdown width overflow
* fix: dropdown overflow in MultiTreeSelect widget
* fix: Multi tree select and Add filter input
* fix: tree select dropdown
* Fix: Select icons on explorer and Fix invlaid state of widgets
* fix: remove redundant style
* fix: build failure
* fix: build failure
* fix: yarn issues
* fix: build issue
* fix: remove labels from select widgets
* fix: dropdown width issue in compact mode
* fix: remove the close icon in the filter bar when there's no text
* fix: Filter bar should also follow the same min width as the widget.
* fix: add tooltip to show hover when text is truncated
* fix: Add audio widget to entity explorer
* Fix: failing tests and searching on Select widget
* fix: PR reviews
* fix: isDirty only when value changes
* fix: focus state of treeselect
* fix: remove default focus state and make filter get focus on open
* fix: focused Item when opened
* fix: No ellipsis found in Select widget when URL is an option
* fix: Icon Alignment changes automatically every time when icon is changed in Menu Widget
-- Add iconAlign property as a dependency for iconName property
* fix: Icon Alignment changes automatically every time when icon is changed in Menu Widget
-- Add a Cypress test case to ensure the fix
* fix: Icon alignment changes automatically every time the icon is changed in Menu button widget
-- Fix on a broken Cypress test, setting force to true
* feature: add tooltip to column header text which overflows (#10495)
* remove unused import
* feature: add tooltip to column header text which overflows (#10495)
* remove unused styled components
* remove unused import
* feature: add tooltip to column header text which overflows (#10495)
* remove unused styled components
* remove unused import
* Fix cypress command to handle the new changes
* Fix cypress command to handle the new changes
* Fix cypress command to handle the new changes
* Fix: test issues
Co-authored-by: Tolulope Adetula <31691737+Tooluloope@users.noreply.github.com>
-- Make isDirty to a meta property, followed by code refactoring
-- Reset isDirty only if default value changes
-- Recursively check if the form has changes, even considering nested case
-- Implement dirty check logic for a form
-- Expose an form property, hasChanges for checking if the user has changed any values in the form
-- Add isDirty derived property for the following widgets: AudioRecorderWidget, CameraWidget, CheckboxGroupWidget, CheckboxWidget, CurrencyInputWidget, DatePickerWidget2, FilePickerWidgetV2, InputWidgetV2, MultiSelectTreeWidget, MultiSelectWidgetV2, PhoneInputWidget, RadioGroupWidget, RichTextEditorWidget, SelectWidget, SingleSelectTreeWidget, SwitchGroupWidget, SwitchWidget
* fix: Select widget accept string and object
* fix: JSON object case
* Fix: make Multiselect Defaukt option Array of strings
* fix: Select and Multiselect
* fixes and test cases
* comments
* fix: Select option value
* fix: mutiselect and test case
* fix: failing test
* fix: reset select widget
* fix: PR issues
* fix: Select widget Reset
* fix: failing Test
* fix: test
* fix: tests
* FIX: EVALUATION TESTS
* fix: getting Select Value in form
* fix: Test cases
* fix: add more test cases
Co-authored-by: balajisoundar <balaji@appsmith.com>
* Added boundaryParent prop to Propperto prevent table filter pane overflow.
* Review Changes, done.
* Resolved overflow issue with multiple pages.
* Removed hardcoded Top value while dragging.
* Added parentElement as a function parameter.
* fix: Issues and Enhancements in the camera widget
-- Fix on an image stretching issue when taking a picture
-- Set background to black
-- Add onImageSave, onVideoSave Actions
-- Rename Camera to Image
* fix: Issues and Enhancements in the camera widget
-- List all device info only when one or more MediaStreams are active
* fix: Issues and Enhancements in the camera widget
-- Always keep camera aspect ratio when resizing
* fix: Issues and Enhancements in the camera widget
-- Add a Cypress test case for onSaveImage property
* Increased wait!
* Camera case failure locator fix
* Camera case locator fix
* Promises restWidget moved to last!
Co-authored-by: Aishwarya UR <aishwarya@appsmith.com>
* refactor admin settings feature
* separated save-restart bar to separate component
* created new CE dir to facilitate code split
* created separate ee dir and exporting everything we have in ce file.
* little mod
* minor fix
* splitting settings types config
* using object literals for category types instead of enums
* CE: support use of component for each category
* minor style fix
* authentication page UI changes implemented
* github signup doc url added back
* removed comments
* routing updates
* made subcategories listing in left pane optional
* added muted saml to auth listing
* added breadcrumbs and enabled button
* created separate component for auth page and auth config
* added callout and disconnect components
* updated breadcrumbs component
* minor updates to common components
* updated warning callout and added icon
* ce: test cases fixed
* updated test file name
* warning banner callout added on auth page
* updated callout banner for form login
* CE: Split config files
* CE: moved the window declaration in EE file as its dependency will be updated in EE
* CE: Splitting ApiConstants and SocialLogin constants
* CE: split login page
* CE: moved getSocialLoginButtonProps func to EE file as it's dependencies will be updated in EE
* added key icon
* CE: created a factory class to share social auths list
* Minor style fix for social btns
* Updated the third party auth styles
* Small fixes to styling
* ce: splitting forms constants
* breadcrumbs implemented for all pages in admin settings
* Settings breadcrumbs separated
* splitted settings breadcrumbs between ce and ee
* renamed default import
* minor style fix
* added login form config.
* updated login/signup pages to use form login disabled config
* removed common functionality outside
* implemented breadcrumb component from scratch without using blueprint
* removed unwanted code
* Small style update
* updated breadcrumb categories file name and breadcrumb icon
* added cypress tests for admin settings auth page
* added comments
* update locator for upgrade button
* added link for intercom on upgrade button
* removed unnecessary file
* minor style fix
* style fix for auth option cards
* split messages constant
* fixed imports for message constants splitting.
* added message constants
* updated unit test cases
* fixed messages import in cypress index
* fixed messages import again, cypress fails to read re-exported objs.
* added OIDC auth method on authentication page
* updated import statements from ee to @appsmith
* removed dead code
* updated read more link UI
* PR comments fixes
* some UI fixes
* used color and fonts from theme
* fixed some imports
* fixed some imports
* removed warning imports
* updated OIDC logo and auth method desc copies
* css changes
* css changes
* css changes
* updated cypress test for breadcrumb
* moved callout component to ads as calloutv2
* UI changes for form fields
* updated css for spacing between form fields
* added sub-text on auth pages
* added active class for breadcrumb item
* added config for disable signup toggle and fixed UI issues of restart banner
* fixed admin settings page bugs
* assigned true as default state for signup
* fixed messages import statements
* updated code for PR comments related suggestions
* reverted file path change in cypress support
* updated cypress test
* updated cypress test
Co-authored-by: Ankita Kinger <ankita@appsmith.com>
- When the user removes an expression from the validation property of
input widget, its value becomes `""`. And in boolean validation
function we treat this empty string as false. so Input widget
ends up with isValid false and we show an error border around the
Input. so we are setting a default value true, so when there is
no expression it evaluates to true.
* fix: Map pin does not center when location is changed and centering option is turned on
-- Update center meta property when defaultMarkers or mapCenter properties were changed
* fix: Map pin does not center when location is changed and centering option is turned on
-- Force the last marker to be centered
* Rearrange data tree widget factory
* Remove existing handling of default value override
* Altternate way of meta property override
* Fix tests
Co-authored-by: hetunandu <hetu@appsmith.com>
* fix: changed validation to FUNCTION for the default selected value RadioGroupWidget
* refactor: changed evalued struct msg for radio group default value
* test: added cypress test for checking radiogroup widget with integer value
* test: added jest test to validate the defaultValidation function for radio widget
* refactor: changed the test case title
* chore: updated yarn.lock file
* refactor: addressed the review comments
* refactor: added comment for defaultOptionValidation
* refactor: changed the expected example [QA comment]
* fix: added validationOperationType prop
* Revert "fix: added validationOperationType prop"
This reverts commit 896226fe940621c2c71aa8a9e87831039a9655de.
* fix: added custom validation for the options property
* fix: modififed the custom validation logic
* refactor: modified the cypress test
* refactor: addressed review comments
* refactor: addressed review comments
* refactor: addressed review comments; Updated custom validation for DSV; Update cypress
* refactor: added boolean check for the default selected value
* refactor: addressed review comments
* test: fixed jest test case
* fix: changed cap default to fix ux issue on js toggle
* fix: hard check on capSide hide
* fix: always show capSide if dynamic capType
* docs: label, help text update
* fix: remove hidden condition
* fix: When all the rows are hidden the user must not be displayed with number of records or pages in the Deploy mode
-- Make header options JS convertible
* fix: When all the rows are hidden the user must not be displayed with number of records or pages in the Deploy mode
-- Fix a broken test case accordingly
* resize n reflow rough cut
* removing warnings
* relatively stable changes
* minor bug fix
* reflow relative collision
* working dp cut
* fix for reflow of widgets closer next to each other
* disabling scroll
* Drag with reflow
* reflow fix
* overlap and retracing fix
* On Drop updates.
* bug when no displacement but resize update.
* temp fix for new widget addition.
* reflow bug fixes
* new widget addition bug.
* stop reflow on leave.
* fix corner case overlap
* update bottom row when reflowed widgets go beyond bottom boundary.
* capture mouse positions on enter
* enable container jumps with faster mouse movements.
* reflow only for snap changes.
* restructured reflow Algorithm
* collision check and bug fixes
* undo redo fix for new widget drop
* resizable fix snapRows fix
* directional stability
* self collision fix
* first round of perf fixes
* update bottom row while resizing and resize-reflowing
* performance fix and overlapping fix
* Remove eslint warning
* remove eslint warning
* eslint warning
* can reflowed Drop Indication Stability
* container jumps and force direction on entering canvas
* fixing scroll on resize jitters.
* reflow when jumping into container.
* reflow ux fixes while leaving container
* resizing fixes.
* fixes for edge move.
* restrict container jumps into reflowed containers.
* container jump direction reflow
* checkbox dimensions fix.
* Excess bottom rows not lost post dragging or resizing widgets.
* fixing the after drop css glitch.
* double first move trigger bug fix.
* stop reflow only if reflowing
* stabilize container exit directions
* using acceleration and speed instead of movement covered to restrict reflow.
* fixing modal drops.
* remove warnings.
* reflow resize styles
* moving acceleration and movement logic to a monitoring effect.
* adding beta flag for reflow.
* fixing jest tests
* Adding analytics to beta flag toggle.
* Adding placeholder for reflow beta screens.
* fixing initial load's screen
* few more crashes.
* force close onboarding for the session.
* fixing bugs in reset canvas.
* Beta flag bug fixes.
* fixing bugs.
* restrict reflow screens during onboarding.
* disabling reflow screens in tests.
* code review comments.
* fixing store based specs.
* fixing cypress failures.
* fixing specs.
* code cleanup
* reverting yarn lock changes
* removing onboarding screens.
* more cleanup and function descriptors
* keeping reflow under the hood.
Co-authored-by: rahulramesha <rahul@appsmith.com>
Co-authored-by: Arpit Mohan <arpit@appsmith.com>
* feat: Tab widget should have navigation arrows when the tabs don't fit
-- Add scroll navigation control
* feat: Tab widget should have navigation arrows when the tabs don't fit
-- Divide tabs navigator control into both sides of contents
* feat: Tab widget should have navigation arrows when the tabs don't fit
-- Implement navigation per slide
* feat: Tab widget should have navigation arrows when the tabs don't fit
-- Refactor on useEffect dependencies and some calculations
-- Introduce if-else statement for readability and consistency
* feat: Tab widget should have navigation arrows when the tabs don't fit
-- Add class names for scroll navigation controls
-- Narrow the width of Tab widget in dsl
-- Add a Cypress test case for checking the presence of scroll navigation controls
Co-authored-by: Arpit Mohan <arpit@appsmith.com>
* feat: Checkbox group should have a select all option
-- Add a new property, isSelectAll
-- Implement its functionality
* feat: Checkbox group should have a select all option
-- Set height to auto for select all control
-- Move isInline and isSelectAll properties below isDisabled
-- Set color for options to GREY_9 and GREY_10
-- Add Cypress test cases for handleSelectAllChange
* feat: Checkbox group should have a select all option
-- Fix on misalignment of select all control if isInline is true
-- Refactor the cypress test cases which is affected by adding select all control
* feat: Checkbox group should have a select all option
-- Set white-space to nowrap
* feat: Checkbox group widget should have a select all option
-- Change helpText for isSelectAll property
* feat: Checkbox group should have a select all option
-- Fix on broken test cases for the select all option
Co-authored-by: Arpit Mohan <arpit@appsmith.com>
* FEATURE-6314 : Map Chart Widget
-- Scaffold the widget
* FEATURE-6314 : Map Chart Widget
-- Add a new widget icon
-- Proptotype the property pane for the first time
* FEATURE-6314 : Map Chart Widget
-- Install fusionmaps
-- Draw naive world map for the PoC
* FEATURE-6314 : Map Chart Widget
-- Integrate the limited number of FusionMaps into the widget
-- Bind basic properties and a action into the map
* FEATURE-6314 : Map Chart Widget
-- Comment out the console statements for linting error
* FEATURE-6314 : Map Chart Widget
-- Update dependency versioning
* feat: Map Chart Widget
-- Fix on linting errors, including unused variables, console statement
* Feat: Map Chart Widget
-- Install dependencies from scratch
* fix: increased max chink size allowed in the build config
* Feat: Map Chart Widget
-- Refactor code base according to the changed widget structure
-- Add cleanup for removing event listener
-- Eliminate the unnecessary codes, comments
* Feat: Map Chart Widget
-- Remove unnecessary icon
-- Refactor on constants
* Feat: Map Chart Widget
-- Add a cypress test case for map type changes
-- Add a cypress test case for title change
-- Add a cypress test case for toggling show labels
-- Add a cypress test case for onEntityClick event listener
* feat: Map Chart Widget
-- Scaffold the setup for custom map config
* feat: Map Chart Widget
-- Dynamically import map definition files
* feat: Map Chart Widget
-- Eliminate unnecessary comments
* feat: Fusion Maps Widget
-- Update base dependencies
* partial map chart changes.
* feat: Map Chart Widget
-- Refactor entire code base, removing custom configs
-- Disable prefetching on mapCharts chunk
* feat: Map Chart Widget
-- Comment onEntityClick test case out
* feat: Map Chart Widget
-- Fix on onEntityClick test case
* feat: Map Chart Widget
-- Change the widget icon
-- Rename onEnityClick to onDataPointClick
-- Expose selectedDataPoint
-- Add a new Cypress test case for the toast message on onDataPointClick
* feat: Map Chart Widget
-- Add a new property colorRange
-- Add default values for data and colorRange properties
-- Eliminate unnecessary constant colorRange
* feat: Map Chart Widget
-- update selectedDataPoint meta property unconditionally
* feat: Map Chart Widget
-- Update initial map type config to be consistent with the corresponding property
* feat: Map Chart Widget
-- Add widget icon for entity explorer
* feat: Map Chart Widget
-- Make array elements of data, colorRange properties unique
* feat: Map Chart Widget
-- Prevent re-render when disabling color codes and double-clicking on entities
* feat: Map Chart Widget
-- Declare defaultChartConfigs variable inside component class
-- Replace deprecated substr method with substring
* feat: Map Chart widget
-- Complement validation rules for data property
* feat: Map Chart widget
-- Define rows and cols without using GRID_DENSITY_MIGRATION_V1
-- Change updateDataSet hook by replacing switch statement with object mapping
* feat: Map Chart widget
-- Pull out dataSetMapping from the updateDataSet hook
* feat: Map Chart widget
-- Force click events with regard to onDataPointClick test cases
* feat: Map Chart widget
-- Update fusioncharts and fusionmaps npm packages to the latest version
* feat: Map Chart widget
-- Make contents responsive using CSS styles instead of directly changing width, height attributes of the chart
Co-authored-by: somangshu <somangshu.goswami1508@gmail.com>
Co-authored-by: Ashok Kumar M <35134347+marks0351@users.noreply.github.com>
Co-authored-by: Arpit Mohan <arpit@appsmith.com>
* added config to support code split
* splitting config
* moved the window declaration in EE file as its dependency will be updated in EE
* CE: Splitting ApiConstants and SocialLogin constants
* CE: split login page
* CE: moved getSocialLoginButtonProps func to EE file as it's dependencies will be updated in EE
* added key icon
* CE: created a factory class to share social auths list
* Minor style fix for social btns
* Updated the third party auth styles
* updated jest config
* updated third party login registry class
* feat: support iframe.srcdoc in iframe widget
-- Add a new property srcDoc and its change handler
-- Rename handlers
* feat: Support iframe.srcdoc in iframe widget
-- Show error messages only if there are no both of URL and inline HTML
Co-authored-by: Arpit Mohan <arpit@appsmith.com>
* feat: #4141 added truncate support into text widget
* fix: updated truncate show logic, cypress added
* fix: updated ellipsis position
Co-authored-by: bhavin <techbhavin@gmail.com>
* Change recaptcha key and type and add suggestion for recaptchatoken
* Add recaptchaToken property as target for auto completion cypress tests
* Added cypress test to validate recaptcha v2 can be selected in button widget property pane
Co-authored-by: Arpit Mohan <arpit@appsmith.com>
- Checkbox group widget
- MultiSelecttree widget
- Multiselect widget
- dropdown widget
- radio group widget
- single select tree
- switch group widget
* Fix currency number formating and add unit tests
* Fix Input currency type cypress test
* Fix currency number formating and add unit tests
* Fix Input currency type cypress test
* Add comments for utilities formatCurrencyNumber and limitDecimalValue
* Fix currency number formating and add unit tests
* Fix Input currency type cypress test
* Fix Input currency type cypress test
* Add comments for utilities formatCurrencyNumber and limitDecimalValue
* Fix upstep and downstep button action for formated currency input
* remove crendentials from cypress.json
* Fix input currency test flakiness
* Fix cypress test for currency input type
Fix formatCurrencyNumber function and added more unit tests
* Fix cypress test for currency input
Handle group separator and decimal separator when formatting and deformatting input for currency type
* remove console.log
* Handle formatting changes for default text
* Format input widget value for currency to handle default text
* remove unused import
* Add unit tests for getGroupSeparator and getDecimalSeparator functions
* add function to get user locale
* use preventDefault in input increment/decrement button click
* Use getLocale function, use String function
* use Number function for type conversion
* fix number to string type
* Handle 0 value for numbers
Co-authored-by: Arpit Mohan <arpit@appsmith.com>
* disable submit button when date is out of bounds
* Remove comment from derived.js function as comments are not allowed for parsing
* Fix table client side search cypress test
* validate date again min/max irrespective of isRequired property
* feat: Camera Widget
-- Scaffold the basic structure of the widget
* feat: Camera Widget
-- Prototype a feature, taking picture
* feat: Camera Widget
-- Add types for MediaRecorder
-- Define media capture status and action types
-- Prototype basic video recording, playing features
* feat: Camera Widget
-- Implement video player
-- Add timer for recording and playing video
-- Add permission and error handling logic
-- Add device selectors
* feat: Camera Widget
-- Place control buttons above device inputs layer
-- Make the widget fully responsive
* feat: Camera Widget
-- Change the color of caret-down icon to white
-- Remove overlaying of web cam and video player
-- Add some padding for device inputs
* feat: Camera Widget
-- Add black background to the container of the widget
* feat: Camera Widget
-- Change the widget icon
* feat: Camera Widget
-- Implement the mute feature of a mic or a camera
* feat: Camera Widget
-- Check media device permissions before getting started
* feat: Camera Widget
-- Add a fullscreen control
* feat: Camera Widget
-- Set error text color to white
-- Change the layout of control panel
* feat: Camera Widget
-- Apply layout change for control panel according to app layout change
* feat: Camera Widget
-- Add a new derived property, videoURL
* feat: Switch Group Widget
-- Adopt theme changes
* feat: Camera Widget
-- Make background grey in case of both error and disabled status
* feat: Camera Widget
-- Update npm dependencies
* feat: Camera Widget
-- Fix on #8788, using muted property
* feat: Camera Widget
-- Show off the microphone setting icon only if the current mode is video
-- Set isMirrored property to true by default
* feat: Camera Widget
-- Add photo viewer
* feat: Camera Widget
-- Add onImageCapture, onRecordingStart, onRecordingStop actions instead of onMediaCapture
* feat: Camera Widget
-- Expose meta properties for the widget
* feat: Camera Widget
-- Fix on responsiveness issue
* feat: Camera Widget
-- Add type definitions for MediaStream recording
* feat: Camera Widget
-- Hide isMirroed property for video mode
* feat: Camera Widget
-- Wrap all the controls with TooltipComponent
* feat: Camera Widget
-- Implement enter, exit full screen feature
* feat: Camera Widget
-- Add a widget icon for entity explorer
* feat: Camera Widget
-- Fix on the typo for the label of onRecordingStop property
* feat: Camera Widget
-- Enable/disable media tracks
* feat: Camera Widget
-- Set the video's height to 100% in fullscreen mode
* feat: Camera Widget
-- Add overlayers on Webcam
* feat: Camera Widget
-- Set position to relative on fullscreen wrapper div
-- Set the photo viewer's height to 100%
* feat: Camera Widget
-- Add image, mediaCaptureStatus, timer meta properties to keep UI states when the widget is dragged
* feat: Camera Widget
-- Refactor code base, eliminating commented code blocks
* feat: Camera Widget
-- Revert all the changes needed for keeping status when the widget is dragged
-- Set mirroed property to false for video mode
* fix: Table widget's filter pop-up does not collapse on opening a modal
-- Dispatch an action for closing the table filter pane when a modal is opened
* fix: Table widget's filter pop-up does not collapse on opening a modal
-- Add the Cypress test case
Co-authored-by: Arpit Mohan <arpit@appsmith.com>
* Fix: Audio recorder widget styling property needs to be categorized under Styles not General
-- Group style related properties
* Fix: Audio recorder widget styling property needs to be categorized under Styles not General
-- Move styles section to the bottom of the layout