This is because this `cacheResponse` field is only used for auto-complete on the UI. The user can still run the action manually and get the auto-complete to work. The downside to sending the `cacheResponse` field in the JSON response is that for large responses, the client times out as our response times increase to 20 secs. Hence removing this for now.
In future, we'll extract the JSON schema structure from the response body and send that to the client for populating auto-complete.
This is because this `cacheResponse` field is only used for auto-complete on the UI. The user can still run the action manually and get the auto-complete to work. The downside to sending the `cacheResponse` field in the JSON response is that for large responses, the client times out as our response times increase to 20 secs. Hence removing this for now.
In future, we'll extract the JSON schema structure from the response body and send that to the client for populating auto-complete.
This is because this `cacheResponse` field is only used for auto-complete on the UI. The user can still run the action manually and get the auto-complete to work. The downside to sending the `cacheResponse` field in the JSON response is that for large responses, the client times out as our response times increase to 20 secs. Hence removing this for now.
In future, we'll extract the JSON schema structure from the response body and send that to the client for populating auto-complete.
* Implement caching for datasource structure
* Avoid using final fields so spring-data can load objects
* Use type variable for getStructure method
* Initial version with base structure for MySQL plugin
* Add tests for MySQL plugin structure
* Add sorting for keys in Postgres structure as well
* Show "primary key" instead of just "primary"
* Refactor to reduce inline magic strings
* Updating homepage body color
* WIP: Fixing scrolls and adding anchors
* Removing divider from bottom of the page.
* Adding hover background color to app card
* Changing edit and launch icons.
* Fixing app name paddding in card.
* Fixing workspaces overflow
* Adding right padding to applications view
* Adding share icon to share btn
* Fixing Application card styles.
* Fixing text decoration in button.
* Adding new workspace button
* Fixing new workspace and new app styles.
* Adding icon sizes.
* Fixing Org Name and Org settings menu.
* Application menu working
* Fixing overlay visibility on app card
* Fixing settings page content width.
* Fixing workspace icon
* Changing app card colors.
* Removing debugger
* Adding app icon.
* Fixing the spaces in application card
* Adding storybook-static folder to gitignore.
* Adding other storybook files.
* Adding menu items for app
* Removing cypress selector from text.
* Menu width issue fixed
* Default app icon color added
* Removing hardcoded colors
* Removing hardcoded colors.
* Light Mode on!
* Showing correct icon and color in menu
* Update color working properly.
* Updating appIcon
* Editable text working.
* Adding validator
* Adding edit permissions to menu
* Removing box shadow on app card.
* Fixing context menu fill color
* Fixing Menu hover issues.
* Fixing menu open close hover issues.
* Fixing settings pages
* Changed Workspace to org.
* Fix: State management in EditableText Component (#540)
* Error state height is fixed as per design
* savingState prop condition fixed
* Fixing createnew.
* Fixing saving state for application card.
* Fixed application card editable text error.
* Fixing issue caused during merge.
* Fixing tests in create org.
* Removing commented code.
* Removing unwanted vars.
* Fixing delete duplicate tests.
* Latest color palette.
* Fixing form and table widget.
* Removing switcher from header
* Removing unused files
* Fixing app card context dropdown
* Show overlay fix
* Adding localStorage support to theme.
* Making dark mode the default.
Co-authored-by: Rohit Kumawat <rohit.kumawat@primathon.in>
* changed chart data to behave as an array <str, str> and not use json stringify to update
added a generic logic to flag all objects with internal bindings as dynamic
moved unescape to only handle at the time of eval and removed new lines before eval
* added a migration for older charts that have their data as strings
* flagged column actions as an action trigger to avoid evaluating it
* minor fix
* fixed chart fields disappearing
* added migration on update
* added migration to constructor
* added a fallback for first time renders
* removed migration from did update
Co-authored-by: Nikhil Nandagopal <nikhil@appsmith.com>
* changed chart data to behave as an array <str, str> and not use json stringify to update
added a generic logic to flag all objects with internal bindings as dynamic
moved unescape to only handle at the time of eval and removed new lines before eval
* added a migration for older charts that have their data as strings
* flagged column actions as an action trigger to avoid evaluating it
Co-authored-by: Nikhil Nandagopal <nikhil@appsmith.com>
* callout component with story implemented
* text className import fixed
* callout color and background color fixed
* storywrapper import fixed
* fill property fixed
* background prop added
* Add a connection type variable for Plugin implementations
This type variable is intended to represent the type of the
connection object, if any, that the plugin will use. This will
help make the implementations more robust by leveraging Java's
type checking instead of rudimentary type casts over the
connection objects.
* Fix missing typevar usage
* Base interface for getting datasource structure for databases
* Add keys and constraints to structure for Postgres datasources
* Use connection from datasource context for computing structure
* Refactor context retrying into a separate method
* Add base datastructures for templates in entity explorer
* Fix spring circular dependency
* Add test for postgres datasource structure
* Generate column names and sample values for INSERT query
* Add LIMIT clause to generated SELECT query
* Fix tests for generated SELECT query
* Minor refactoring
* added code to merge page load responses if they return before action load responses
* commit to trigger tests
Co-authored-by: Nikhil Nandagopal <nikhil@appsmith.com>
* removed duplicate user object
removed id field which is never populated
added help modal in applications page and intercom to load in help modal
shutdown intercom on signout to clear existing chats
* added analytics to help modal and invite user
unescaped bindings before evaluation to prune newlines
* updated action confirmation text
* added a check to ignore old properties which are no longer dynamic
* fixed test case
* fix tests
Co-authored-by: Nikhil Nandagopal <nikhil@appsmith.com>
Co-authored-by: Hetu Nandu <hetunandu@gmail.com>
* Add migration to fix incorrect action IDs for onLoad
* Remove redundant comments
* Fix migration to work with published onLoad actions as well
* Only update the action ID when correcting onLoad action IDs
* Fix migration name for correcting action IDs
Co-authored-by: Trisha Anand <trisha@appsmith.com>
* Fix migration id for correcting action IDs
* Reformat code
Co-authored-by: Trisha Anand <trisha@appsmith.com>
removed id field which is never populated
added help modal in applications page and intercom to load in help modal
shutdown intercom on signout to clear existing chats
Co-authored-by: Nikhil Nandagopal <nikhil@appsmith.com>
* Radio group component with story implemented
* radio group implemented using native input and label.
* radio component height fixed in story
* disabled name in theme corrected for radio
* align prop removed
* checkbox disabled state added and checked UI fixed
* checkbox imported corrected in story
* checkbox implemented using input and label elements.
* align and isChecked props removed
* used styled component for span
* Toggle component implemented with story
* props fixed
* lighten and darken colors implemented
* removed the unused css properties
* removed the used import in story
* toggle hover state fixed
* storywrapper import updated
* Get list of application IDs to be cloned as examples
* Fix tests so that apps to be cloned are explicit
* Add migration to set applicationIds for example cloning
* Fix example org cloning tests
* query and datasource related tests
* review comment incorporated
* Adding multiple widgets test
* Table widget related search/filter/compact mode tests
* Added tests related to visiblity funvtionality in table widget
* Validate action type in explorer
* updated test
* Test updated in accordance with new UI
* Fix aliases not showing up for MySQL actions
* Fix date column display for MySQL actions
* Fix datetime columns for MySQL actions
* Add support for timestamp and year data types for MySQL actions
* Fix column label for MySQL plugin
* Add tests for MySQL temporal data types
* Add tests for alias columns in MySQL and Postgres
* Add a node.js script to dump examples organization
This dump file is used to setup initial examples organization
in a self-hosted setup.
* Remove unused variable
* Add npm run shortcut for dump script
* dropdown with text and icon implemented
* dropdown with lable implemented and story updated
* Icon import and storyWrapper import updated
* onclick cleaned
* Start with new controller for assets
* Progress on uploading logo image
* Saving and loading organization logo assets now works
* Remove existing logo asset before saving a new one
* Fix 500 when uploading logo for the first time
* Fix URL in response for uploading logo image
* Add test for uploading logo for ogranization
* Mild refactoring in tests
* className added in icon component and used icon names as an array in stories
* button component semicolon fixed
* fill prop added in button component
* name prop and iconName import updated.
* Members and org settings page.
* Adding link back to applications
* Making UI look better.
* Fixing some more css
* Table dropdown onBlur, UI transparency, Popover issue fixed. Added sort arrow (#413)
* table dropdown ui issue and onblur click fixed
* position props value fixed
* tabs tripple click fixed
* Position props in table dropdown made optional
* tabs background color bug removed
* General settings page is bug free.
* Getting the manage users page to work.
* Moving general settings into its own file.
* Removing some unwanted URLs
* User cant change their role or remove themselves
* Changing onClick prop for Icon.
* Fixing tests
* Added loading states to text inputs.
* Added validators for text input
* Fixed border of skeleton for text input
* Adding a loader for Members screen
* Adding Noop to icon button
* Removing console.log
* Fixing imports.
* Moving org reducer to immer.
* Using utils email validator.
* Removing placeholder from text input props.
Co-authored-by: devrk96 <rohit.kumawat@primathon.in>
* menu component implemented and tabs selected ui bug fixed
* PR comments resolved
* icon import updated
* Menu item component (#437)
* Adding blank components.
* Adding Todo note for tree
* Adding todo note for LighteningMenu
* ads button component
* Adding storybook support.
* storybook integrated with button component
* ads button component props completed
* button component icon and loading logic implemented
* button component completed
* Added a text knob.
* Adding default text for button.
* Merging theme and other fixes.
* Fixed info button.
* Better types.
* Adding background param to components.
* Re-using vsariant for callount.
* Added props for Text input.
* Adding text component.
* feedback changes added in button and icon component
* type any removed in button component
* function naming corrected
* menu component implemented
* menu-item implemented with text, icon and label
* menu story updated with menu-items
* menu story updated
* storyWrapper added in all stories
* ads text removed
* spinner import updated
* relative import added
Co-authored-by: Satbir Singh <satbir121@gmail.com>
Co-authored-by: satbir121 <39981226+satbir121@users.noreply.github.com>
Co-authored-by: Satbir Singh <satbir121@gmail.com>
Co-authored-by: satbir121 <39981226+satbir121@users.noreply.github.com>
* Add action settings tab to api and query pane
- Ask for confirmation before running an action
* Update property of actions basedon the updateLayout response
Prevent confirmation dialog for Action run, until property of action is true
Send an API Request when the user toggles the property of an Action
* update http method to toggle executeOnLoad for an action to PUT
* Fix save layout response type
* Remove console.log
* If updating executeOnLoad, avoid calling update action API
Co-authored-by: Abhinav Jha <abhinav@appsmith.com>
* GET API actions recognized as page load actions should also be updated as executeOnLoad actions.
* Update action during updateLayout only if executeOnLoad is not set or is false.
* Possible fix for plugins not found
* Add user info on smart look
* Add test for form and table inside form reset
* Add test for postgres nested data render
* search input implemented with both variant
* classname bug resolved in icon component
* PR comments resolved
* ellipsis added for long search keywords
* WIP : First draft of clone applications
* Cloning of application now works correctly.
* Fixed the failing test case for page cloning.
* Added test case to assert the clone of application successfully.
* Minor function renaming to avoid confusion.
* Minor code refactoring to remove duplicate code.
1. Fixed the bug where policies are being set to empty during organization update.
2. Added email field in organization.
* Updated the test case for update organization to assert the organization policies being present post the update.
We are currently getting the *list* of all pages, updating the
`isDefault` fields inside, and then saving the whole *list* of
all pages. If a new page got added to that list in the DB during
this process, that page would be lost. This commit fixes this
problem.
This race condition was causing tests for cloning applications
to fail *sometimes*.
* debounce method attached to search component and input field in table widget filters
* debounce used inside RenderInput component to update changed value
* Cursor going to start issue is fixed
* Update editor content when content is updated using bindings
* Setting local editor's content value in debounce onChange to get the latest value passed to parent
* Explorer related test scripts
* updated test data
* Added tests for widget edit/delete from explorer
* Incorporated review comments
* review comments incorporated
* Adds the `APPSMITH_MAIL_ENABLED` flag on client
* Shows warning if email service not configured for inviting users in an org
* Shows warning if email service not configured for password reset
* Working version of cloning page given page id. The clone is created inside the same application and is in unpublished state.
* Added a test case for Clone Page feature
* Incorporated review comments.
* Fix tern guessing for completions
* Probable fix for create api button not working
* Close autocomplete when "Backspace" or "Comma" is pressed
* Only show extra docs when ctrl+space is pressed when hint is selected
* Fix issue with action form state params not disabling after taking an action
* Switching to system fonts
* Fixed text alignment issue in text component.
* Changing font of ads components.
* Adding a font type
* Removing unused fonts
* Making fonts in theme an object.
* Removing unncessary font declerations
* Fixing storybook
* Reverting background remove
* Update table widget's filtered data calculations to avoid recursive dataTree evaluations
* Stringify removed from Table component as data is already checked inside TableWidget
* Vertical scrollbar removed from Table Widget. Stop column sorting by stopping event propagation when clicking column menu icon.
Co-authored-by: Abhinav Jha <abhinav@appsmith.com>
* Make sure default page is first in view mode
* Update query form on name change
* Add copy support for deploy link
* Show server error when timeout occurs on first load
* Table fix sort, search and filter methods to set correct selectedRow after these methods are applied
* Filtering table data with the latest filters, to correctly select the row
* Setting initial filteredTableData value
* Updating filteredTableData when tableData is updated
* Don't always automatically create a blank personal org
It will still be created, only if a example template organization
has not been configured in the system.
* Name examples organization same as personal organization
* Minor fixes in tests
* Remove unused userService in clone tests
Add a default help menu with
* Report a Github issues link
* Documentation link
* Github discussions link
* Intercom link support
* App version id support
* Fixes to data tree appsmith entities
* Add app mode `appsmith.mode`
* Add a common app data state for appsmith namespace entities
* Add autocomplete entries for btoa and atob
* Add urlString property in appsmith.url for full url
* Fix: modal widget closes when navigating to the widgets pane from explorer
* Fix: Align API input tab with the headers
Fix: align delete and run buttons to the right in queries pane
* Fix: while dragging, the cursor must be 'grabbing'
* Set new widget name in editing mode
* Fix: While property pane is open, changing the widget name in entity explorer does not update the name in the property pane
* Fix: The expanded entity property value popup should not have a label, as its function is only to show the full version of truncated data
* Feature: Edit datasource name from entity explorer
* Fix: Allow users to navigate from the placeholder text
* Fix: When moving or copying apis, navigate to the moved or copied api
* Adding blank components.
* Adding Todo note for tree
* Adding todo note for LighteningMenu
* ads button component
* Adding storybook support.
* storybook integrated with button component
* ads button component props completed
* button component icon and loading logic implemented
* button component completed
* Added a text knob.
* Adding default text for button.
* tabs component implemented and theme type added
* Merging theme and other fixes.
* Fixed info button.
* Better types.
* Adding background param to components.
* Re-using vsariant for callount.
* Added props for Text input.
* Adding text component.
* tab props fixed
* feedback changes added in button and icon component
* type any removed in button component
* key prop fixed and icon margin corrected
* Fixing spinner issues
* Removing unwanted files.
* tab header icon size fixed and story updated
* new tab added in tabs story
Co-authored-by: Satbir Singh <satbir121@gmail.com>
Co-authored-by: satbir121 <39981226+satbir121@users.noreply.github.com>
* Adding blank components.
* Adding Todo note for tree
* Adding todo note for LighteningMenu
* ads button component
* Adding storybook support.
* storybook integrated with button component
* ads button component props completed
* button component icon and loading logic implemented
* button component completed
* Added a text knob.
* Adding default text for button.
* Merging theme and other fixes.
* Fixed info button.
* Better types.
* Adding background param to components.
* Re-using vsariant for callount.
* Added props for Text input.
* Adding text component.
* feedback changes added in button and icon component
* type any removed in button component
* Text component created with typography and story
* Fixing spinner issues
* Textinput component ads (#252)
* text input component with story is implemented
* Update README.md
* Fixing spinner issues
* Fixing hexToRGBA import
* story error fixed and text component commented for now
* props condition fixed and added error input story
* unused import removed
Co-authored-by: Rohit Kumawat <rohit.kumawat@primathon.in>
Co-authored-by: Nikhil Nandagopal <nikhil.nandagopal@gmail.com>
* story spacing added and component name fixed
* feedback changes implemented
* forward ref added
* feedback changes implemented
* text and textinput stories updated
* pr comments resolved
Co-authored-by: Rohit Kumawat <rohit.kumawat@primathon.in>
Co-authored-by: Nikhil Nandagopal <nikhil.nandagopal@gmail.com>
* Table column header made sticky. Scrollbar background changed to be in consistent with the background for table body scroll and table header scroll
* Row height changed for short compact mode
* New "Tall" row size
* During add role to an organziation, the application was only inheriting from subset of the organization permissions. Generalized this code to ensure that this doesnt happen again in the future when more permissions are introduced. Refactored some code as well.
This is a hack to get around the fact that Github Actions doesn't support conditional status checks for monorepo PRs. Hence, we create similar jobs in the both server & client builds. In the server build, those jobs are dummy jobs that do nothing but satisfy the all-encompassing green tick so that PRs can be merged without using Admin privileges.
* Issue: Tabs widget's child canvas widget's minHeight is not updating
* Fix: Warning removed for unused onTabChange event handler by removing event handler from props passed to ScrollableCanvasWrapper
* Removed tab container not working as droppable component if added again with same name fixed
* Selecting first tab as default tab when no tab is selected in tabs widget. Used getNextEntityName funciton to generate new tab name
* fix: restructure code and show content based on permission
- Restructure Invite user forms into separate App and Org forms
- Show Modal content based on permissions.
* update: Permission handling.
* fix: Modify permission handling
* fix: check manage permission for manage users btn and show copy to clipboard always.
* Dummy commit to run the tests
* Fix: Test cases
* Another dummy commit to run the tests
Co-authored-by: Trisha Anand <trisha@appsmith.com>
* Introduced new permissions for making app public and inviting users.
* WIP : Returning a subset of roles depending on the current user's role
* Added code and tests for generating hierarchical children given a role name
* Get all invite roles now returns roles depending on the current users permissions (aka - admin can invite users for all roles, developers can invite users for roles develoeprs and below)
* When invite api is called, check if the user has correct permissions ( invite permission) and check if the role for which the users are bieng invited is allowed (aka the current user has the permission to invite for the said role)
* Introduced a new permission at application level which is inherited from manage:organizations. This new permission gives the administrator of the organization to make any application public .
* Incorporated review comments.
* Minor code changes.
* Added migration script to add the new policies introduced as part of this new share modal changes.
* Null pointer exception handled due to improper data in the database.
* Integration testing bug fixes.
* Get query ui from form config
* Update editor config selector
* Show error message when config is undefined
* Move FormLabel to components
* Show dark theme in query editor
* Allow query name to be focused
* Correcting the Docker image for Appsmith server for Github actions test
* Also fixing the bug where the datasource config is not returned properly for restapi-plugin
Co-authored-by: Arpit Mohan <arpit@appsmith.com>
* WIP: Not working bulk invite.
* WIP : Non compilable.
* Current test cases running.
TODO : Code Cleanup and write new test cases for bulk invite.
* Code cleanup
* Added a test case for bulk invite of users to an organization.
* Incorporated review comment.
* Merged the latest release and incorporated review comments.
* Corrected the error thrown when usernames is empty or null for invite user API.
* Auto-login on signup works!
* Support form-encoded data body for signup requests
* Remove debug log entry when getting session
* Refactoring and add some docs to UserSignup solution
* Move user object construction to UserSignup solution
* Redirect with error message on signup errors
* Fix: When navigating to a widget, the widget reference isn't found, resulting in the property pane rendering without reference. Resolution: Show property pane only if reference is available
# New Feature: Entity Explorer
- Entities are actions (apis and queries), datasources, pages, and widgets
- With this new feature, all entities in the application will be available
to view in the new entity explorer sidebar
- All existing application features from the api sidebar, query sidebar, datasource sidebar and pages sidebar
now are avialable on the entity explorer sidebar
- Users are now able to quickly switch to any entity in the application from the entity explorer sidebar.
- Users can also search all entities in the application from the new sidebar. Use cmd + f or ctrl + f to focus on the search input
- Users can rename entities from the new sidebar
- Users can also perform contextual actions on these entities like set a page as home page, copy/move actions, delete entity, etc from the context menu available alongside the entities in the sidebar
- Users can view the properties of the entities in the sidebar, as well as copy bindings to use in the application.
* Added Redux action to clear widget meta properties when page is fetched
* reset widget meta for view mode too
Co-authored-by: Nikhil Nandagopal <nikhil@appsmith.com>
* fix table styles
* rich text editor fix
* Fix action panes showing as blank
* correct fix this time
* cleanup
* default search in table
* Fix for text widget heading style
* Fix for table widget filtered table search
* Another approach to see if app has been created
* Fixes in styles of table and text
* Added information to setup domain
* Fixed incorrect var reference
* Updated documentation message
* Updated env template
* updated template
* removed debug echo
* Updated Script
* Updated Text
* Removed option to connect to external mongo for fresh installs
Exit script of docker desktop is not installed
* Updated docker installation explanation
* added a question to skip custom domain if user is installing locally
* Inverted script question and
* Removed question to determine local installation
* Updated Popup CTA to Modal
Updated query templates to contain bindings
Added a message to display on API / Query errors
* updated styles for evaluated value
updated styles for auto complete
* added spaces to questions
* grouped data tree functions together in autocomplete
* Updated autocomplete styles
* Updated property pane styles to become more dense
* Fixed lightning menu styling
* fixed tests
* Fixed Cypress test
* added property to show / hide tabs
* fixed selected tabs not updating
* fixed cypress tests for tabs
Co-authored-by: Nikhil Nandagopal <nikhil@appsmith.com>
* Added information to setup domain
* Fixed incorrect var reference
* Updated documentation message
* Updated env template
* updated template
* removed debug echo
* Updated Script
* Updated Text
* Removed option to connect to external mongo for fresh installs
Exit script of docker desktop is not installed
* Updated docker installation explanation
* added a question to skip custom domain if user is installing locally
* Inverted script question and
* Removed question to determine local installation
* Updated Popup CTA to Modal
Updated query templates to contain bindings
Added a message to display on API / Query errors
* updated styles for evaluated value
updated styles for auto complete
* added spaces to questions
* grouped data tree functions together in autocomplete
* Updated autocomplete styles
* Updated property pane styles to become more dense
* Fixed lightning menu styling
* fixed tests
* Fixed Cypress test
* added property to show / hide tabs
Co-authored-by: Nikhil Nandagopal <nikhil@appsmith.com>
* Added information to setup domain
* Fixed incorrect var reference
* Updated documentation message
* Updated env template
* updated template
* removed debug echo
* Updated Script
* Updated Text
* Removed option to connect to external mongo for fresh installs
Exit script of docker desktop is not installed
* Updated docker installation explanation
* added a question to skip custom domain if user is installing locally
* Inverted script question and
* Removed question to determine local installation
* Updated Popup CTA to Modal
Updated query templates to contain bindings
Added a message to display on API / Query errors
* updated styles for evaluated value
updated styles for auto complete
* added spaces to questions
* grouped data tree functions together in autocomplete
* Updated autocomplete styles
* Updated property pane styles to become more dense
* Fixed lightning menu styling
* fixed tests
* Fixed Cypress test
Co-authored-by: Nikhil Nandagopal <nikhil@appsmith.com>
* Added information to setup domain
* Fixed incorrect var reference
* Updated documentation message
* Updated env template
* updated template
* removed debug echo
* Updated Script
* Updated Text
* Removed option to connect to external mongo for fresh installs
Exit script of docker desktop is not installed
* Updated docker installation explanation
* added a question to skip custom domain if user is installing locally
* Inverted script question and
* Removed question to determine local installation
* Updated Popup CTA to Modal
Updated query templates to contain bindings
Added a message to display on API / Query errors
* updated styles for evaluated value
updated styles for auto complete
* added spaces to questions
Co-authored-by: Nikhil Nandagopal <nikhil@appsmith.com>
* Fix UI Bugs
- Double search box width and change text to Search app name
- Half the space between the org icon and the org name on home page
- Make org name bold and increase font to 16px
- Remove manage users button from invite modal if modal is opened in organisation settings page
* fix: Review Comments and other minor changes
- Clear TagList on form submit
- Fix CSS for search widget width
- Fix table height
- Make org name text bold for admin access.
* fix: Test Cases
Keeping the function to read plugin resource generic for any type of resource. Now the parent function can also conditionally decide which plugin would require to read which resources from the filesystem.
Co-authored-by: Arpit Mohan <arpit@appsmith.com>
* feat: Add org share option to application share modal
* fix: Update design and implement copy to clipboard
* fix: Show share based on permission and update modal UI
- Update modal style
- show application share button only to admins.
* fix: refine code
* Overwriting the base service's getById for OrganizationService to ensure that the response contains userPermissions (by using custom repository instead of default mongo repository classes)
* Fixed the failing test cases.
* Minor code formatting.
The client will have to send a query parameter redirectUrl or a header X-Redirect-Url in order for the server to redirect the client to the appropriate URL post login. If neither of these parameters are present, the client is redirected to /applications by default.
Co-authored-by: Shrikant Sharat Kandula <shrikant@appsmith.com>
* Fixed tabs widget bugs and other updates:
1. Moved drag icon to the left of tab name field in the tabs widget property pane
2. Change drag icon
3. Add scroll when the tabs occupy more width than the width of tabs widget.
4. Add selected tab name validation.
5. Hide overflow tabs.
6. Avoid vertical scrollbars in tabs widget header
* During signup, if the user already exists, instead of throwing a generic duplicate key exception, request the user to sign in.
* Minor change in the error message.
* Add a new meta property to tableWidget called filteredTableData which will be used by the table to filter
* Use derived properties to update filteredTableData
* Check if search is done via actions, if so, filteredTableData is the same as tableData
* Row selection when button is clicked and row is not selected
* Added columnActions to useMemo for columns computation to support live action name updated and action change support
* Fix cloning fails in some cases for organizations
Cloning currently fails in cases like the following:
- Application with no pages
- Pages with no actions
- Pages with more than one action
* Remove debug naming of cloned datasources
* Add test for organization cloning
* Add more tests for organization cloning
* Fix potential race condition in adding pages to an application
* Move db update call to add page to application, into repository
* Use `getIdCriteria` to query for document's _id
* Reuse layout that's automatically created with page
* Use correct API for updating a layout
* Commenting out organization cloning test.
* Removed organization cloning test
* Adding a dummy commit to run the pipeline.
Co-authored-by: Arpit Mohan <arpit@appsmith.com>
* Fix layouts not be updated when an action is updated
* Add test for updating onLoadActions when action updated
* Split layout and action test to separate class
* Remove duplicated test in ActionServiceTest
* Added Button component in Table widget for actions
* Action button state loading added for Table widget
* Action button font-weight made as normal
* Created header for common functionalities in Table Widget
* Client side searching added in Table Widget. Action created for server side searching also.
* Columns visibility feature initial commit
* Column visibility list added in Table Widget
* Changed pagination designs in accordance with new layout. This enable user to jump page as well.
* Using colors values from constants
* Table widget pagination, numeric input page number clamped between 1 and total pages
* Adding tool tip to truncated values in table widget. Added AutoToolTipComponent that adds tooltip when text is truncated.
* Table data download changes. Added downlaod icon and button to table widget.
* Table data download changes
* Table button loading state fixed. Table code refactored, rendering from props instead of state in ReactTableComponent
* Table widget action button alignment fixed
* Handled actions column changes
* added proper keys to useMemo for react table widget
* Download table data as CSV implemented
* table data download, unused code removed
* Code refactors and added dependency map with meta props and table data for computing columns
* Table UI breakages on scroll and empty cells fixed
* Handled empty rows in table widget
* Fixed last row cut issue
* Code review changes
* Code review changes
* Added table widget component heights as enum
* code review changes
* Search component in Table widget updated with support for clearing data, renamed properties
* Opening image in new tab on clicking in table widget
* Fixed table craching due to empty data filtering
* Empty extra space on loading removed in table widget
* Removed stopping of event propagation on table widget action button click
* Fixing for test cases
* Table header UI overflow fixed
* Clearing selected row on searching data in table widget
* fix for cypress test
* Table crash issue fix
* searchKeyword renamed to searchText. searchText added to entity definitions
Co-authored-by: Arpit Mohan <me@arpitmohan.com>
The policies of `User` objects is an empty set by default. So, when using a new `User` object to call `update`, it also updates existing policies to be an empty list.
* Fixing test cases failing due to non unique names.
* Adding execute action permissions policy to match read actions policy in existing actions.
* Only save the action if there are read actions permission present (and hence could have been updated)
* Added Button component in Table widget for actions
* Action button state loading added for Table widget
* Action button font-weight made as normal
* Created header for common functionalities in Table Widget
* Client side searching added in Table Widget. Action created for server side searching also.
* Columns visibility feature initial commit
* Column visibility list added in Table Widget
* Changed pagination designs in accordance with new layout. This enable user to jump page as well.
* Using colors values from constants
* Table widget pagination, numeric input page number clamped between 1 and total pages
* Adding tool tip to truncated values in table widget. Added AutoToolTipComponent that adds tooltip when text is truncated.
* Table data download changes. Added downlaod icon and button to table widget.
* Table data download changes
* Table button loading state fixed. Table code refactored, rendering from props instead of state in ReactTableComponent
* Table widget action button alignment fixed
* Handled actions column changes
* added proper keys to useMemo for react table widget
* Download table data as CSV implemented
* table data download, unused code removed
* Code refactors and added dependency map with meta props and table data for computing columns
* Table UI breakages on scroll and empty cells fixed
* Handled empty rows in table widget
* Fixed last row cut issue
* Code review changes
* Code review changes
* Added table widget component heights as enum
* code review changes
* Search component in Table widget updated with support for clearing data, renamed properties
* Opening image in new tab on clicking in table widget
* Fixed table craching due to empty data filtering
* Empty extra space on loading removed in table widget
* Removed stopping of event propagation on table widget action button click
* Table header UI overflow fixed
* Clearing selected row on searching data in table widget
* fix for cypress test
Co-authored-by: Arpit Mohan <me@arpitmohan.com>
* Datasource test should always test the latest object given by the client (instead of fetching the same from the db). If it is a saved datasource, then we should decrypt and set the password in the datasource (unless the password is one of the changes that is being tested).
* Added function level comment to clarify that this function can no longer be used by just sending the datasource.id field set.
* Handle stale database connection from datasources
* Fix potential secondary case of stale connection error
* Fix Postgres to MySQL
* Move validity check timeout to a constant field
* Add test for recovery when stale connection error is thrown
The plugin class loader from Pf4J looks for jars under target/lib
to use to load any classes that are missing target/classes. This
PR adds the `maven-dependency-plugin` to copy the jars to this
folder automatically so the classes are available during
development.
The client can send the redirect URL in X-Redirect-Url header. The server will honour the value set and redirect the client browser to this particular url. By default the server will redirect to /applications if the custom header is missing. The redirect url can either be absolute or relative.
Co-authored-by: Shrikant Sharat Kandula <shrikant@appsmith.com>
1. Bug fix for when actions for a public application use an external datasource (aka db queries). The db queries were not getting executed because the permission for execute datasource was not getting set for anonymousUser.
2. When using the Test endpoint for datasource, if the datasource is being read from the db and there are encrypted fields, first decrypt the field and then send to the plugin for testing the co
* fix: Table scroll issue, application share issue, eslint errors
- Settings page: whole page should scroll not the table
- Application name to be displayed to user on share
- Fix eslint errors
* fix: Get Application details and pass it to as props.
* Query pane refactor and fixes
* Check if body exists
* Get pluginId from the datasource
* Move plugin image logic to selector
* Show info in new line on the datasource form page
* Update link text to Docs
* Handle string as run api response body
* Remove harcoded height
* Remove all references to ImageAlt except in selector
* Updata info text
This commit adds the Mysql plugin to the Appsmith server. We also add a migration to ensure that this plugin is installed by default for all existing organizations. The migration also adds the plugin details into the DB.
Also adding the test cases for mysql plugin.
Co-authored-by: Arpit Mohan <arpit@appsmith.com>
Co-authored-by: Hetu Nandu <hetu@appsmith.com>
Co-authored-by: Arpit Mohan <me@arpitmohan.com>
Co-authored-by: Nupur Singhal <nupursinghal@Nupurs-MacBook-Air.local>
* When cloning examples organization, clone only public applications
* Create template organization within the test
* Cleaned up test for cloning of examples organization
* Fix Mono chaning
Co-authored-by: Trisha Anand <trisha@appsmith.com>
* Create test apps and config simultaneously
Co-authored-by: Trisha Anand <trisha@appsmith.com>
* Datasource authentication object fields should only be encrypted during create or if the update object contains authentication object. Added a test case to check that update to any other field doesnt update the encrypted fields.
* Incorporated review comment
* Create Org related usecases
* Review comments incorporated
* Updated with env variables for test users and routes
Co-authored-by: Nandan Anantharamu <Nandan@thinkify.com>
* Trying to clone the examples repo on new user signup
* Working implementation of cloning examples organization on user sign up
* Fix personal org not being created when template org is missing
* A working version of cloning of examples organization on first-login
* Add docs for methods in ExamplesOrganizationCloner
* Refactor computing user's first name into a method
* Add some menial tests for examples organization cloning
* Use explicit permissions when fetching applications and datasources
* Fix template organization config name hard-coding
* Refactor implicit permissions in service methods as function arguments
* Revert an unintended change that got committed
* Fix permission variable name
Co-authored-by: Trisha Anand <trisha@appsmith.com>
Co-authored-by: Trisha Anand <trisha@appsmith.com>
* Created header for common functionalities in Table Widget
* Client side searching added in Table Widget. Action created for server side searching also.
* Columns visibility feature initial commit
* Column visibility list added in Table Widget
* Changed pagination designs in accordance with new layout. This enable user to jump page as well.
* Using colors values from constants
* Table widget pagination, numeric input page number clamped between 1 and total pages
* Adding tool tip to truncated values in table widget. Added AutoToolTipComponent that adds tooltip when text is truncated.
* Table data download changes. Added downlaod icon and button to table widget.
* Table data download changes
* Download table data as CSV implemented
* table data download, unused code removed
* Code review changes
* code review changes
Co-authored-by: Arpit Mohan <me@arpitmohan.com>
Adds a third parameter to the Action.run function that can be referenced inside an action config
Usage
`{{ Api1.run(...,...,{key: value}) }}` inside property pane
`{{this.params.key}}` inside action pane
* You can reference data tree properties in the params values:
`{{ Api1.run(..., ..., { key: "Input1.text.toUpperCase()" })`
* Bindings can have both params and data tree values referenced.
* Param values can be javascript functions
`body: {{ this.params.list.map(i => Input1.text + i ) }}`
* Added Button component in Table widget for actions
* Action button state loading added for Table widget
* Action button font-weight made as normal
* Table button loading state fixed. Table code refactored, rendering from props instead of state in ReactTableComponent
* Table widget action button alignment fixed
* Handled actions column changes
* added proper keys to useMemo for react table widget
* Code refactors and added dependency map with meta props and table data for computing columns
* Table UI breakages on scroll and empty cells fixed
* Handled empty rows in table widget
* Fixed last row cut issue
* Code review changes
* Added table widget component heights as enum
Co-authored-by: Arpit Mohan <me@arpitmohan.com>
* Disable the direct `create` methods for pages and applications
* Create differently named versions of create methods to avoid ambiguity
* Removed unused pageService in DatasourceServiceTest
* Rename createPlain method to createDefault to better convey intent
* Getting the script to work on Mac OS X Bash Version 3
* Correcting the nginx template configuration and Dockerfile for the appsmith-editor. Now any replaced environment variables will be replaced when the Nginx Docker container restarts.
This PR adds the build, test & package workflow to the client code base as well.
In order for us to run the Cypress tests, we also spin up a local server in a Docker container and run all our tests against that server. This ensures that our tests are faster to run as well.
We also introduce the concept of stubbing network requests by stubbing the API that fetches the property pane configuration from the server.
Results for the Cypress tests can be viewed at: https://dashboard.cypress.io/projects/eyxvp8/runs/
* Bug fixes :
1. Get actions in view mode should be open for unauthorized requests. Fixed that.
2. set transient fields in action is called post fetching all the actions (after taking care of all the permissions). At this point, we shouldnt be using permissions to fetch datasource.
* Added pageId in the ActionViewDTO and NPE check for setting the json path keys.
* Checking for both json path keys being null and not empty before copying the json path keys into action view dto.
The MAIL_FROM & REPLY_TO addresses default to appsmith@localhost. This should be changed in the generated docker.env file during deployment to actual values.
Most email providers will not send emails unless they originate from a valid sender ID.
* Fix autocomplete for special cases
- Send the currently focused dynamic binding to tern instead of the entire editor value
* Add tests for TernServer methods
- Make request callback a seperate so that it could be testable
- Add tests for getFocusedDynamicValue, buildRequest and requestCallback
* Keep input and expected values together
* Encrypting the password stored in AuthenticationDTO for every db.
* Adding comment to the properties file to denote that adding encryption salt and password are mandatory to the server coming up.
* Added the encryption salt and password to server.yml to allow the github actions to succeed.
* Adding database migration to encrypt the existing passwords for authentication object (used for storing db connection username/password)
Changes to the installation script install.sh:
1. Instead of overwriting the existing encryption password or salt, giving the user an option to conserve the previous encryption credentials to ensure that the developer users do not lose access to their database configurations (passwords).
2. Added another file for writing encryption credentials (encryption.env) to ensure that we dont delete the encryption password and salt by mistake.
* Added Button component in Table widget for actions
* Action button state loading added for Table widget
* Action button font-weight made as normal
* Table button loading state fixed. Table code refactored, rendering from props instead of state in ReactTableComponent
* Table widget action button alignment fixed
* Handled actions column changes
* added proper keys to useMemo for react table widget
* Code refactors and added dependency map with meta props and table data for computing columns
* RenameColumnHeader function renamed to TableHeaderCell
Co-authored-by: Arpit Mohan <me@arpitmohan.com>
* Table column show column fixed. Show icon changed. Columns list made static in visibility dropdown
* Code review comments handled
* Hiding visibililty options in published mode
* fix: error page and get applications API
* fix: apptoaster check for show variable instead of error code.
* fix: Update naming and combine currentOrgId and OrgDetails.
* On setting an application to public view, correct permissions are assigned to the application and its pages & actions.
* If anonymous user is allowed a certain permission, the all users (anonymous/logged in) should be allowed the certain permission.
* Feat: Implement page not found UI
* fix: check user login status and minor code refactoring
- Check if user is logged in or not in page header.
- Based on login status show relevant CTAs
- Fix ESLint errors
- Move RoleNameCell and DeleteActionCell as seperate components.
* fix: Add catch all for pagenotfound
* fix: Use constants and update css syntax.
Co-authored-by: Arpit Mohan <me@arpitmohan.com>
* Bug fix is working. Added a test case which is not working.
* Code cleanup. Test case fixed. Now, when we set the user to enabled, we also store the password that has been passed to the flatMap.
* Minor code cleanup.
* Use envsubst and nginx templates to generate nginx configs which can substitute environment variables and inject into the index.html file
* Fix path in dockerfile. Add .gitignore and .env.example files. Fix nginx-linux template.
* Add all environment variables. Add prefix to all environment variables. Update scripts to attempt to substitute all environment variables with the prefix
* Setup dockerfile to execute a bash script. use env.example for fetching environment variables in development
* Toggle features based on injected configs. Fix nginx template substitution script.
* Update env.example file
* Remove debug code from start-nginx.sh
* Fix nginx config templates by adding quotes by default. Fix sed regex to include numerals. Toggle social login buttons on Login page based on the config.
* Update rapid api environment variable name. Toggle oauth buttons based on config in SignUp page. Update .env.example to be a union of server and client environment variables
* Adding a Map disabled message on Map widget
* Adding links to Privacy policy and TNC
* Use REACT_APP_ env variables with higher priority over injected config variables for toggling features
* Update netlify.toml by commenting out the build environment variables
* Remove env variables not required by the client
* Remove start-storybook entry from package.json
* Fix netlify.toml. Fallback algolia configs
* Add contexts to netlify.toml for successful deploys. Swith to using APPSMITH_MARKETPLACE_URL as the toggle for RapidAPI feature on the client. Remove comments in nginx config templates. Fix template used in dockerfile.
Co-authored-by: Satbir Singh <apple@apples-MacBook-Pro.local>
Co-authored-by: Satbir Singh <satbir121@gmail.com>
* 404 error added for a few API calls which would be specially handled on the frontend to display an ACL 404 error.
* Putting everything except GET actions, GET pages, and GET applications behind authenticated. This ensures that in the future public applications (view only) would not lead to 401 but any other page would.
* Code formatted.
- Increased timeout for move action
- Table header typescript fix
- Fix data tree selectors for better performance
- Debounce update action saga by 500 ms
- Query delete fix
- Query save fix
* Dates from Postgres queries now show up as ISO date strings
* Use constant for date column name in PostgresPlugin
* Fix formats for more date-time types on Postgres
* Add support for time and timestamp data types in Postgres plugin
* Add support for timestamptz column data type in Postgres plugin
* Add support for interval data type in PostgresPlugin
* Move application configuration to be loaded from environment variables
* Remove unused sentry.properties
* Make missing value sentinel a constant and ignore all *.env files
* Removed now-used ACL properties
* Prefix RapidAPI environment variable with APPSMITH_
* Fix application properties not being loaded into static fields
* Remove application-test.properties file
* Add required env variables for test in GitHub
* Quote URLs for MongoDB and Redis in test config
* Change RAPIDAPI to RAPID_API in environment variable names
* Source .env file in the root of repo in start script
Changes to fix the the UI/functionality breaking in widget action selectors when the onError action is configured first for an api or a query type action. Remove validation widget action selectors.
* New api and query has name in edit mode
* Curl import new api.
* Changing createApi command for new ui.
* Edit Api name is not visible in UI.
* Removed edit api name click.
Co-authored-by: Satbir Singh <satbir@appsmith.com>
Co-authored-by: Arpit Mohan <me@arpitmohan.com>
Co-authored-by: Satbir Singh <apple@apples-MacBook-Pro.local>
* Adding the Github action workflow for the server code
* Modifying the redis endpoint in application-test.properties to point to localhost because the Docker service exposes ports to the host
- Remove drafts from actions
- Direct update action from forms
- Debounced saving of actions
- Add org id in default datasource
- Merge query and api run saga
* Created header for common functionalities in Table Widget
* Client side searching added in Table Widget. Action created for server side searching also.
* Columns visibility feature initial commit
* Column visibility list added in Table Widget
* added onSearch to getTriggerPropertyMap
* debouncing search fixed
* Changed pagination designs in accordance with new layout. This enable user to jump page as well.
* Using colors values from constants
* Table widget pagination, numeric input page number clamped between 1 and total pages
* Client side search key made as case insensitive and property of table search value names as searchKey
* Removed unused function form SearchComponent
* Colors used from constants
* Adding tool tip to truncated values in table widget. Added AutoToolTipComponent that adds tooltip when text is truncated. (#16)
Co-authored-by: Arpit Mohan <me@arpitmohan.com>
* Created header for common functionalities in Table Widget
* Client side searching added in Table Widget. Action created for server side searching also.
* added onSearch to getTriggerPropertyMap
* debouncing search fixed
* Client side search key made as case insensitive and property of table search value names as searchKey
* Removed unused function form SearchComponent
* Feature/table ui update column visibility (#14)
* Columns visibility feature initial commit
* Column visibility list added in Table Widget
* Colors used from constants
Co-authored-by: Arpit Mohan <me@arpitmohan.com>
Co-authored-by: Arpit Mohan <me@arpitmohan.com>
* Fixing the move action API by removing invocations to subscribe
Calling subscribe() inside function calls is an anti-pattern and we shouldn't be doing it.
The reactiveContext is not called if the subscribe() function is called in the middle of execution flows. This breaks DB queries.
* Added test case for move action.
Co-authored-by: Trisha Anand <trisha@appsmith.com>
* Refactor CodeMirror component to be more configurable and testable (hints, markings)
* Update the existing datasource path component
* Better text highlighting for JSON fields
* Case insensitive hinting in autocomplete
- Wrap evaluated value to oveflow vertically instead of horizontally
- Stop showing arrows for the port field in datasources
- Show create query option when there are no datasources
- Stop showing loader for query creation error
- Throw error where there is no body in query response
Show the action's actionConfiguration for for 'config' in autocompletion
Show the action's actionConfiguration for 'config' in autocompletion
See merge request theappsmith/internal-tools-client!794
When organizationId is null in a datasource, fail with the right error message
The organization id is subsequently used to find a matching plugin (checking for installation essentially), but when organization id is missing, this query never returns. But the error message reads as if the plugin is not installed, whereas it should've been that organization id is missing.
See merge request theappsmith/internal-tools-server!406
Taking keys from all data points of table to generate columns instead of just first data point of table data.
See merge request theappsmith/internal-tools-client!779
Race condition bug caught in remove user from organization flow where multiple applicaitons/pages/actions exist for an organization.
See merge request theappsmith/internal-tools-server!407
Fix/scrollbars
Remove scrollbars for function docs, autocomplete, current value and evaluated value.
See merge request theappsmith/internal-tools-client!775
- Use manage:organizations permission to restrict users from managing apps
- Add loading indicators will changing role and deleting users
- Restrict user from deleting himself or changing his role.
Bug fix : Create Organization is failing because the user is read from the session and not from the repository. Now reading the user at appropriate places.
See merge request theappsmith/internal-tools-server!405
Add server-side templates support for plugins
Two main themes in this MR:
1. Add support for saving query templates as resource files inside a plugin. This has been done for both Postgres and MongoDB plugins, based on current template contents.
2. Loading of form JSON is now reactive. The blocking call has been moved inside a `Mono.fromSupplier`.
3. The loading of from JSON as well as the templates is cached and are loaded on-demand. This means that the templates are loaded once for a plugin through the lifetime of the server process, and that they are loaded only at the first time they are needed.
4. If loading of these resources fails, we try again when they are needed the next time.
See merge request theappsmith/internal-tools-server!385
Expand evaluated value on click
- Show evaluatedValue based on input focus and content's hover state.
See merge request theappsmith/internal-tools-client!765
Fix/create api loader
- Show loader in api home screen when creating a new api action
- Show loader in query home screen when creating a new query action
- Show column lines for table in query pane
See merge request theappsmith/internal-tools-client!734
Duplicate datasource fixes
- Do not show datasoure field menu when url is blank
- Embedded datasource name shouldn't be blank
- Omit datasource name while creating a datasource
See merge request theappsmith/internal-tools-client!759
Bug Fix : Application and page can only be deleted if you have manage application/page permissions respectively.
See merge request theappsmith/internal-tools-server!395
Fix the chart widget crash issue
- Fix chart widget crash issue which was caused due to incorrect default values.
See merge request theappsmith/internal-tools-client!744
The current push for fixing tests in the new ACL flow.
1. New way to handle create application.
2. API login
3. Removed redundant tests.
4. Fixed Issues wrt ACL changes
Adding the widget names set to the default layout for a page
During action name refactor, we require the widget names to exist in the layout. Hence all default layouts must have the widgetName set.
See merge request theappsmith/internal-tools-server!387
Fix/lightning menu
- Add lightning menu to assist users in binding
- Change the action selection display for consistency.
See merge request theappsmith/internal-tools-client!706
- Show plugin icons in query sidebar and dropdown
- Collapse all sections except the first one in datasources form
- Collapse from second depth in query mongo response UI.
Add pagination Cypress tests
This adds tests for server-side pagination in a table.
Pagination via table pageNo and by responseUrl are covered in this scenario.
See merge request theappsmith/internal-tools-client!693
- show organization title in invite form
- show form when clicking on share in dropdown
- show org name in org settings page
- remove the deleted application from the UI when delete is successful
- fix role update in user list table
This is to simplify the query pane on the frontend client. The client doesn't need to have separate interfaces for sql and non-sql plugins. All queries will be sent to the server in the form of a String that is parsed in different formats based on the plugin.
Also adding test cases for PostgresPlugin. Used TestContainers to simulate the postgres db in Docker inside the Java test itself. Very useful.
This is because the client sends us the data for form-data in the form of a list of Property fields with keys and values. This is consistent with how the client stores & renders headers & query parameters as well.
For MediaType application/x-www-form-urlencoded we will use the bodyFormData field.
fixed body for url encoded form data
added defaults for dropdown and radio widget
added multipart type but hid it till we figure out logic
allowed number to be added to defaults of widgets
- add ellipsis for the application title
- align org name, list of applications
- increase font size of org name
- increase size of create application icon
- add name for create application card
- remove create application button
- Show path along with url in the api pane for embedded datasource
- Add store as datasource menu option for embedded datasource
- Allow users to type the path for global datasources
- Show the base url as a tag along with the path for global datasource.
- add ellipsis for the application title
- align org name, list of applications
- increase font size of org name
- increase size of create application icon
- add name for create application card
- remove create application button
- add ellipsis for the application title
- align org name, list of applications
- increase font size of org name
- increase size of create application icon
- add name for create application card
- remove create application button
Chart validations, Tabs add new tab issue fix
* Chart validation fixes
* Tab widget, adding new tab will display the same inside pane configurations
See merge request theappsmith/internal-tools-client!574
Fix : In getAllApplications, instead of iterating over collections of applications which could be empty, we iterate over organizations where we are guaranteed to have atleast one organization.
- add ellipsis for the application title
- align org name, list of applications
- increase font size of org name
- increase size of create application icon
- add name for create application card
- remove create application button
added below tests
* API verb tests added ( POST /PUT/PATCH)
* Query param tests (This is also includes invalid and valid)
* Edit APIs( update of api name and api datasource as well)
* mustache API test
* Market Place API test
* Curl POST test
pick my location icon changed with state
Pick my location in map widget is updated based on click state.
See merge request theappsmith/internal-tools-client!598
- Fix search in datasource sidebar
- Minimum of 1 row in KEY_VAL_ARRAY and KEY_VAL_INPUT fields
- Fix collapse icon
- Datasource form title improvements
Adding the ForwardedHeaderTransform bean to enable spring to parse...
Adding the ForwardedHeaderTransform bean to enable spring to parse X-Forwarded-* headers from Nginx proxy
See merge request theappsmith/internal-tools-server!344
Fix/query pane
- Show mongo execute response in seperate cards for each record
- Update postgres read template
- Show query execute error message in the UI.
See merge request theappsmith/internal-tools-client!595
Property pane toggle scenario
- Close property pane when clicking outside the property pane.
- Select widget when toggling open the property pane.
See merge request theappsmith/internal-tools-client!588
Back to editor button
- Show grid when starting to drag a widget on an empty canvas.
- Show placeholder on an empty canvas
- Add "Back to editor" button on appviewer's header
- Show empty page placeholder in app viewer.
See merge request theappsmith/internal-tools-client!589
This is to ensure that all Netlify redirects are in a single location and and removing _redirects file. This file was creating a problem between the proxy redirects and the catch-all redirect to index.html
Automatically use a unique name for creating datasources without name.
In the request from frontend for datasource creation, if the data
doesn't have a `name` value, we now set it to an automatically numbered
value and save with that.
See merge request theappsmith/internal-tools-server!333
In the request from frontend for datasource creation, if the data
doesn't have a `name` value, we now set it to an automatically numbered
value and save with that.
Fix/map issues
Issues Fixed:
* Pick my location
* Change lng to long across map widget
* Selecting time was causing flicker inside pane configurations of date picker widget
* Show chart title, and breakages in chart widget fixed
* Marker in map can be dragged once it is selected
* Only onCreateMarker action is called once a location is selected on map
* Reordering tabs UI made smoother
See merge request theappsmith/internal-tools-client!526
Widget Name Restrictions
- Add restrictions to widget name. Conflicts with Widget Names, Page Names and Action Names
See merge request theappsmith/internal-tools-client!509
Fix Container background color
Fix for issue: Canvas background was being set in templates, as a result, container's background wasn't perceived to be set.
See merge request theappsmith/internal-tools-client!523
- Prefill datasource title
- Decrease field width
- Save button should have loading state
- Back button in form screen
- Right align save button
- Add new plugin images
and other fixes
Page Name updates
- Remove use of `reselect` in `editorSelectors`.
- Rename action from UPDATE_CURRENT_PAGE to SWITCH_CURRENT_PAGE_ID.
- Update new page name in bread crumbs
See merge request theappsmith/internal-tools-client!503