Commit Graph

94 Commits

Author SHA1 Message Date
Ankita Kinger
9b7944e7ee
feat: migrate organisation to workspace (#13863)
* migration from organization to workspace on code level

* updated a few more files

* fixed runtime errors

* update org settings URL

* Renamed organizationId in domain objects

* changed field named from organization to workspace

* Reverted AppsmithRole changes

* fixed migrations

* recreating indexes

* migration update

* seed data runs before migration, undo changes

* mock commit

* seedmongo to populate upgraded data, datasource upgrade

* fixed two test cases

* updated migrations

* updated prop name

* Upgraded AclPermission

* comment

* migrated AppsmithRole

* more changes

* final set of changes

* variable name changes

* update cypress variable name

* Update app/server/appsmith-server/src/main/java/com/appsmith/server/controllers/ce/ApplicationControllerCE.java

* Update app/server/appsmith-interfaces/src/main/java/com/appsmith/external/models/Datasource.java

Co-authored-by: Trisha Anand <trisha@appsmith.com>

* reverting encryption handler change

* migrated a few missed out org to workspace

* migrated a few missed out org to workspace

* migration changes

* Removed Permission import

* fixed AppsmithRole

* mongodb version update

* fixed compile error

* fixed compile issue

* fixed some tests

* simplified embedded mongodb config

* updated a cypress test

Co-authored-by: Sidhant Goel <sidhant@appsmith.com>
Co-authored-by: Trisha Anand <trisha@appsmith.com>
Co-authored-by: Sidhant Goel <sidhant@hexcod.in>
2022-06-15 21:07:41 +05:30
Ankita Kinger
165c911612
chore: Added jest tests for admin settings form fields (#12413)
* added unit test case for tag input field on admin settings page

* added test case for text input component

* added test cases for toggle, accordion and disconnect service components

* added remaining unit test cases related to admin settings

* removed unused imports
2022-03-31 20:05:01 +05:30
Abhinav Jha
2cd7dc9d88
Remove all references to WidgetIcons, as the icons now come from the individual widget folders (#12334)
Co-authored-by: Aishwarya UR <aishwarya@appsmith.com>
2022-03-31 10:07:37 +00:00
ashit-rath
32fee08c5c
feat: JSON Form widget (#8472)
* 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
2022-03-24 12:43:25 +05:30
albinAppsmith
5423944bbd
fix: Preserve entity explorer state on page refresh (#11064) 2022-03-11 21:17:42 +05:30
Tolulope Adetula
beed6df8b3
fix: inconsistency in select and treeselect widgets behaviours (#11462)
* 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
2022-03-10 21:35:05 -08:00
Arsalan Yaldram
8c83cf767b
Merge pull request #10919 from appsmithorg/fix/10780-circular-progress-icon
fix: Add circular progress svg to WidgetIcons.tsx
2022-02-16 17:03:26 +05:30
Aswath K
fb83b0fbc6
feat: Make Button Tab keyboard accessible (#10873) 2022-02-11 00:30:20 +05:30
Arsalan
c0b290d0b6 Add circular progress svg to WidgetIcons.tsx 2022-02-07 11:22:55 +05:30
Tolulope Adetula
bb2f7da823
feat: Select and Multiselect V2 (#10359)
* fix: Select V2

* Fix: CI Fail

* fix: failing test

* fix: failing test

* Fix: MultiSelect

* Fix: loading issue

* Fix: loadin state

* Fix: loading

* fix: failing test

* fix: evaluation tests

* Fix: failing tests

* Fix: failing test

* fix: failing tests

* Fix: Failing tests

* fix: select All

* fix: filtering

* Fix: filtering

* fix: refactor Select widget

* fix: hide MultiSelect

* fix: select options

* Fix: failing tests

* fix: failing tests

* Fix: issues

* Update system-themes.json

* Update system-themes.json

* Update system-themes.json

* Update system-themes.json

* fix: PR reviews

* Update EntityDefinitions.ts

* Fix: issues

* fix: console

* fix: QA issues

* fix: options issues

* fix: add widget icons

* fix: update Selectv2

* empty commit to fix CI

* fix: failing test
2022-02-02 06:15:07 -08:00
albinAppsmith
5cfe12bcea
feat: Entity explorer UI redesign (#9811)
Co-authored-by: arunvjn <arun@appsmith.com>
2022-01-29 12:56:19 +05:30
balajisoundar
02785b90b2
feat: Input, Phone no., Currency input widget (#10259)
* feat: Input, Phone no., Currency Widget

* cypress tests, jest test, QA and CR callouts

* fix tests

* Cypress and jest test fixes
2022-01-18 13:22:24 +05:30
Paul Li
85d54a7b56
feat: Map Chart widget (#6929)
* 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>
2022-01-07 17:57:45 +08:00
Bhavin K
323fa52455
feat: add progressbar widget (#9574) 2021-12-29 17:31:19 +05:30
rashmi rai
f6b9abdacf
feat: adding ads component for UQI (#8777) 2021-12-27 17:34:45 +05:30
Paul Li
6c8c7b2da8
feat: camera widget (#8069)
* 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
2021-12-24 22:06:59 +08:00
Paul Li
54579a4e6c
feat: Switch Group widget (#7590)
* Feat: Switch Group Widget

-- The first MVP of the widget

* feat: Switch Group Widget

-- Follow the same config and implementation as the other group widgets

* feat: Switch Group Widget

-- Elaborate the help text for defaultSelectedValues

* feat: Switch Group Widget

-- Add a widget icon

* feat: Switch Group Widget

-- Remove unnecessary property control at ItemsControl.tsx
-- Refactor some code snippets for higher code quality
-- Add basic cypress test cases

* fix: icon for the widget optimised & replaced

* feat: Switch Group Widget

-- Add a unit test for defaultSelectedValuesValidation

* feat: Switch Group Widget

-- Make the validation type for defaultSelectedValues property to ValidationTypes.ARRAY
-- Remove original validation function and its unit test

* feat: Switch Group Widget

-- Fix on typo
-- Fix on formatting issue
-- Change the help text for isRequired property

* feat: Switch Group Widget

-- Revert help text for isRequired property to the original one

* feat: Switch Group Widget

-- Set strict property to true on defaultSelectedValues

* feat: Switch group widget

-- Refactor utility function, getCamelCaseString
-- Add the corresponding test case

* feat: Switch group widget

-- Implement options property as a plain JS field
-- Reimplement update logic for selectedValues when options changes
-- Add a new utility function for checking equality of object arrays
-- Add a unit test for the above function
-- Rewrite the corresponding Cypress test cases

* feat: Switch Group Widget

-- Remove isArrayEqual utility function and directly use functions from lodash

* feat: Swtich Group Widget

-- Make selectedValues as a derived property

* feat: Switch Group Widget

-- Replace the widget icon

* feat: Switch Group Widget

-- Rewrite a test case for onSelectionChange property

* feat: Switch Group Widget

-- Remove redundant calls for openPropertyPane

* feat: Switch Group Widget

-- Remove closePropertyPane call from afterEach hook

* feat: Switch Group Widget

-- Change the selector for every switch element in onSelectionChange test case

* feat: Switch Group Widget

-- Fix on failed Cypress test case, adding closePropertyPane command to onSelectionChange

* feat: Switch Group Widget

-- Remove template literal from a selector

* feat: Switch Group Widget

-- Make click on onSelectionChange test case forced

* feat: Switch Group Widget

-- Fix on crash issue when editing on Options property

* feat: Switch Group Widget

-- Add the widget icon to show in entity explorer

* feat: Switch Group Widget

-- Fix on blue color on mouse down
-- Add a new property for alignment

Co-authored-by: somangshu <somangshu.goswami1508@gmail.com>
2021-12-09 20:02:47 +08:00
Bhavin K
0a8561a007
feat: create button group widget (#7337)
* Widget with new file structure

* merged utils file to solve onClick err

* updates as required

* design update: buttonStyle - buttonColor

* updated widget config response

* updated buttonVariant changes

* solved btn list delete issue

* updates as required

* design fix for menu item

* fixed theme color updates
2021-11-11 06:41:05 +00:00
albinAppsmith
31cdfe0fe5
feat: Appsmith design system changes (#8125)
Introducing a much improved design system with new components in the Appsmith Design System.
2021-10-04 21:04:37 +05:30
Tolulope Adetula
15b26f823e
feat: Tree Select widget (#6271)
* feat: Tree Select

* feat: styling multiselect

* fix: selected values

* fix: remove console statement

* fix: popup position

* fix: selection types

* fix: Form validation using TreeSelect

* feat: Add Label to TreeSelect

* fix: styling

* fix: Dropdown search

* fix: Add Entity Definitions

* fix: Entity Definition

* Feat: Add clear icon

* fix: validation

* fix: options validation

* fix: Styling issues

* fix: build error

* Fix: Separate Tree Select widget

* fix: issues and add validation

* fix: Options Validation

* fix: issues with build

* fix: yarn

* fix: changes

* fix

* Fix: select component

* fix: PR issues

* fix: merge conflicts

* fix: issues

* fix: all issues

* test: added test

* fix: failing test
2021-09-17 02:08:35 -07:00
Apeksha Bhosale
09eea59330
feat: JS Editor (#6003)
* Changes to add js plugin

* routes+reducer+create template

* added debugger to js editor page

* entity explorer changes

* create js function

* added copy, move and delete action

* added js plugin

* added existing js functions to data tree

* removed actionconfig for js collection

* new js function added to data tree and entity as well

* parsing flow added

* changes to data tree

* parse and update js functions

* small changes for def creator for js action

* create delete modified

* small changes for update

* update flow change

* entity properties added

* removed linting errors

* small changes in entity explorer

* changes for update

* move, copy implementation

* conflict resolved

* changes for dependecy map creation

* Only make the variables the binding paths

* Basic eval sync working

* Minor fixes

* removed unwanted code

* entity props and autocomplete

* saving in progress show

* redirection fix after delete js action

* removed unnecessary line

* Fixing merge conflict

* added sample body

* removed dummy data and added plugin Type

* few PR comments fixed

* automplete fix

* few more PR comments fix

* PR commnets fix

* move and copy api change

* js colleciton name refactor & 'move to page' changes & search

* view changes

* autocomplete added for js collections

* removing till async is implemented

* small changes

* separate js pane response view

* Executing functions

* js collection to js objects

* entity explorer issue and resolve action on page switch

* removed unused line

* small color fix

* js file icon added

* added js action to property pane

* Property pane changes for actions

* property pane changes for js functions

* showing syntax error for now

* actions sorted in response tab

* added js objects to slash and recent entitties

* enabling this to be used inside of function

* eval fix

* feature flag changes for entity explorer and property pane

* debugger changes

* copy bug fix

* small changes for eval

* debugger bug fix

* chnaged any to specific types

* error in console fix

* icons update

* fixed test case

* test case fix

* non empty check for functions

* evaluate test case fix

* added new icons

* text change

* updated time for debounce for trial

* after release mereg

* changed icon

* after merge

* PR comments simple

* fixed PR comments - redux form, settings remove

* js object interface changes

* name refactor

* export default change

* delete resolve actions chnage

* after merge

* adding execute fn as 3rd option and removed create new js function

* issue 7054 fixed - app crash

* execute function on response tab changes

* refactor function name part 1

* refactor of js function name

* try catch added refactor

* test fix

* not used line removed

* test cases locator fixed

Co-authored-by: Nidhi <nidhi.nair93@gmail.com>
Co-authored-by: hetunandu <hetu@appsmith.com>
2021-09-08 23:02:22 +05:30
Paul Li
4c6fb4fcb6
feat: New widget - Audio Recorder widget (#6702)
User can record audio / play it as feedback and then use the data in any API with the help of this new widget
2021-09-08 16:30:36 +05:30
Tolulope Adetula
db88ef86f4
fix: underline style for text (#6865)
* fix: underline style for text

* fix: add expected structure example

* Revert "fix: add expected structure example"

This reverts commit efd56886a26f87bb18cf6edc53bd246bfeb8e0f1.

* fix: test failing

* fix: widget crashing (#6980)

* fix: update omnibar search string for documentation for actions (#6722)

* [Mongo] Added default values for query for Find, Count and Distinct commands (#6960)

* Added smart defaults for query in Count, Distinct & Find commands

* Added test cases for smart inputs for query and limit for find, and query for count and distinct

* Distinct command output now results a JSON object instead of an array of strings (#6964)

* Fix: Break word when text widget content is long (#6211)

fixes #5319

* fix: widget crashing

Co-authored-by: Rishabh Saxena <rishabh.robben@gmail.com>
Co-authored-by: Trisha Anand <trisha@appsmith.com>
Co-authored-by: balajisoundar <sbalaji1192@gmail.com>

Co-authored-by: Rishabh Saxena <rishabh.robben@gmail.com>
Co-authored-by: Trisha Anand <trisha@appsmith.com>
Co-authored-by: balajisoundar <sbalaji1192@gmail.com>
2021-09-06 00:06:15 -07:00
Bhavin K
3d967e2df3
feat: statbox widget (#6556)
Introducing a new widget: Statbox / Statistic box Widget; This is a composite widget which has text and icon in a certain layout that can be easily changed.
2021-09-03 15:45:04 +05:30
Satish Gandham
da1af9cac7
Filepicker v2 - Don't store large files in the dataStore (#6692)
* - Create a clone of the existing filepicker widget

* - If a file is larges than 5MB, don't put it in the dataTree.

Co-authored-by: Satish Gandham <satish@appsmith.com>
2021-08-24 09:08:57 +05:30
Paul Li
532e8f2a74
Feature : Checkbox Group widget (#6199)
Introducing a new widget: `Checkbox Group`, Users can now create a group of checkboxes and have an action trigger and also be able to refer the selected values from the internal API.
2021-08-17 14:41:38 +05:30
Pawan Kumar
946ca3afb9
[Feature] Page Properties (#4989)
* disable delete icon for default

* page properties style updates

* minor style updates

* remove uneccessary imports

* update draggable list api

* style updates

* remove unused variable

* style updates

* update edit icon

* integrate sorting page api

* fix colors

* remove console.log

* add link to switch page in page list item

* remove unused import

* revert draggable list code

* remove console.log

* fix draggablelist component reorder issue

* remove draggablepagelist

* fix rerender of draggablelist

Co-authored-by: root <root@DESKTOP-9GENCK0.localdomain>
2021-08-13 17:08:26 +05:30
Paul Li
4f6a62fa53
Icon Button Widget (#5723)
Introducing the **Floating action button / Icon button**. Now you can use this to show small actions as icons. We have added a bunch of styling customisation to this as well. You can bind an onClick action to this and easily trigger an even. The component also automatically resizes within the widget as you scale it while maintaining the right aspect ratio.
2021-08-05 16:46:26 +05:30
Tolulope Adetula
24b78d1e2b
Multiselect Widget (#5228)
We have now separated the multi-select from the select widget, This has simplified the implementation and helped us resolve any issues we where facing because of the complexity bought by both under the same hood and has  also increased the discoverability of the widget for our end users. We have also simultaneously taken up multiple enhancements related to the select and multi-select widget.
2021-08-03 12:08:01 +05:30
Pranav Kanade
3547976dc7
[Feature] new nav sniping mode (#5746)
* added sniping mode toggle option to header

* added cover to components on hover in sniping mode

* fixed the transition time

* using filled icon

* Show dependencies in action pane

* Added a wrapper to make a widget snipeable

* removed older parts of sniping from Positioned Container

* removed onclick action from snipeable wrapper

* Showing widget name in different color

* Added a mechanism to send user to sniping mode from successful API screen

* created new property pane saga to bind the data

* Fix datasource list width issue

* Fix sidebar going out of view when the response is a table

* Minor refactor

* Show add widgets section on the sidebar

* Stop showing autocomplete option after adding a widget

* fetching pageId, appId from store

* Get suggested widget from response

* Fix table data not getting evaluated after adding binding

* Fix property pane going below the entity explorer while navigating from query/api pane

* Fix width of sidepane shifting for apis

* Fix vertical margins of connections

* Fix api pane suggested widget showing up for errors

* Fix margins

* can show select in canvas btn in sidebar

* can get the action object at the end to bind the data

* updated saga and action names

* can bind data to table

* Use themes

* Use new image url for Table widget

* Added conditional mapping for sniping mode binding.

* updated the widget name tags and seq of calls to open property pane

* pushed all sniping mode decoration to header

* moved setting sniping mode logic to editor reducer

* Added keyboard short cut to get out of sniping mode

* updated reset sniping mechanism

* removed a divider line

* if there are no relationships, will not show the complete section

* Connect Data will automatically show relevant tab in integrations

* Update list and dropdown image urls

* Remove create table button

* no wrapping bind to text

* minor review considerations

* showing the widget name to left in sniping mode

* can set data to datepicker

* will not show snipe btn if there are no widgets in canvas

* Changes for multiple suggested widgets

* removed dependency of sniping from suggested widgets

* Added analytics events for sniping mode

* logic for binding data to a widget, moved to snipeable component

* changed binding widget func from capture to onClick and took care of sniping from widget wrapper too.

* added tests to check sniping mode for table

* updated test spec

* minor fix

* Fix copy changes

* Update test to use table widget from suggested widget list

* if fails to bind will generate warning and keep user in sniping mode

* in sniping mode will only show name plate if it is under focus

* fixed the test case

* added a comment

* minor fix to capture on click event in sniping mode

* updated text

* Hide connections UI when there are no connections

* Increase width to 90%

* Show placeholder text and back button in sidepane

* Show tooltip on hover

* Add analyitcs events for suggested widgets and connections

* Update label based on whether widgets are there or not

* binding related changes

* renamed the saga file containing sinping mode sagas

* Changes for inspect entity

* Revert "binding related changes" temporarily

This reverts commit 54ae9667fecf24bc3cf9912a5356d06600b25c84.

* Update suggested widgets url

* Update table url

* Fix chart data field not getting evaluated

* a minor fix to show proper tool tip when user hovers on widget name

* Show sidepane when there is output

* Update locators

* Use constants for messages

* Update file name to ApiRightPane

* Remove delay

* Revert "Revert "binding related changes" temporarily"

This reverts commit ee7f75e83218137250b4b9a28fcf63080c185150.

* Fix width

* Fix overlap

Co-authored-by: Akash N <akash@codemonk.in>
2021-07-26 22:14:10 +05:30
Vicky Bansal
6f91c1afd8
Feature/draggable filters in table widget (#5886)
The filter pane in the table widget was fixed to top which would hinder the viewport for the end user. We have now changed the filter pane to a draggable component such that the user can place it anywhere on the canvas while they apply filters to see data change in realtime.

* FEATURE #4088 : added draggable filterpane for table widget

* FEATURE #4088 : update icons, editMode prop and added renderDragBlock support in popper

* FIX #5329: added close button for close filter pane

* FIX #5332 : updated zindex for table filter pane

* fix list widget test

* Fix drag icon position and cypress failing tests

* Fix endsWidth comparator function
2021-07-20 10:48:58 +05:30
Paul Li
560db4d4df
Menu button widget (#5334)
* FEATURE-3261 : Menu Widget

-- Perform initial onboarding of the widget, not completed

* FEATURE-3261 : Menu Widget

-- Create a menuItemsControl
-- Create the first MVP of IconSelectControl

* FEATURE-3261 : Add Menu Widget

-- Align add menu item button to the center
-- Build icon select control with a grid popup

* FEATURE-3261 : Menu Widget

-- Create a icon alignment control
-- Complete the property pane of the widget

* FEATURE-3261 : Add Menu Widget

-- Implement the body of the widget
-- Bind into the properties from property pane

* FEATURE-3261 : Menu Widget

-- Fix the issues from the first feedback

* FEATURE-3261 : Menu Widget

-- Fix on the 2nd feedback

* FEATURE-3261 : Menu Widget

-- Fix on issues from IconSelectControl, IconAlignControl

* FEATURE-3261 : Menu Button Widget

-- Rename Menu to MenuButton, accordingly refactoring the relevant codes
-- Change some help content
-- Change styles for icon select control, adding padding for search box

* FEATURE-3261 : Menu Button Widget

-- Bind isDisabled property into the UI
-- Prevent input text of menu item from overflowing
-- Add tooltip feature for icon select control
-- Set the height of the popover content dynamically

* FEATURE-3261 : Menu Button Widget

-- Use POPOVER2_TARGET class name for styling
2021-07-13 13:35:09 +05:30
Pawan Kumar
f19102d997
Widget Grouping Context Menu (#5284)
* Cut copy paste first cut

* removed different parent groups logic

* mouseup on the outer canvas removes selections.

* bug fix

* remove unwanted dead code.

* Adding tests

* build fix

* min height fixes

* fixing specs.

* fixing specs.

* fix merge conflcits

* fix border positioning

* fix canvas widgets incorrect bouding box

* fix bounding box position issue

* fix bounding box position issue

* fix

* border issue fix

* update test case

* add colors in theme

* use layers + use click capture on actions

* fix overflow issue in contextmenu in containers

* fix context menu display issue

* update position of context menu

* fix container box-shadow issue

* fix container box-shadow issue

* revert container box shadow

* stop opening of property pane on shift clicking a widget

* remove console.log

* fix multiselect box issue

* fix list widget overflow issue

Co-authored-by: Ashok Kumar M <35134347+marks0351@users.noreply.github.com>
Co-authored-by: root <root@DESKTOP-9GENCK0.localdomain>
2021-07-08 12:00:19 +05:30
Bhavin K
4b932089a5
Feature: Line separator widget (#4954)
* basic line widget setup

* rename to divider, added icon

* completed divider functionalities

* minor textual updates

* cypress test for divider widget

* tested on local cypress run

* Divider widget jest tests

* basic logic implemented

* arrow head better alignment

* added required svg icons

* divider widget props update

* fix on propertypane dropdown iconSize

* fix capside icon width in property panel

* updated cypress dsl and tests

* minor updates

* cap arrow new implementation

* remove hover animation from divider icon

* updates and optimizations

* moved test class to component
2021-07-07 15:00:06 +05:30
Paul Li
38ffe86290
Rate widget (#4891)
* FEATURE-3357 : Rate Widget

-- Create the first MVP of rate widget

* FEATURE-3357 : Rate Widget

-- Change the widget name into rating
-- Change the widget icon
-- Fix the overflow issue in case max count is big
-- Fix the issue in case default rate is zero
-- Add validations for maxCount and defaultRate

* FEATURE-3357 : Rate Widget

-- Fix an issue : Stars is cut off if maxCount is greater than 20
-- Add test cases for two validation types, RATE_DEFAULT_RATE and RATE_MAX_COUNT

* FEATURE-3357 : Rate Widget

-- Add expected data type for tooltip field

* FEATURE-3357 : Rate Widget

-- Expose maxCount

* FEATURE-3357 : Rate Widget

-- Change contents of isAllowHalf property
-- Adjust alignment of stars dynamically
-- Decrease default widget width

* FEATURE-3357 : Rate Widget

-- Remove a unnecessary comment block
2021-07-02 15:25:50 +05:30
Paul Li
a5cdf32590 FEATURE-1726 : iframe widget
-- Scaffold the widget
-- Bind properties
2021-06-09 05:39:17 -04:00
Satish Gandham
7f7f6f666b
Development: Add eslint rules for code consistency (#4083)
Co-authored-by: Satish Gandham <satish@appsmith.com>
Co-authored-by: Abhinav Jha <abhinav@appsmith.com>
2021-04-28 15:58:39 +05:30
Pawan Kumar
1717b0e392
[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 ♻️

* 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 

* Fix minor issues in table widget

* Add default meta props to binding paths to ensure eval and validation

* Dummy commit 🎉

* 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 11:13:13 +05:30
NandanAnantharamu
6c80f23201
Feature: DatePicker V2 (#2889)
Co-authored-by: vicky-primathon.in <vicky.bansal@primathon.in>
Co-authored-by: nandan.anantharamu <nandan.anantharamu@thoughtspot.com>
Co-authored-by: Abhinav Jha <abhinav@appsmith.com>
2021-02-23 18:05:09 +05:30
Piyush Mishra
a4fe0a461e
Table Widget New Features (#2816)
- Each column has more options and can be configured in the property pane instead of the table
- Table level styles can now be set in the property pane
- Property sections are collapsible

Co-authored-by: vicky-primathon.in <vicky.bansal@primathon.in>
Co-authored-by: nandan.anantharamu <nandan.anantharamu@thoughtspot.com>
Co-authored-by: Abhinav Jha <abhinav@appsmith.com>
Co-authored-by: hetunandu <hetu@appsmith.com>
2021-02-16 15:59:08 +05:30
Rishabh Saxena
969b6fd0d2
Product updates modal (#2453) 2021-01-19 11:47:15 +05:30
Pawan Kumar
7bc4697545
Fix/help modal fab button toggle issue 1681 (#1692)
* change icon to close on opening help modal

* fix help modal icon bug

* add test cases for the fab buttont toggle issue

* fix padding + closing lag issue of help modal

* pass isOpen true all the time

* fix help modal button hover issue

Co-authored-by: Pawan Kumar <pawankumar@Pawans-MacBook-Pro.local>
2020-11-12 16:56:54 +05:30
Abhinav Jha
543b7ec72d
Entity Explorer Render (#1354)
* WIP: Performance improvements in entity explorer

* WIP: Achieve feature parity for entity explorer with release

* Update unit tests

* Add sentry profiling to current page entity properties component

* Fix page add/delete not showing up on entity explorer issue. Update memoization logic for pagegroup entity

* Deal with the ban-ts-ignore eslint issues

* Update unit tests

* Fix widget entity children visibility

* Fix tests and code

* Fix tests for scenarios where the collapsed entities are unmount, as this is a part of the performance optimization

* Filter undefined children when generating structureDSL

* Remove rule from eslintrc

Consolidate createPage test command

* Update CreatePage tests to remove redundant dsl updates

* Revert CreatePage test changes, as adding more checks within this command globally causes other tests to have issues.

* re-enable eslint rule, as without it CI tests fail

* Revert to ban-ts-comment

* Fix typescript ban-ts-ignore issue by upgrading react-scripts and fixing typescript issue across the application

* Typescript errors handled

Co-authored-by: vicky-primathon.in <vicky.bansal@primathon.in>
2020-11-03 18:35:40 +05:30
akash-codemonk
0f34c7f38f
Secure connection UI (#1358) 2020-10-27 10:32:32 +05:30
satbir121
15f84203c7
Video widget (#684)
* Working version of video player.

* Adding default video url

* Reducing the default widget of video widget

* Fixed tests

* Adding video icon.

* Removing commented code.

* Adding playState, onPause, onStart, onEnd.

* Adding onPlay event.

* Fixing onPlay

* Adding isVisible field.

* Changing video icon.

* Fixing Popover table video.

* Adding an error message for no url.
2020-09-26 18:29:33 +05:30
akash-codemonk
8b668484ad
Feat/database structure (#525)
Datasource structure ui
2020-09-21 14:41:42 +05:30
Abhinav Jha
436f190555
Feature: Widgets: Cut-Copy-Paste-Delete shortcuts, undo-delete facility (#500) 2020-09-16 15:58:01 +05:30
Abhinav Jha
bb55029f42
Fix: Missing form button (#397) 2020-08-24 16:20:50 +05:30
akash-codemonk
1e10f39fa6
App homepage header new design (#301) 2020-08-18 12:10:11 +05:30
Hetu Nandu
7f8befc365
Update support menu (#259)
Add a default help menu with
* Report a Github issues link
* Documentation link
* Github discussions link
* Intercom link support
* App version id support
2020-08-14 15:17:47 +05:30