appsmith icon indicating copy to clipboard operation
appsmith copied to clipboard

feat: Date column type editing for table widget

Open souma-ghosh opened this issue 2 years ago • 7 comments

  • Integrates Date picker component inside table's date column
  • Enables edit mode for date type column in table widget
  • Adds all the required Property controls for date picker
  • Builds the user flow for date column editing in table widget

Description

PRD - https://www.notion.so/appsmith/Date-and-date-time-in-table-c9e292188eff4604a9f2b3c91aca1efb

Fixes #13682

Type of change

  • New feature (non-breaking change which adds functionality)
  • This change requires a documentation update

How Has This Been Tested?

  • Cypress

Test Plan

Add Testsmith test cases links that relate to this PR

Issues raised during DP testing

Link issues raised during DP testing for better visiblity and tracking (copy link from comments dropped on this PR)

Checklist:

Dev activity

  • [x] My code follows the style guidelines of this project
  • [x] I have performed a self-review of my own code
  • [x] I have commented my code, particularly in hard-to-understand areas
  • [ ] I have made corresponding changes to the documentation
  • [x] My changes generate no new warnings
  • [x] I have added tests that prove my fix is effective or that my feature works
  • [ ] New and existing unit tests pass locally with my changes
  • [ ] PR is being merged under a feature flag

QA activity:

  • [ ] Test plan has been approved by relevant developers
  • [ ] Test plan has been peer reviewed by QA
  • [ ] Cypress test cases have been added and approved by either SDET or manual QA
  • [ ] Organized project review call with relevant stakeholders after Round 1/2 of QA
  • [ ] Added Test Plan Approved label after reveiwing all Cypress test

souma-ghosh avatar Dec 23 '22 12:12 souma-ghosh

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Updated
appsmith ✅ Ready (Inspect) Visit Preview Jan 13, 2023 at 5:13AM (UTC)

vercel[bot] avatar Dec 23 '22 12:12 vercel[bot]

/ok-to-test sha=2d65712

souma-ghosh avatar Jan 03 '23 13:01 souma-ghosh

Tests running at: https://github.com/appsmithorg/appsmith/actions/runs/3829845942. Workflow: Appsmith External Integration Test Workflow. Commit: 2d65712. PR: 19181. Perf tests will be available at https://app.appsmith.com/app/performance-infra-dashboard/pr-details-638dd7cd2913ba43778b915e?pr=19181&runId=3829845942_1

github-actions[bot] avatar Jan 03 '23 13:01 github-actions[bot]

/ok-to-test sha=e66d61f

souma-ghosh avatar Jan 04 '23 11:01 souma-ghosh

Tests running at: https://github.com/appsmithorg/appsmith/actions/runs/3837521600. Workflow: Appsmith External Integration Test Workflow. Commit: e66d61f. PR: 19181. Perf tests will be available at https://app.appsmith.com/app/performance-infra-dashboard/pr-details-638dd7cd2913ba43778b915e?pr=19181&runId=3837521600_1

github-actions[bot] avatar Jan 04 '23 11:01 github-actions[bot]

/ok-to-test sha=c9b8915

souma-ghosh avatar Jan 04 '23 11:01 souma-ghosh

Tests running at: https://github.com/appsmithorg/appsmith/actions/runs/3837589362. Workflow: Appsmith External Integration Test Workflow. Commit: c9b8915. PR: 19181. Perf tests will be available at https://app.appsmith.com/app/performance-infra-dashboard/pr-details-638dd7cd2913ba43778b915e?pr=19181&runId=3837589362_1

github-actions[bot] avatar Jan 04 '23 11:01 github-actions[bot]

/ok-to-test sha=f081b14

souma-ghosh avatar Jan 05 '23 10:01 souma-ghosh

Tests running at: https://github.com/appsmithorg/appsmith/actions/runs/3845798090. Workflow: Appsmith External Integration Test Workflow. Commit: f081b14. PR: 19181. Perf tests will be available at https://app.appsmith.com/app/performance-infra-dashboard/pr-details-638dd7cd2913ba43778b915e?pr=19181&runId=3845798090_1

github-actions[bot] avatar Jan 05 '23 10:01 github-actions[bot]

