Skip to content
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

chore: custom widget #28926

Merged
merged 47 commits into from
Dec 28, 2023
Merged

chore: custom widget #28926

merged 47 commits into from
Dec 28, 2023

Conversation

sbalaji1192
Copy link
Contributor

@sbalaji1192 sbalaji1192 commented Nov 17, 2023

Description

This PR's adds the custom widget.

PR fixes following issue(s)

Fixes #28607
Fixes #28610
Fixes #28615
Fixes #28608
Fixes #28612

if no issue exists, please create an issue and ask the maintainers about this first

Media

A video or a GIF is preferred. when using Loom, don’t embed because it looks like it’s a GIF. instead, just link to the video

Type of change

  • New feature (non-breaking change which adds functionality)

Testing

How Has This Been Tested?

Please describe the tests that you ran to verify your changes. Also list any relevant details for your test configuration.
Delete anything that is not relevant

  • Manual
  • JUnit
  • Jest
  • 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

  • My code follows the style guidelines of this project
  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • My changes generate no new warnings
  • 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:

  • Speedbreak features have been covered
  • Test plan covers all impacted features and areas of interest
  • Test plan has been peer reviewed by project stakeholders and other QA members
  • Manually tested functionality on DP
  • We had an implementation alignment call with stakeholders post QA Round 2
  • Cypress test cases have been added and approved by SDET/manual QA
  • Added Test Plan Approved label after Cypress tests were reviewed
  • Added Test Plan Approved label after JUnit tests were reviewed

Summary by CodeRabbit

  • New Features

    • Introduced search functionality with a wildcard option for unmatched widget searches.
    • Added new routes for custom widget editing.
    • Implemented additional editor modes for HTML and CSS.
    • Created new code templates and help components for custom widget builders.
    • Enhanced property controls with new button controls for custom widget editing.
    • Updated theming interfaces and constants for better theming support.
    • Added the CustomWidget component for embedding custom widgets in iframes.
    • Expanded widgets library to include the CustomWidget.
  • Enhancements

    • Improved CodeEditor with additional modes, props, and resize behavior.
    • Enhanced PropertyPaneControlConfig interface with dynamic dependencies and additional properties.
    • Refined custom widget scripts with communication channel and event handling.
  • Bug Fixes

    • Fixed visibility logic for the ExternalWidget card.
  • Documentation

    • Added new messages and documentation links for custom widget features.
  • Tests

    • Implemented new Cypress tests for custom widget default components and property pane interactions.
    • Updated workspace commands in Cypress tests.
  • Refactor

    • Streamlined PropertyControl state management and editing functions.
    • Refactored code editor hint helper logic.
  • Style

    • Added borderLess prop to style components without borders.
  • Chores

    • Updated constants and messages related to custom widget features.
    • Adjusted webpack configuration to ignore specific module warnings.

@sbalaji1192
Copy link
Contributor Author

/build-deploy-preview skipTests=true

Copy link

Deploying Your Preview: https://github.com/appsmithorg/appsmith/actions/runs/6901080386.
Workflow: On demand build Docker image and deploy preview.
skip-tests: . env: .
PR: 28926.
recreate: .

Copy link

Deploy-Preview-URL: https://ce-28926.dp.appsmith.com

@sbalaji1192
Copy link
Contributor Author

/build-deploy-preview skipTests=true

Copy link

Deploying Your Preview: https://github.com/appsmithorg/appsmith/actions/runs/6928247115.
Workflow: On demand build Docker image and deploy preview.
skip-tests: . env: .
PR: 28926.
recreate: .

@sbalaji1192
Copy link
Contributor Author

/build-deploy-preview skipTests=true

Copy link

Deploying Your Preview: https://github.com/appsmithorg/appsmith/actions/runs/6929011918.
Workflow: On demand build Docker image and deploy preview.
skip-tests: . env: .
PR: 28926.
recreate: .

Copy link

Deploy-Preview-URL: https://ce-28926.dp.appsmith.com

@sbalaji1192
Copy link
Contributor Author

/build-deploy-preview skipTests=true

Copy link

Deploying Your Preview: https://github.com/appsmithorg/appsmith/actions/runs/6940279799.
Workflow: On demand build Docker image and deploy preview.
skip-tests: . env: .
PR: 28926.
recreate: .

Copy link

Deploy-Preview-URL: https://ce-28926.dp.appsmith.com

@sbalaji1192
Copy link
Contributor Author

/build-deploy-preview skipTests=true

Copy link

Deploying Your Preview: https://github.com/appsmithorg/appsmith/actions/runs/6942561215.
Workflow: On demand build Docker image and deploy preview.
skip-tests: . env: .
PR: 28926.
recreate: .

Copy link

Deploy-Preview-URL: https://ce-28926.dp.appsmith.com

@sbalaji1192
Copy link
Contributor Author

/build-deploy-preview skipTests=true

Copy link

Deploying Your Preview: https://github.com/appsmithorg/appsmith/actions/runs/6968959435.
Workflow: On demand build Docker image and deploy preview.
skip-tests: . env: .
PR: 28926.
recreate: .

Copy link

Deploy-Preview-URL: https://ce-28926.dp.appsmith.com

Copy link

This PR has not seen activitiy for a while. It will be closed in 7 days unless further activity is detected.

@sbalaji1192
Copy link
Contributor Author

/build-deploy-preview skipTests=true

Copy link

github-actions bot commented Dec 1, 2023

