-
Notifications
You must be signed in to change notification settings - Fork 3.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: Action redesign: Updating the config for Firestore plugin to use sections and zones format #36097
Conversation
WalkthroughThe changes involve a significant restructuring of the Firestore plugin's JSON configuration, transitioning from a single "SECTION" control type to a more advanced "SECTION_V2" type. This update enhances the layout capabilities by introducing nested zones, such as "DOUBLE_COLUMN_ZONE" and "SINGLE_COLUMN_ZONE," which better organize the input fields across various functionalities, including document creation, retrieval, and updates. Changes
Assessment against linked issues
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media? TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
Documentation and Community
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
Outside diff range, codebase verification and nitpick comments (4)
app/server/appsmith-plugins/firestorePlugin/src/main/resources/editor/deleteDocument.json (1)
9-21
: Excellent restructuring of the children to include a "DOUBLE_COLUMN_ZONE" parent control! 🌟The introduction of the "DOUBLE_COLUMN_ZONE" control type is a fantastic way to enhance the layout capabilities and organize the input fields more effectively. By encapsulating the child element within this new parent control, you've laid the groundwork for a cleaner and more intuitive user interface.
It's great to see that the child element retains its essential properties, such as label, configProperty, controlType, and others. This ensures that the core functionality remains unaffected while the overall structure is improved.
One minor suggestion for consistency and readability:
Consider updating the identifier of the "DOUBLE_COLUMN_ZONE" control to follow a more descriptive naming convention. For example, instead of "DELETE-DOCUMENT-Z1", you could use "DELETE_DOCUMENT_ZONE" or "DELETE_DOCUMENT_DOUBLE_COLUMN". This makes the identifier more self-explanatory and easier to understand at a glance.
- "identifier": "DELETE-DOCUMENT-Z1", + "identifier": "DELETE_DOCUMENT_DOUBLE_COLUMN",app/client/src/pages/Editor/ActionForm/Zone/styles.module.css (1)
50-54
: Ensure consistent layout after removing fixed dimensions.The removal of the
width
andmin-height
properties for the.uqi-dynamic-input-text
class allows for more flexible sizing of the input text control. This change aims to address layout issues and potentially improves responsiveness.To ensure a consistent user experience, please verify the layout of the
DynamicInputTextControl
across different scenarios, such as:
- Various input lengths
- Different screen sizes
- Interaction with surrounding elements
Make sure that the removal of these properties doesn't introduce any unintended layout issues or inconsistencies.
app/server/appsmith-plugins/firestorePlugin/src/main/resources/editor/getCollection.json (2)
92-114
: Great work introducing theGET-COLLECTION-Z4
zone! 🌟Nesting the
Start After
andEnd Before
fields within thisDOUBLE_COLUMN_ZONE
helps in better organizing the configuration layout. The properties of these fields are mostly preserved correctly.Just a small nitpick:
- There seems to be a typo in the
placeholderText
property of theStart After
field. It should beplaceholderText
instead ofpalceholderText
.- "palceholderText": "" + "placeholderText": ""
116-128
: Excellent work introducing theGET-COLLECTION-Z5
zone! 👏Nesting the
Limit
field within thisDOUBLE_COLUMN_ZONE
helps in better organizing the configuration layout. The properties of theLimit
field are mostly preserved correctly.Just a small nitpick:
- There seems to be a typo in the
placeholderText
property of theLimit
field. It should beplaceholderText
instead ofpalceholderText
.- "palceholderText": "{{Table1.pageSize}}", + "placeholderText": "{{Table1.pageSize}}",
Review details
Configuration used: .coderabbit.yaml
Review profile: CHILL
Files selected for processing (10)
- app/client/src/components/formControls/DynamicInputTextControl.tsx (1 hunks)
- app/client/src/pages/Editor/ActionForm/Zone/styles.module.css (1 hunks)
- app/server/appsmith-plugins/firestorePlugin/src/main/resources/editor/addToCollection.json (1 hunks)
- app/server/appsmith-plugins/firestorePlugin/src/main/resources/editor/createDocument.json (1 hunks)
- app/server/appsmith-plugins/firestorePlugin/src/main/resources/editor/deleteDocument.json (1 hunks)
- app/server/appsmith-plugins/firestorePlugin/src/main/resources/editor/getCollection.json (1 hunks)
- app/server/appsmith-plugins/firestorePlugin/src/main/resources/editor/getDocument.json (1 hunks)
- app/server/appsmith-plugins/firestorePlugin/src/main/resources/editor/root.json (1 hunks)
- app/server/appsmith-plugins/firestorePlugin/src/main/resources/editor/setDocument.json (1 hunks)
- app/server/appsmith-plugins/firestorePlugin/src/main/resources/editor/updateDocument.json (1 hunks)
Files skipped from review due to trivial changes (1)
- app/client/src/components/formControls/DynamicInputTextControl.tsx
Additional comments not posted (25)
app/server/appsmith-plugins/firestorePlugin/src/main/resources/editor/getDocument.json (2)
2-2
: Great work on updating thecontrolType
to"SECTION_V2"
! 👍This change aligns perfectly with the PR objective of redesigning the Firestore plugin configuration to use the new sections and zones format. The
"SECTION_V2"
control type likely offers enhanced functionality and layout options compared to the previous"SECTION"
type.
9-20
: Excellent job on restructuring thechildren
array to include the new"DOUBLE_COLUMN_ZONE"
! 🎉The introduction of the
"DOUBLE_COLUMN_ZONE"
with the identifier"GET-DOCUMENT-Z1"
is a fantastic way to organize the child elements and enhance the layout of the UI component. By encapsulating the existing "Collection/Document path" input field within this new zone, you've successfully implemented the sections and zones format, which will greatly improve the user experience and make the plugin's interface more intuitive.This change perfectly aligns with the PR objective of redesigning the Firestore plugin configuration and addresses the requirements outlined in the linked issue.
app/server/appsmith-plugins/firestorePlugin/src/main/resources/editor/deleteDocument.json (1)
2-2
: Great work updating thecontrolType
to "SECTION_V2"! 👍This change aligns perfectly with the PR objective of enhancing the Firestore plugin's configuration by implementing the new sections and zones format. The upgrade from "SECTION" to "SECTION_V2" lays the foundation for a more organized and user-friendly interface.
app/server/appsmith-plugins/firestorePlugin/src/main/resources/editor/setDocument.json (4)
2-4
: Great work on upgrading the control type and adding an identifier! 👍The changes look good:
- Upgrading from
SECTION
toSECTION_V2
control type will likely offer enhanced layout capabilities.- Adding the
identifier
property with the valueSET_DOCUMENT
helps in uniquely identifying the control.
9-20
: Excellent job on introducing theDOUBLE_COLUMN_ZONE
! 🌟The changes look great:
- Adding the
DOUBLE_COLUMN_ZONE
with the identifierSET-DOCUMENT-Z1
helps in organizing the child elements and provides a more flexible layout.- The "Collection/Document path" input field remains intact within this zone, maintaining its functionality.
23-33
: Nice work on adding theSINGLE_COLUMN_ZONE
! 👌The changes look good:
- Adding the
SINGLE_COLUMN_ZONE
with the identifierSET-DOCUMENT-Z2
helps in organizing the child elements and provides a more flexible layout.- The "Body" input field remains intact within this zone, maintaining its functionality.
36-47
: Great job on introducing anotherDOUBLE_COLUMN_ZONE
! 🎉The changes look excellent:
- Adding the
DOUBLE_COLUMN_ZONE
with the identifierSET-DOCUMENT-Z3
helps in organizing the child elements and provides a more flexible layout.- The "Timestamp Path" input field remains intact within this zone, maintaining its functionality.
app/server/appsmith-plugins/firestorePlugin/src/main/resources/editor/createDocument.json (4)
2-2
: Great work on updating the control type to "SECTION_V2"! 👍This change aligns perfectly with the PR objective of redesigning the configuration to use sections and zones. It sets the foundation for introducing the new layout capabilities in the subsequent changes.
9-20
: Excellent job on introducing the "DOUBLE_COLUMN_ZONE" for the "Collection Name" field! 🌟The new zone structure greatly improves the organization and layout of the input fields. The "Collection Name" field is aptly placed within this zone, enhancing the clarity and usability of the configuration.
23-33
: Nice work on adding the "SINGLE_COLUMN_ZONE" for the "Body" field! 👌Placing the "Body" field within its own zone is a logical choice, as it likely requires more space compared to other fields. The
placeholderText
property is a thoughtful addition, providing users with a helpful example of the expected input format.
36-47
: Great job on introducing another "DOUBLE_COLUMN_ZONE" for the "Timestamp Path" field! 🎉The consistent use of zones throughout the configuration enhances the overall structure and readability. The
placeholderText
property once again provides a useful example for users, guiding them on the expected input format for the "Timestamp Path" field.app/server/appsmith-plugins/firestorePlugin/src/main/resources/editor/addToCollection.json (4)
2-2
: Great work on updating thecontrolType
toSECTION_V2
! 👍This change is a step in the right direction towards improving the layout and organization of the plugin's configuration. The new
SECTION_V2
control type likely offers enhanced capabilities for structuring the form, such as the ability to define nested zones.Keep up the good work in modernizing the plugin's configuration!
9-20
: Excellent job on introducing theDOUBLE_COLUMN_ZONE
control type! 🎉This change is a significant improvement to the structure and organization of the plugin's configuration. By encapsulating the "Collection/Document path" input field within the
DOUBLE_COLUMN_ZONE
, you've provided a clearer and more maintainable layout.The introduction of zones allows for better grouping and alignment of related input fields, enhancing the overall user experience and readability of the configuration.
Well done on implementing this architectural enhancement!
23-33
: Fantastic work on introducing theSINGLE_COLUMN_ZONE
control type! 🙌This change aligns perfectly with the overall goal of improving the structure and organization of the plugin's configuration. By encapsulating the "Body" input field within the
SINGLE_COLUMN_ZONE
, you've enhanced the clarity and maintainability of the layout.The use of zones allows for better separation and grouping of input fields based on their purpose and relationship, leading to a more intuitive and user-friendly configuration experience.
Keep up the excellent work in refining the plugin's architecture!
36-47
: Excellent consistency in introducing anotherDOUBLE_COLUMN_ZONE
control type! 👏By encapsulating the "Timestamp Path" input field within the
DOUBLE_COLUMN_ZONE
, you've maintained a consistent and structured approach to organizing the plugin's configuration. This consistency enhances the overall readability and maintainability of the code.The use of zones throughout the configuration provides a clear visual hierarchy and separation of concerns, making it easier for developers to understand and navigate the various input fields.
Great job in ensuring a cohesive and well-organized configuration structure!
app/server/appsmith-plugins/firestorePlugin/src/main/resources/editor/root.json (2)
4-4
: Great work updating thecontrolType
to "SECTION_V2"! 👍This change aligns with the goal of enhancing the plugin's configuration structure and is consistent with the list of alterations.
8-46
: Excellent restructuring of the command selection dropdown! 🌟The introduction of the "DOUBLE_COLUMN_ZONE" control type and the reorganization of the dropdown within it is a significant improvement. This change enhances the modularity and clarity of the configuration, making it more user-friendly and potentially responsive.
A few additional insights:
- The use of the "DOUBLE_COLUMN_ZONE" suggests that the plugin interface may adapt to different screen sizes or layouts in the future.
- The consistent use of the "label" and "value" properties for each command option ensures a clear separation between the displayed text and the underlying value.
- The "description" property for the dropdown provides helpful context for users, guiding them in selecting the appropriate command.
Overall, these changes align perfectly with the goal of improving the plugin's configuration structure and user experience. Well done!
app/server/appsmith-plugins/firestorePlugin/src/main/resources/editor/updateDocument.json (4)
2-2
: Great work on updating thecontrolType
to "SECTION_V2"! 👍This change is a significant improvement that enhances the layout capabilities of the form by supporting nested zones. It allows for a more organized and visually structured presentation of the input fields.
9-10
: Excellent addition of the "DOUBLE_COLUMN_ZONE" control type and theidentifier
property! 🌟The "DOUBLE_COLUMN_ZONE" control type allows for organizing the input fields in a two-column layout, which enhances the visual structure of the form. The
identifier
property helps in uniquely identifying this zone, making it easier to reference and maintain.These changes contribute to a clearer organization of the input fields and improve the overall user interface.
23-24
: Great job on adding the "SINGLE_COLUMN_ZONE" control type and theidentifier
property! 👏The "SINGLE_COLUMN_ZONE" control type allows for organizing the input fields in a single-column layout, which is suitable for fields that require more vertical space, such as the "Body" input.
The
identifier
property helps in uniquely identifying this zone, making it easier to reference and maintain.These changes contribute to a clearer organization of the input fields and enhance the overall user interface.
36-56
: Fantastic work on adding the new "DOUBLE_COLUMN_ZONE" and grouping the "Delete Key Path" and "Timestamp Path" fields together! 🎉This grouping enhances the logical organization of related inputs and improves the visual structure of the form. It makes it easier for users to understand the relationship between these fields and provides a more intuitive user experience.
The use of the "QUERY_DYNAMIC_INPUT_TEXT" control type for both fields allows for dynamic input of the key paths, which is a great choice for these specific inputs.
Overall, these changes significantly contribute to the clarity and usability of the form.
app/server/appsmith-plugins/firestorePlugin/src/main/resources/editor/getCollection.json (4)
2-2
: Great work updating the control type toSECTION_V2
! 👍This change enables the use of zones for better organization of the configuration. The
identifier
property is also correctly set toGET_COLLECTION
.
9-20
: Excellent job introducing theGET-COLLECTION-Z1
zone! 🌟Nesting the
Collection Name
field within thisDOUBLE_COLUMN_ZONE
helps in better organizing the configuration layout. The properties of theCollection Name
field are also correctly preserved.
23-75
: Great work introducing theGET-COLLECTION-Z2
zone and expanding thecomparisonTypes
! 👏Nesting the
Where
clause field within thisSINGLE_COLUMN_ZONE
helps in better organizing the configuration layout. The properties of theWhere
clause field are also correctly preserved.The expansion of
comparisonTypes
to include additional types likeARRAY_CONTAINS
andARRAY_CONTAINS_ANY
is a valuable enhancement to the query capabilities. Well done!
77-91
: Nice work introducing theGET-COLLECTION-Z3
zone! 👍Nesting the
Order By
field within thisDOUBLE_COLUMN_ZONE
helps in better organizing the configuration layout. The properties of theOrder By
field are also correctly preserved.
…o action-redesign/firestore-v2
…o action-redesign/firestore-v2
/build-deploy-preview skip-tests=true |
Deploying Your Preview: https://github.com/appsmithorg/appsmith/actions/runs/10771926830. |
Deploy-Preview-URL: https://ce-36097.dp.appsmith.com |
Testing completed on EE. Everything looks good. |
…o action-redesign/firestore-v2
/build-deploy-preview skip-tests=true |
Deploying Your Preview: https://github.com/appsmithorg/appsmith/actions/runs/10791278646. |
Deploy-Preview-URL: https://ce-36097.dp.appsmith.com |
…e sections and zones format (appsmithorg#36097) ## Description Action redesign: Updating the config for Firestore plugin to use sections and zones format Fixes [appsmithorg#35492](appsmithorg#35492) ## Automation /ok-to-test tags="@tag.All" ### 🔍 Cypress test results <!-- This is an auto-generated comment: Cypress test results --> > [!TIP] > 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉 > Workflow run: <https://github.com/appsmithorg/appsmith/actions/runs/10791259844> > Commit: 97a6327 > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=10791259844&attempt=2" target="_blank">Cypress dashboard</a>. > Tags: `@tag.All` > Spec: > <hr>Tue, 10 Sep 2024 14:02:06 UTC <!-- end of auto-generated comment: Cypress test results --> ## Communication Should the DevRel and Marketing teams inform users about this change? - [ ] Yes - [ ] No <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Enhanced layout capabilities for various controls in the Firestore plugin, improving organization and user experience. - Introduction of new zone structures (DOUBLE_COLUMN_ZONE, SINGLE_COLUMN_ZONE) for better visual arrangement of input fields. - **Bug Fixes** - Adjusted CSS styles for the DynamicInputTextControl component to enhance flexibility and responsiveness. - **Documentation** - Updated JSON configurations for controls to reflect new structural changes and improved organization. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
Description
Action redesign: Updating the config for Firestore plugin to use sections and zones format
Fixes #35492
Automation
/ok-to-test tags="@tag.All"
🔍 Cypress test results
Tip
🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
Workflow run: https://github.com/appsmithorg/appsmith/actions/runs/10791259844
Commit: 97a6327
Cypress dashboard.
Tags:
@tag.All
Spec:
Tue, 10 Sep 2024 14:02:06 UTC
Communication
Should the DevRel and Marketing teams inform users about this change?
Summary by CodeRabbit
New Features
Bug Fixes
Documentation