The following are new failures, please fix them before merging the PR cypress/integration/Smoke_TestSuite/ClientSideTests/BugTests/Autocomplete_JS_spec.ts cypress/integration/Smoke_TestSuite/ClientSideTests/Templates/Fork_Template_Existing_app_spec.js cypress/integration/Smoke_TestSuite/ClientSideTests/VisualTests/JSEditorIndent_spec.js cypress/integration/Smoke_TestSuite/ClientSideTests/Widgets/TableV2/Date_column_editing_spec.js cypress/integration/Smoke_TestSuite/ClientSideTests/Widgets/TableV2/Inline_editing_spec.js cypress/integration/Smoke_TestSuite/ClientSideTests/Widgets/TableV2/Text_wrapping_spec.js cypress/integration/Smoke_TestSuite/ClientSideTests/Widgets/TableV2/inline_editing_validations_spec.js cypress/integration/Smoke_TestSuite/ServerSideTests/JsFunctionExecution/JSFunctionExecution_spec.ts

github-actions[bot] avatar Jan 05 '23 11:01 github-actions[bot]

Few Observations @souma-ghosh

  1. Calendar popup is getting closed when clicking on time field to edit the time Video: https://bthrujcsw8.vmaker.com/record/yqXbotjVZCvzIkzY

  2. Border Radius are not applied to calendar popup as per theming settings Refer above video and notice that Theming has Rounded box radius but calendar is in square shape

  3. Remove onSubmit property from Property pane (as discussed)

chandannkumar avatar Jan 05 '23 12:01 chandannkumar

/ok-to-test sha=131a3c7

souma-ghosh avatar Jan 05 '23 13:01 souma-ghosh

Tests running at: https://github.com/appsmithorg/appsmith/actions/runs/3847159684. Workflow: Appsmith External Integration Test Workflow. Commit: 131a3c7. PR: 19181. Perf tests will be available at https://app.appsmith.com/app/performance-infra-dashboard/pr-details-638dd7cd2913ba43778b915e?pr=19181&runId=3847159684_1

github-actions[bot] avatar Jan 05 '23 13:01 github-actions[bot]

The following are new failures, please fix them before merging the PR cypress/integration/Smoke_TestSuite/ClientSideTests/BugTests/Autocomplete_JS_spec.ts cypress/integration/Smoke_TestSuite/ClientSideTests/Git/GitImport/GitImport_spec.js cypress/integration/Smoke_TestSuite/ClientSideTests/Git/GitImport/ImportEmptyRepo_spec.js cypress/integration/Smoke_TestSuite/ClientSideTests/Git/GitSync/Connection_spec.js cypress/integration/Smoke_TestSuite/ClientSideTests/Git/GitSync/DeleteBranch_spec.js cypress/integration/Smoke_TestSuite/ClientSideTests/Git/GitSync/Deploy_spec.ts cypress/integration/Smoke_TestSuite/ClientSideTests/Git/GitSync/DisconnectGit_spec.js cypress/integration/Smoke_TestSuite/ClientSideTests/Git/GitSync/Merge_spec.js cypress/integration/Smoke_TestSuite/ClientSideTests/Git/GitSync/RegenerateSSHKey_spec.js cypress/integration/Smoke_TestSuite/ClientSideTests/Git/GitSync/RepoLimitExceededErrorModal_spec.js cypress/integration/Smoke_TestSuite/ClientSideTests/Git/GitWithTheming/GitWithTheming_spec.js cypress/integration/Smoke_TestSuite/ClientSideTests/VisualTests/AppPageLayout_spec.js cypress/integration/Smoke_TestSuite/ClientSideTests/VisualTests/WidgetsLayout_spec.js cypress/integration/Smoke_TestSuite/ClientSideTests/Widgets/Form/FormWidget_spec.js cypress/integration/Smoke_TestSuite/ClientSideTests/Widgets/TableV2/Date_column_editing_spec.js cypress/integration/Smoke_TestSuite/ClientSideTests/Widgets/TableV2/Text_wrapping_spec.js

github-actions[bot] avatar Jan 05 '23 14:01 github-actions[bot]