Deploying Your Preview: https://github.com/appsmithorg/appsmith/actions/runs/7059764011.
Workflow: On demand build Docker image and deploy preview.
skip-tests: . env: .
PR: 28926.
recreate: .

@sbalaji1192
Copy link
Contributor Author

/build-deploy-preview skipTests=true

Copy link

github-actions bot commented Dec 1, 2023

Deploying Your Preview: https://github.com/appsmithorg/appsmith/actions/runs/7059859404.
Workflow: On demand build Docker image and deploy preview.
skip-tests: . env: .
PR: 28926.
recreate: .

Copy link

github-actions bot commented Dec 1, 2023

Deploy-Preview-URL: https://ce-28926.dp.appsmith.com

@sbalaji1192
Copy link
Contributor Author

/ok-to-test tags="@tag.All"

Copy link

Tests running at: https://github.com/appsmithorg/appsmith/actions/runs/7337613854.
Workflow: Appsmith External Integration Test Workflow.
Tags: ``.

Copy link

Workflow run: https://github.com/appsmithorg/appsmith/actions/runs/7337196588.
Commit: ``.
Cypress dashboard: Click here!
The following are new failures, please fix them before merging the PR:

  1. cypress/e2e/Regression/ClientSide/ExplorerTests/Widgets_Sidebar.ts

To know the list of identified flaky tests - Refer here

rajatagrawal
rajatagrawal previously approved these changes Dec 27, 2023
Copy link

Workflow run: https://github.com/appsmithorg/appsmith/actions/runs/7337613854.
Commit: ``.
Cypress dashboard: Click here!
The following are new failures, please fix them before merging the PR:

  1. cypress/e2e/Regression/ClientSide/ExplorerTests/Widgets_Sidebar.ts

  2. cypress/e2e/Regression/ClientSide/Templates/Fork_Template_spec.js
To know the list of identified flaky tests - Refer here

Copy link

Workflow run: https://github.com/appsmithorg/appsmith/actions/runs/7337613854.
Commit: ``.
Cypress dashboard: Click here!
The following are new failures, please fix them before merging the PR:

  1. cypress/e2e/Regression/ClientSide/ExplorerTests/Widgets_Sidebar.ts

To know the list of identified flaky tests - Refer here

@sbalaji1192
Copy link
Contributor Author

/ok-to-test tags="@tag.All"

Copy link

Tests running at: https://github.com/appsmithorg/appsmith/actions/runs/7338068556.
Workflow: Appsmith External Integration Test Workflow.
Tags: ``.

Copy link

Workflow run: https://github.com/appsmithorg/appsmith/actions/runs/7338068556.
Commit: ``.
Cypress dashboard url: Click here!
All cypress tests have passed 🎉🎉🎉

@sbalaji1192
Copy link
Contributor Author

/ok-to-test tags="@tag.All"

Copy link

Tests running at: https://github.com/appsmithorg/appsmith/actions/runs/7338902827.
Workflow: Appsmith External Integration Test Workflow.
Tags: ``.

@sbalaji1192
Copy link
Contributor Author

/ok-to-test tags="@tag.All"

Copy link

Tests running at: https://github.com/appsmithorg/appsmith/actions/runs/7338952798.
Workflow: Appsmith External Integration Test Workflow.
Tags: ``.

Copy link

Workflow run: https://github.com/appsmithorg/appsmith/actions/runs/7338902827.
Commit: ``.
Cypress dashboard url: Click here!
It seems like there are some failures 😔. We are not able to recognize it, please check this manually here.

Copy link

Workflow run: https://github.com/appsmithorg/appsmith/actions/runs/7338952798.
Commit: ``.
Cypress dashboard url: Click here!
All cypress tests have passed 🎉🎉🎉

Copy link

Workflow run: https://github.com/appsmithorg/appsmith/actions/runs/7338902827.
Commit: ``.
Cypress dashboard: Click here!
The following are new failures, please fix them before merging the PR:

  1. cypress/e2e/Regression/ClientSide/Binding/JSObjectToInput_Spec.ts

  2. cypress/e2e/Regression/ServerSide/GenerateCRUD/MySQL1_Spec.ts
To know the list of identified flaky tests - Refer here

Copy link

Workflow run: https://github.com/appsmithorg/appsmith/actions/runs/7338902827.
Commit: ``.
Cypress dashboard url: Click here!
All cypress tests have passed 🎉🎉🎉

@sbalaji1192
Copy link
Contributor Author

/ok-to-test tags="@tag.All"

Copy link

Tests running at: https://github.com/appsmithorg/appsmith/actions/runs/7344659475.
Workflow: Appsmith External Integration Test Workflow.
Tags: ``.

Copy link

Workflow run: https://github.com/appsmithorg/appsmith/actions/runs/7344659475.
Commit: ``.
Cypress dashboard url: Click here!
It seems like there are some failures 😔. We are not able to recognize it, please check this manually here.

Copy link

Workflow run: https://github.com/appsmithorg/appsmith/actions/runs/7344659475.
Commit: ``.
Cypress dashboard url: Click here!
All cypress tests have passed 🎉🎉🎉

@sbalaji1192 sbalaji1192 merged commit 837d0cc into release Dec 28, 2023
12 checks passed
@sbalaji1192 sbalaji1192 deleted the feat/custom-widget branch December 28, 2023 06:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Custom Widgets For all issues related to the custom widget project skip-changelog Adding this label to a PR prevents it from being listed in the changelog Widgets Product This label groups issues related to widgets
Projects
None yet
3 participants