chore: New datasource pane GAC (#28802)
## Description Updates the GAC control for creating datasource #### PR fixes following issue(s) Fixes #28820 #### Media #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## 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](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
This commit is contained in:
parent
ad88b65d95
commit
450abc7f8c
|
|
@ -10,6 +10,12 @@ import history from "utils/history";
|
|||
import { integrationEditorURL } from "@appsmith/RouteBuilder";
|
||||
import type { RouteComponentProps } from "react-router";
|
||||
import { INTEGRATION_TABS } from "constants/routes";
|
||||
import { useSelector } from "react-redux";
|
||||
import type { AppState } from "@appsmith/reducers";
|
||||
import { getCurrentAppWorkspace } from "@appsmith/selectors/workspaceSelectors";
|
||||
import { useFeatureFlag } from "utils/hooks/useFeatureFlag";
|
||||
import { FEATURE_FLAG } from "@appsmith/entities/FeatureFlag";
|
||||
import { getHasCreateDatasourcePermission } from "@appsmith/utils/BusinessFeatures/permissionPageHelpers";
|
||||
|
||||
const Container = styled.div`
|
||||
height: 100%;
|
||||
|
|
@ -38,6 +44,16 @@ const DatasourceBlankState = (
|
|||
pageId: string;
|
||||
}>,
|
||||
) => {
|
||||
const userWorkspacePermissions = useSelector(
|
||||
(state: AppState) => getCurrentAppWorkspace(state).userPermissions ?? [],
|
||||
);
|
||||
|
||||
const isFeatureEnabled = useFeatureFlag(FEATURE_FLAG.license_gac_enabled);
|
||||
|
||||
const canCreateDatasource = getHasCreateDatasourcePermission(
|
||||
isFeatureEnabled,
|
||||
userWorkspacePermissions,
|
||||
);
|
||||
return (
|
||||
<Container>
|
||||
<Content>
|
||||
|
|
@ -46,6 +62,7 @@ const DatasourceBlankState = (
|
|||
{createMessage(DATASOURCE_BLANK_STATE_MESSAGE)}
|
||||
</Text>
|
||||
<Button
|
||||
disabled={!canCreateDatasource}
|
||||
kind="primary"
|
||||
onClick={() =>
|
||||
history.push(
|
||||
|
|
|
|||
|
|
@ -2,12 +2,29 @@ import { Button, Popover, PopoverTrigger } from "design-system";
|
|||
import React from "react";
|
||||
import history from "utils/history";
|
||||
import { builderURL } from "@appsmith/RouteBuilder";
|
||||
import { useSelector } from "react-redux";
|
||||
import type { AppState } from "@appsmith/reducers";
|
||||
import { getCurrentAppWorkspace } from "@appsmith/selectors/workspaceSelectors";
|
||||
import { useFeatureFlag } from "utils/hooks/useFeatureFlag";
|
||||
import { FEATURE_FLAG } from "@appsmith/entities/FeatureFlag";
|
||||
import { getHasCreateDatasourcePermission } from "@appsmith/utils/BusinessFeatures/permissionPageHelpers";
|
||||
|
||||
const CreateDatasourcePopover = () => {
|
||||
const userWorkspacePermissions = useSelector(
|
||||
(state: AppState) => getCurrentAppWorkspace(state).userPermissions ?? [],
|
||||
);
|
||||
|
||||
const isFeatureEnabled = useFeatureFlag(FEATURE_FLAG.license_gac_enabled);
|
||||
|
||||
const canCreateDatasource = getHasCreateDatasourcePermission(
|
||||
isFeatureEnabled,
|
||||
userWorkspacePermissions,
|
||||
);
|
||||
return (
|
||||
<Popover open={false}>
|
||||
<PopoverTrigger>
|
||||
<Button
|
||||
disabled={!canCreateDatasource}
|
||||
isIconButton
|
||||
kind="tertiary"
|
||||
onClick={() =>
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user