Few Observations @souma-ghosh

  1. Calendar popup is getting closed when clicking on time field to edit the time Video: https://bthrujcsw8.vmaker.com/record/yqXbotjVZCvzIkzY
  2. Border Radius are not applied to calendar popup as per theming settings Refer above video and notice that Theming has Rounded box radius but calendar is in square shape
  3. Remove onSubmit property from Property pane (as discussed)

@dilippitchika For No.1 Since we are depending heavily on onChange event to trigger the events for date selection this is happening. When user changes the time in hour and goes to minute then the bluepirnt/dateinput triggers the onChange and hence it closes. This won't happen for date picker widget or the date cell during add new row as there we are not relying on onChange to do anything else other than changing the date value.

souma-ghosh avatar Jan 06 '23 06:01 souma-ghosh

/ok-to-test sha=c3a232a

souma-ghosh avatar Jan 06 '23 08:01 souma-ghosh

Tests running at: https://github.com/appsmithorg/appsmith/actions/runs/3853656338. Workflow: Appsmith External Integration Test Workflow. Commit: c3a232a. PR: 19181. Perf tests will be available at https://app.appsmith.com/app/performance-infra-dashboard/pr-details-638dd7cd2913ba43778b915e?pr=19181&runId=3853656338_1

github-actions[bot] avatar Jan 06 '23 08:01 github-actions[bot]

The following are new failures, please fix them before merging the PR cypress/integration/Smoke_TestSuite/ClientSideTests/BugTests/Autocomplete_JS_spec.ts cypress/integration/Smoke_TestSuite/ClientSideTests/Git/GitSync/GitBugs_spec.js cypress/integration/Smoke_TestSuite/ClientSideTests/VisualTests/DatasourcePageLayout_spec.js cypress/integration/Smoke_TestSuite/ClientSideTests/Widgets/TableV2/Date_column_editing_spec.js cypress/integration/Smoke_TestSuite/ServerSideTests/JsFunctionExecution/JSFunctionExecution_spec.ts

github-actions[bot] avatar Jan 06 '23 09:01 github-actions[bot]

The following are new failures, please fix them before merging the PR cypress/integration/Smoke_TestSuite_Fat/ClientSideTests/Refactoring/Refactoring_spec.ts

github-actions[bot] avatar Jan 06 '23 09:01 github-actions[bot]

The following are new failures, please fix them before merging the PR cypress/integration/Smoke_TestSuite/ClientSideTests/BugTests/Autocomplete_JS_spec.ts cypress/integration/Smoke_TestSuite/ClientSideTests/BugTests/Autocomplete_JS_spec.ts cypress/integration/Smoke_TestSuite/ClientSideTests/Git/GitSync/GitBugs_spec.js cypress/integration/Smoke_TestSuite/ClientSideTests/VisualTests/DatasourcePageLayout_spec.js cypress/integration/Smoke_TestSuite/ClientSideTests/Widgets/TableV2/Date_column_editing_spec.js cypress/integration/Smoke_TestSuite/ServerSideTests/JsFunctionExecution/JSFunctionExecution_spec.ts

github-actions[bot] avatar Jan 06 '23 11:01 github-actions[bot]

The following are new failures, please fix them before merging the PR

github-actions[bot] avatar Jan 06 '23 11:01 github-actions[bot]

/ok-to-test sha=6223436

souma-ghosh avatar Jan 10 '23 07:01 souma-ghosh

Tests running at: https://github.com/appsmithorg/appsmith/actions/runs/3881313965. Workflow: Appsmith External Integration Test Workflow. Commit: 6223436. PR: 19181. Perf tests will be available at https://app.appsmith.com/app/performance-infra-dashboard/pr-details-638dd7cd2913ba43778b915e?pr=19181&runId=3881313965_1

github-actions[bot] avatar Jan 10 '23 07:01 github-actions[bot]

Few Observations @souma-ghosh

  1. Calendar popup is getting closed when clicking on time field to edit the time Video: https://bthrujcsw8.vmaker.com/record/yqXbotjVZCvzIkzY
  2. Border Radius are not applied to calendar popup as per theming settings Refer above video and notice that Theming has Rounded box radius but calendar is in square shape
  3. Remove onSubmit property from Property pane (as discussed)

