## Description This pull request adds partial import/export functionality to the Appsmith application at page level, allowing users to import and export specific widgets, data sources, queries, and custom JS libraries. The functionality is behind a feature flag and includes loading and done states. #### PR fixes following issue(s) Fixes #27376 > 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 - [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 - [ ] 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](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: Jacques Ikot <jacquesikot@gmail.com> Co-authored-by: Anagh Hegde <anagh@appsmith.com>
85 lines
3.8 KiB
TypeScript
85 lines
3.8 KiB
TypeScript
// Please follow naming convention : https://www.notion.so/appsmith/Using-Feature-Flags-in-Appsmith-d362fe7acc7d4ef0aa12e1f5f9b83b5f?pvs=4#f6d4242e56284e84af25cadef71b7aeb to create feature flags.
|
|
export const FEATURE_FLAG = {
|
|
TEST_FLAG: "TEST_FLAG",
|
|
release_datasource_environments_enabled:
|
|
"release_datasource_environments_enabled",
|
|
release_appnavigationlogoupload_enabled:
|
|
"release_appnavigationlogoupload_enabled",
|
|
release_embed_hide_share_settings_enabled:
|
|
"release_embed_hide_share_settings_enabled",
|
|
ab_gsheet_schema_enabled: "ab_gsheet_schema_enabled",
|
|
ab_wds_enabled: "ab_wds_enabled",
|
|
release_table_serverside_filtering_enabled:
|
|
"release_table_serverside_filtering_enabled",
|
|
release_custom_echarts_enabled: "release_custom_echarts_enabled",
|
|
license_branding_enabled: "license_branding_enabled",
|
|
release_git_status_lite_enabled: "release_git_status_lite_enabled",
|
|
license_sso_saml_enabled: "license_sso_saml_enabled",
|
|
license_sso_oidc_enabled: "license_sso_oidc_enabled",
|
|
release_git_connect_v2_enabled: "release_git_connect_v2_enabled",
|
|
deprecate_custom_fusioncharts_enabled:
|
|
"deprecate_custom_fusioncharts_enabled",
|
|
ab_mock_mongo_schema_enabled: "ab_mock_mongo_schema_enabled",
|
|
license_private_embeds_enabled: "license_private_embeds_enabled",
|
|
release_show_publish_app_to_community_enabled:
|
|
"release_show_publish_app_to_community_enabled",
|
|
license_gac_enabled: "license_gac_enabled",
|
|
release_anvil_enabled: "release_anvil_enabled",
|
|
ab_show_templates_instead_of_blank_canvas_enabled:
|
|
"ab_show_templates_instead_of_blank_canvas_enabled",
|
|
release_app_sidebar_enabled: "release_app_sidebar_enabled",
|
|
license_git_branch_protection_enabled:
|
|
"license_git_branch_protection_enabled",
|
|
license_widget_rtl_support_enabled: "license_widget_rtl_support_enabled",
|
|
release_custom_widgets_enabled: "release_custom_widgets_enabled",
|
|
ab_onboarding_flow_start_with_data_dev_only_enabled:
|
|
"ab_onboarding_flow_start_with_data_dev_only_enabled",
|
|
ab_create_new_apps_enabled: "ab_create_new_apps_enabled",
|
|
release_show_new_sidebar_announcement_enabled:
|
|
"release_show_new_sidebar_announcement_enabled",
|
|
rollout_app_sidebar_enabled: "rollout_app_sidebar_enabled",
|
|
release_show_partial_import_export_enabled:
|
|
"release_show_partial_import_export_enabled",
|
|
} as const;
|
|
|
|
export type FeatureFlag = keyof typeof FEATURE_FLAG;
|
|
|
|
export type FeatureFlags = Record<FeatureFlag, boolean>;
|
|
|
|
export const DEFAULT_FEATURE_FLAG_VALUE: FeatureFlags = {
|
|
TEST_FLAG: true,
|
|
release_datasource_environments_enabled: false,
|
|
release_appnavigationlogoupload_enabled: false,
|
|
release_embed_hide_share_settings_enabled: false,
|
|
ab_gsheet_schema_enabled: false,
|
|
ab_wds_enabled: false,
|
|
release_table_serverside_filtering_enabled: false,
|
|
release_custom_echarts_enabled: false,
|
|
license_branding_enabled: false,
|
|
release_git_status_lite_enabled: false,
|
|
license_sso_saml_enabled: false,
|
|
license_sso_oidc_enabled: false,
|
|
release_git_connect_v2_enabled: false,
|
|
deprecate_custom_fusioncharts_enabled: false,
|
|
ab_mock_mongo_schema_enabled: false,
|
|
license_private_embeds_enabled: false,
|
|
release_show_publish_app_to_community_enabled: false,
|
|
license_gac_enabled: false,
|
|
release_anvil_enabled: false,
|
|
ab_show_templates_instead_of_blank_canvas_enabled: false,
|
|
release_app_sidebar_enabled: false,
|
|
license_git_branch_protection_enabled: false,
|
|
license_widget_rtl_support_enabled: false,
|
|
release_custom_widgets_enabled: false,
|
|
ab_onboarding_flow_start_with_data_dev_only_enabled: false,
|
|
ab_create_new_apps_enabled: false,
|
|
release_show_new_sidebar_announcement_enabled: false,
|
|
rollout_app_sidebar_enabled: false,
|
|
release_show_partial_import_export_enabled: false,
|
|
};
|
|
|
|
export const AB_TESTING_EVENT_KEYS = {
|
|
abTestingFlagLabel: "abTestingFlagLabel",
|
|
abTestingFlagValue: "abTestingFlagValue",
|
|
};
|