feat: onboarding start with data cancel cta (#29228)
## Description This PR adds datasource cancel functionality during onboarding. When a user selects start with data flow, and select a plugin, on datasource form we can see cancel CTA beside save. On cancel user will be taken back to plugins page. #### PR fixes following issue(s) Fixes #29198 #### 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 - [x] 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 - [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 - [ ] 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 - [x] PR is being merged under a feature flag #### QA activity: - [ ] [Speedbreak features](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#speedbreakers-) have been covered - [ ] Test plan covers all impacted features and [areas of interest](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#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 --------- Co-authored-by: “sneha122” <“sneha@appsmith.com”>
This commit is contained in:
parent
fde6e2de54
commit
ab8e4ba146
|
|
@ -360,7 +360,8 @@ export type ONBOARDING_FLOW_EVENTS =
|
||||||
| "ONBOARDING_FLOW_CLICK_BACK_BUTTON_CREATE_NEW_APP_PAGE"
|
| "ONBOARDING_FLOW_CLICK_BACK_BUTTON_CREATE_NEW_APP_PAGE"
|
||||||
| "ONBOARDING_CREATE_APP_FLOW"
|
| "ONBOARDING_CREATE_APP_FLOW"
|
||||||
| "ONBOARDING_FLOW_CLICK_BACK_BUTTON_START_FROM_DATA_PAGE"
|
| "ONBOARDING_FLOW_CLICK_BACK_BUTTON_START_FROM_DATA_PAGE"
|
||||||
| "ONBOARDING_FLOW_CLICK_BACK_BUTTON_DATASOURCE_FORM_PAGE";
|
| "ONBOARDING_FLOW_CLICK_BACK_BUTTON_DATASOURCE_FORM_PAGE"
|
||||||
|
| "ONBOARDING_FLOW_DATASOURCE_FORM_CANCEL_CLICK";
|
||||||
|
|
||||||
export type DATASOURCE_SCHEMA_EVENTS =
|
export type DATASOURCE_SCHEMA_EVENTS =
|
||||||
| "DATASOURCE_SCHEMA_SEARCH"
|
| "DATASOURCE_SCHEMA_SEARCH"
|
||||||
|
|
|
||||||
|
|
@ -1016,6 +1016,7 @@ class DatasourceEditorRouter extends React.Component<Props, State> {
|
||||||
isFormDirty={this.props.isFormDirty}
|
isFormDirty={this.props.isFormDirty}
|
||||||
isInsideReconnectModal={isInsideReconnectModal}
|
isInsideReconnectModal={isInsideReconnectModal}
|
||||||
isInvalid={this.validateForm()}
|
isInvalid={this.validateForm()}
|
||||||
|
isOnboardingFlow={isOnboardingFlow}
|
||||||
isSaving={isSaving}
|
isSaving={isSaving}
|
||||||
isTesting={isTesting}
|
isTesting={isTesting}
|
||||||
onCancel={() => this.onCancel()}
|
onCancel={() => this.onCancel()}
|
||||||
|
|
|
||||||
|
|
@ -560,6 +560,7 @@ class DatasourceSaaSEditor extends JSONtoForm<Props, State> {
|
||||||
hiddenHeader,
|
hiddenHeader,
|
||||||
isDeleting,
|
isDeleting,
|
||||||
isInsideReconnectModal,
|
isInsideReconnectModal,
|
||||||
|
isOnboardingFlow,
|
||||||
isPluginAuthFailed,
|
isPluginAuthFailed,
|
||||||
isPluginAuthorized,
|
isPluginAuthorized,
|
||||||
isSaving,
|
isSaving,
|
||||||
|
|
@ -685,6 +686,7 @@ class DatasourceSaaSEditor extends JSONtoForm<Props, State> {
|
||||||
getSanitizedFormData={memoize(this.getSanitizedData)}
|
getSanitizedFormData={memoize(this.getSanitizedData)}
|
||||||
isInsideReconnectModal={isInsideReconnectModal}
|
isInsideReconnectModal={isInsideReconnectModal}
|
||||||
isInvalid={validate(this.props.requiredFields, formData)}
|
isInvalid={validate(this.props.requiredFields, formData)}
|
||||||
|
isOnboardingFlow={isOnboardingFlow}
|
||||||
isSaving={isSaving}
|
isSaving={isSaving}
|
||||||
isTesting={isTesting}
|
isTesting={isTesting}
|
||||||
onCancel={() => this.onCancel()}
|
onCancel={() => this.onCancel()}
|
||||||
|
|
|
||||||
|
|
@ -38,6 +38,7 @@ import { getCurrentEnvironmentDetails } from "@appsmith/selectors/environmentSel
|
||||||
import { useFeatureFlag } from "utils/hooks/useFeatureFlag";
|
import { useFeatureFlag } from "utils/hooks/useFeatureFlag";
|
||||||
import { FEATURE_FLAG } from "@appsmith/entities/FeatureFlag";
|
import { FEATURE_FLAG } from "@appsmith/entities/FeatureFlag";
|
||||||
import { getHasManageDatasourcePermission } from "@appsmith/utils/BusinessFeatures/permissionPageHelpers";
|
import { getHasManageDatasourcePermission } from "@appsmith/utils/BusinessFeatures/permissionPageHelpers";
|
||||||
|
import { resetCurrentPluginIdForCreateNewApp } from "actions/onboardingActions";
|
||||||
|
|
||||||
interface Props {
|
interface Props {
|
||||||
datasource: Datasource;
|
datasource: Datasource;
|
||||||
|
|
@ -65,6 +66,7 @@ interface Props {
|
||||||
isFormDirty?: boolean;
|
isFormDirty?: boolean;
|
||||||
scopeValue?: string;
|
scopeValue?: string;
|
||||||
onCancel: () => void;
|
onCancel: () => void;
|
||||||
|
isOnboardingFlow?: boolean;
|
||||||
}
|
}
|
||||||
|
|
||||||
export type DatasourceFormButtonTypes = Record<string, string[]>;
|
export type DatasourceFormButtonTypes = Record<string, string[]>;
|
||||||
|
|
@ -137,6 +139,7 @@ function DatasourceAuth({
|
||||||
isFormDirty,
|
isFormDirty,
|
||||||
isInsideReconnectModal,
|
isInsideReconnectModal,
|
||||||
isInvalid,
|
isInvalid,
|
||||||
|
isOnboardingFlow,
|
||||||
isSaving,
|
isSaving,
|
||||||
isTesting,
|
isTesting,
|
||||||
onCancel,
|
onCancel,
|
||||||
|
|
@ -343,12 +346,20 @@ function DatasourceAuth({
|
||||||
kind="tertiary"
|
kind="tertiary"
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
if (createMode) {
|
if (createMode) {
|
||||||
const URL = integrationEditorURL({
|
if (!!isOnboardingFlow) {
|
||||||
pageId,
|
// Going back from start from data screen
|
||||||
selectedTab: INTEGRATION_TABS.NEW,
|
AnalyticsUtil.logEvent(
|
||||||
params: getQueryParams(),
|
"ONBOARDING_FLOW_DATASOURCE_FORM_CANCEL_CLICK",
|
||||||
});
|
);
|
||||||
history.push(URL);
|
dispatch(resetCurrentPluginIdForCreateNewApp());
|
||||||
|
} else {
|
||||||
|
const URL = integrationEditorURL({
|
||||||
|
pageId,
|
||||||
|
selectedTab: INTEGRATION_TABS.NEW,
|
||||||
|
params: getQueryParams(),
|
||||||
|
});
|
||||||
|
history.push(URL);
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
!!onCancel && onCancel();
|
!!onCancel && onCancel();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user