@chandannkumar For No. 1 we are hiding the time field inside date picker for now. This should get resolved when we use a different library from blueprint for date editing. Along with this Time Precision setting has also been hidden. No. 2 and 3 have been fixed. Additionally we have moved the date picker related settings under Date Settings in property control for date type columns. Please move ahead with the QA

souma-ghosh avatar Jan 10 '23 08:01 souma-ghosh

The following are new failures, please fix them before merging the PR cypress/integration/Smoke_TestSuite/ClientSideTests/Templates/Fork_Template_Existing_app_spec.js cypress/integration/Smoke_TestSuite/ClientSideTests/Widgets/Image/Image_spec.js cypress/integration/Smoke_TestSuite/ServerSideTests/JsFunctionExecution/JSFunctionExecution_spec.ts

github-actions[bot] avatar Jan 10 '23 09:01 github-actions[bot]

The following are new failures, please fix them before merging the PR cypress/integration/Smoke_TestSuite/ClientSideTests/Templates/Fork_Template_Existing_app_spec.js cypress/integration/Smoke_TestSuite/ServerSideTests/JsFunctionExecution/JSFunctionExecution_spec.ts cypress/integration/Smoke_TestSuite/ServerSideTests/JsFunctionExecution/JSFunctionExecution_spec.ts

github-actions[bot] avatar Jan 10 '23 09:01 github-actions[bot]

/ok-to-test sha=527dfa7

souma-ghosh avatar Jan 12 '23 07:01 souma-ghosh

Tests running at: https://github.com/appsmithorg/appsmith/actions/runs/3900056529. Workflow: Appsmith External Integration Test Workflow. Commit: 527dfa7. PR: 19181. Perf tests will be available at https://app.appsmith.com/app/performance-infra-dashboard/pr-details-638dd7cd2913ba43778b915e?pr=19181&runId=3900056529_1

github-actions[bot] avatar Jan 12 '23 07:01 github-actions[bot]

The following are new failures, please fix them before merging the PR cypress/integration/Smoke_TestSuite/ClientSideTests/Autocomplete/Autocomplete_JS_spec.ts cypress/integration/Smoke_TestSuite/ClientSideTests/Binding/Bind_TableTextPagination_spec.js cypress/integration/Smoke_TestSuite/ClientSideTests/Binding/Bind_TableV2TextPagination_spec.js cypress/integration/Smoke_TestSuite/ClientSideTests/Binding/Bind_Table_Widget_API_Derived_Column_spec.js cypress/integration/Smoke_TestSuite/ClientSideTests/Binding/Bind_dataToTableV2WithSnipingMode_spec.js cypress/integration/Smoke_TestSuite/ClientSideTests/Binding/Bind_dataToTableWithSnipingMode_spec.js cypress/integration/Smoke_TestSuite/ClientSideTests/BugTests/Bug16377_spec.ts cypress/integration/Smoke_TestSuite/ClientSideTests/Git/GitDiscardChange/DiscardChanges_spec.js cypress/integration/Smoke_TestSuite/ClientSideTests/Git/GitImport/GitImport_spec.js cypress/integration/Smoke_TestSuite/ClientSideTests/Git/GitImport/ImportEmptyRepo_spec.js cypress/integration/Smoke_TestSuite/ClientSideTests/Git/GitSync/Connection_spec.js cypress/integration/Smoke_TestSuite/ClientSideTests/Git/GitSync/DeleteBranch_spec.js cypress/integration/Smoke_TestSuite/ClientSideTests/Git/GitSync/Deploy_spec.ts cypress/integration/Smoke_TestSuite/ClientSideTests/Git/GitSync/DisconnectGit_spec.js cypress/integration/Smoke_TestSuite/ClientSideTests/Git/GitSync/GitBugs_spec.js cypress/integration/Smoke_TestSuite/ClientSideTests/Git/GitSync/Merge_spec.js cypress/integration/Smoke_TestSuite/ClientSideTests/Git/GitSync/RegenerateSSHKey_spec.js cypress/integration/Smoke_TestSuite/ClientSideTests/Git/GitSync/RepoLimitExceededErrorModal_spec.js cypress/integration/Smoke_TestSuite/ClientSideTests/Git/GitSync/SwitchBranches_spec.js cypress/integration/Smoke_TestSuite/ClientSideTests/Git/GitWithTheming/GitWithTheming_spec.js cypress/integration/Smoke_TestSuite/ClientSideTests/IDE/Command_Click_Navigation_spec.js cypress/integration/Smoke_TestSuite/ClientSideTests/Onboarding/GuidedTour_spec.js cypress/integration/Smoke_TestSuite/ClientSideTests/OtherUIFeatures/ApplicationURL_spec.js cypress/integration/Smoke_TestSuite/ClientSideTests/OtherUIFeatures/ForkApplication_spec.js cypress/integration/Smoke_TestSuite/ClientSideTests/OtherUIFeatures/Logs_spec.ts cypress/integration/Smoke_TestSuite/ClientSideTests/Templates/Fork_Template_To_App_spec.js cypress/integration/Smoke_TestSuite/ClientSideTests/Templates/Fork_Template_spec.js cypress/integration/Smoke_TestSuite/ClientSideTests/VisualTests/AppPageLayout_spec.js cypress/integration/Smoke_TestSuite/ClientSideTests/VisualTests/DatasourcePageLayout_spec.js cypress/integration/Smoke_TestSuite/ClientSideTests/VisualTests/JSEditorComment_spec.js cypress/integration/Smoke_TestSuite/ClientSideTests/VisualTests/JSEditorIndent_spec.js cypress/integration/Smoke_TestSuite/ClientSideTests/VisualTests/WidgetsLayout_spec.js cypress/integration/Smoke_TestSuite/ClientSideTests/Widgets/Button/Button_onClickAction_spec.js cypress/integration/Smoke_TestSuite/ClientSideTests/Widgets/Dropdown/Dropdown_onOptionChange_spec.js cypress/integration/Smoke_TestSuite/ClientSideTests/Widgets/Form/FormWidget_spec.js cypress/integration/Smoke_TestSuite/ClientSideTests/Widgets/TableV1/Table_Derived_Column_Data_validation_spec.js cypress/integration/Smoke_TestSuite/ClientSideTests/Widgets/TableV1/Table_Property_JsonUpdate_spec.js cypress/integration/Smoke_TestSuite/ClientSideTests/Widgets/TableV2/TableV2_Property_JsonUpdate_spec.js cypress/integration/Smoke_TestSuite/ClientSideTests/Workspace/ShareAppTests_spec.js cypress/integration/Smoke_TestSuite/ServerSideTests/ApiTests/API_Edit_spec.js cypress/integration/Smoke_TestSuite/ServerSideTests/ApiTests/API_Response_View_spec.js cypress/integration/Smoke_TestSuite/ServerSideTests/ApiTests/CurlImportFlow_spec.js cypress/integration/Smoke_TestSuite/ServerSideTests/GenerateCRUD/Postgres2_Spec.ts cypress/integration/Smoke_TestSuite/ServerSideTests/JsFunctionExecution/JSFunctionExecution_spec.ts cypress/integration/Smoke_TestSuite/ServerSideTests/JsFunctionExecution/SetTimeout_spec.ts cypress/integration/Smoke_TestSuite/ServerSideTests/OnLoadTests/ExecuteAction_Spec.ts

github-actions[bot] avatar Jan 12 '23 08:01 github-actions[bot]

The following are new failures, please fix them before merging the PR cypress/integration/Smoke_TestSuite/ClientSideTests/Autocomplete/Autocomplete_JS_spec.ts cypress/integration/Smoke_TestSuite/ClientSideTests/Binding/Bind_TableTextPagination_spec.js cypress/integration/Smoke_TestSuite/ClientSideTests/Binding/Bind_TableV2TextPagination_spec.js cypress/integration/Smoke_TestSuite/ClientSideTests/Binding/Bind_Table_Widget_API_Derived_Column_spec.js cypress/integration/Smoke_TestSuite/ClientSideTests/Binding/Bind_dataToTableV2WithSnipingMode_spec.js cypress/integration/Smoke_TestSuite/ClientSideTests/Binding/Bind_dataToTableV2WithSnipingMode_spec.js cypress/integration/Smoke_TestSuite/ClientSideTests/Binding/Bind_dataToTableWithSnipingMode_spec.js cypress/integration/Smoke_TestSuite/ClientSideTests/BugTests/Bug16377_spec.ts cypress/integration/Smoke_TestSuite/ClientSideTests/Git/GitDiscardChange/DiscardChanges_spec.js cypress/integration/Smoke_TestSuite/ClientSideTests/Git/GitSync/DeleteBranch_spec.js cypress/integration/Smoke_TestSuite/ClientSideTests/Git/GitSync/Deploy_spec.ts cypress/integration/Smoke_TestSuite/ClientSideTests/Git/GitSync/GitBugs_spec.js cypress/integration/Smoke_TestSuite/ClientSideTests/Git/GitSync/GitBugs_spec.js cypress/integration/Smoke_TestSuite/ClientSideTests/Git/GitSync/SwitchBranches_spec.js cypress/integration/Smoke_TestSuite/ClientSideTests/Onboarding/GuidedTour_spec.js cypress/integration/Smoke_TestSuite/ClientSideTests/OtherUIFeatures/ApplicationURL_spec.js cypress/integration/Smoke_TestSuite/ClientSideTests/OtherUIFeatures/Logs_spec.ts cypress/integration/Smoke_TestSuite/ClientSideTests/OtherUIFeatures/Logs_spec.ts cypress/integration/Smoke_TestSuite/ClientSideTests/Templates/Fork_Template_To_App_spec.js cypress/integration/Smoke_TestSuite/ClientSideTests/VisualTests/AppPageLayout_spec.js cypress/integration/Smoke_TestSuite/ClientSideTests/VisualTests/AppPageLayout_spec.js cypress/integration/Smoke_TestSuite/ClientSideTests/VisualTests/JSEditorIndent_spec.js cypress/integration/Smoke_TestSuite/ClientSideTests/VisualTests/WidgetsLayout_spec.js cypress/integration/Smoke_TestSuite/ClientSideTests/Widgets/Button/Button_onClickAction_spec.js cypress/integration/Smoke_TestSuite/ClientSideTests/Widgets/Dropdown/Dropdown_onOptionChange_spec.js cypress/integration/Smoke_TestSuite/ClientSideTests/Widgets/Form/FormWidget_spec.js cypress/integration/Smoke_TestSuite/ClientSideTests/Widgets/TableV1/Table_Derived_Column_Data_validation_spec.js cypress/integration/Smoke_TestSuite/ClientSideTests/Widgets/TableV1/Table_Property_JsonUpdate_spec.js cypress/integration/Smoke_TestSuite/ClientSideTests/Widgets/TableV1/Table_Property_JsonUpdate_spec.js cypress/integration/Smoke_TestSuite/ClientSideTests/Widgets/TableV2/TableV2_Property_JsonUpdate_spec.js cypress/integration/Smoke_TestSuite/ServerSideTests/ApiTests/API_Edit_spec.js cypress/integration/Smoke_TestSuite/ServerSideTests/ApiTests/API_Edit_spec.js cypress/integration/Smoke_TestSuite/ServerSideTests/ApiTests/API_Response_View_spec.js cypress/integration/Smoke_TestSuite/ServerSideTests/ApiTests/API_Response_View_spec.js cypress/integration/Smoke_TestSuite/ServerSideTests/ApiTests/CurlImportFlow_spec.js cypress/integration/Smoke_TestSuite/ServerSideTests/GenerateCRUD/Postgres2_Spec.ts cypress/integration/Smoke_TestSuite/ServerSideTests/JsFunctionExecution/JSFunctionExecution_spec.ts cypress/integration/Smoke_TestSuite/ServerSideTests/JsFunctionExecution/JSFunctionExecution_spec.ts cypress/integration/Smoke_TestSuite/ServerSideTests/JsFunctionExecution/SetTimeout_spec.ts cypress/integration/Smoke_TestSuite/ServerSideTests/JsFunctionExecution/SetTimeout_spec.ts cypress/integration/Smoke_TestSuite/ServerSideTests/OnLoadTests/ExecuteAction_Spec.ts cypress/integration/Smoke_TestSuite/ServerSideTests/OnLoadTests/ExecuteAction_Spec.ts

github-actions[bot] avatar Jan 12 '23 09:01 github-actions[bot]