chore: Updating embed settings feature tag from Business to Enterprise (#33448)
## Description - Updating embed settings feature tag from Business to Enterprise - Also, removing references of "edition" from all over the codebase - Also, fixing the issue for text input fields not getting cleared on click of reset button when the old value was a blank string Fixes [#33450](https://github.com/appsmithorg/appsmith/issues/33450) [#33449](https://github.com/appsmithorg/appsmith/issues/33449) ## Automation /ok-to-test tags="@tag.Settings, @tag.Fork, @tag.Workspace" ### 🔍 Cypress test results <!-- This is an auto-generated comment: Cypress test results --> > [!TIP] > 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉 > Workflow run: <https://github.com/appsmithorg/appsmith/actions/runs/9094357338> > Commit: 59f05f374b777778ee39bf1f7078844a50f6a72a > Cypress dashboard url: <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9094357338&attempt=1" target="_blank">Click here!</a> <!-- end of auto-generated comment: Cypress test results --> ## Communication Should the DevRel and Marketing teams inform users about this change? - [ ] Yes - [ ] No
This commit is contained in:
parent
49bf9c64ea
commit
a6b8a36d6c
|
|
@ -8,7 +8,7 @@ import {
|
|||
|
||||
describe(
|
||||
"Export application as a JSON file",
|
||||
{ tags: ["@tag.ExportApplication"] },
|
||||
{ tags: ["@tag.ImportExport"] },
|
||||
function () {
|
||||
let workspaceId, appid;
|
||||
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@ describe("Private embed in-app ramp", { tags: ["@tag.Settings"] }, () => {
|
|||
);
|
||||
_.agHelper.GetNAssertElementText(
|
||||
_.inviteModal.locators._privateEmbedRampAppSettings,
|
||||
"To embed private Appsmith apps and seamlessly authenticate users through SSO",
|
||||
Cypress.env("MESSAGES").IN_APP_EMBED_SETTING.rampSubtextSidebar(),
|
||||
"contain.text",
|
||||
);
|
||||
checkRampLink();
|
||||
|
|
@ -19,7 +19,7 @@ describe("Private embed in-app ramp", { tags: ["@tag.Settings"] }, () => {
|
|||
_.inviteModal.SelectEmbedTab();
|
||||
_.agHelper.GetNAssertElementText(
|
||||
_.inviteModal.locators._privateEmbedRampAppSettings,
|
||||
"Embed private Appsmith apps and seamlessly authenticate users through SSO in our Business Edition",
|
||||
Cypress.env("MESSAGES").IN_APP_EMBED_SETTING.rampSubtextModal(),
|
||||
"contain.text",
|
||||
);
|
||||
checkRampLink();
|
||||
|
|
@ -28,7 +28,7 @@ describe("Private embed in-app ramp", { tags: ["@tag.Settings"] }, () => {
|
|||
cy.get(_.inviteModal.locators._privateEmbedRampLink)
|
||||
.should("have.attr", "href")
|
||||
.then((href) => {
|
||||
expect(href).to.include("customer.appsmith.com");
|
||||
expect(href).to.include("https://www.appsmith.com/pricing?");
|
||||
});
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1923,13 +1923,13 @@ export const IN_APP_EMBED_SETTING = {
|
|||
"Make your app public by visiting the share settings, and easily embed your Appsmith app into legacy applications",
|
||||
privateAppsText: () => "Private apps",
|
||||
rampSubtextModal: () =>
|
||||
"Embed private Appsmith apps and seamlessly authenticate users through SSO in our Business Edition",
|
||||
"Embed private Appsmith apps and seamlessly authenticate users through SSO in our Enterprise Edition",
|
||||
rampSubtextSidebar: () =>
|
||||
"To embed private Appsmith apps and seamlessly authenticate users through SSO, try our ",
|
||||
rampLinktext: () => "Try Business",
|
||||
rampLinktextvariant2: () => "Business Edition",
|
||||
rampLinktext: () => "Try Enterprise",
|
||||
rampLinktextvariant2: () => "Enterprise Edition",
|
||||
upgradeContent: () => "Private embedding is now available in",
|
||||
appsmithBusinessEdition: () => "Appsmith Business Edition.",
|
||||
appsmithEnterpriseEdition: () => "Appsmith Enterprise Edition.",
|
||||
secondaryHeadingForAppSettings: () =>
|
||||
"Make your app public to embed your Appsmith app into legacy applications",
|
||||
secondaryHeading: () =>
|
||||
|
|
|
|||
|
|
@ -1,7 +1,10 @@
|
|||
import { createSelector } from "reselect";
|
||||
import type { AppState } from "@appsmith/reducers";
|
||||
import { getAppsmithConfigs } from "@appsmith/configs";
|
||||
import { CUSTOMER_PORTAL_URL_WITH_PARAMS } from "constants/ThirdPartyConstants";
|
||||
import {
|
||||
CUSTOMER_PORTAL_URL_WITH_PARAMS,
|
||||
PRICING_PAGE_URL,
|
||||
} from "constants/ThirdPartyConstants";
|
||||
import {
|
||||
PRODUCT_RAMPS_LIST,
|
||||
RAMP_FOR_ROLES,
|
||||
|
|
@ -12,27 +15,33 @@ import {
|
|||
PERMISSION_TYPE,
|
||||
} from "@appsmith/utils/permissionHelpers";
|
||||
|
||||
const { cloudHosting, customerPortalUrl } = getAppsmithConfigs();
|
||||
const { cloudHosting, customerPortalUrl, pricingUrl } = getAppsmithConfigs();
|
||||
|
||||
const tenantState = (state: AppState) => state.tenant;
|
||||
const uiState = (state: AppState) => state.ui;
|
||||
|
||||
export const getRampLink = ({
|
||||
feature,
|
||||
isBusinessFeature = true,
|
||||
section,
|
||||
}: {
|
||||
section: string;
|
||||
feature: string;
|
||||
isBusinessFeature?: boolean;
|
||||
}) =>
|
||||
createSelector(tenantState, (tenant) => {
|
||||
const instanceId = tenant?.instanceId;
|
||||
const source = cloudHosting ? "cloud" : "CE";
|
||||
const RAMP_LINK_TO = CUSTOMER_PORTAL_URL_WITH_PARAMS(
|
||||
customerPortalUrl,
|
||||
source,
|
||||
instanceId,
|
||||
);
|
||||
return `${RAMP_LINK_TO}&feature=${feature}§ion=${section}`;
|
||||
const RAMP_LINK_TO = isBusinessFeature
|
||||
? CUSTOMER_PORTAL_URL_WITH_PARAMS(
|
||||
customerPortalUrl,
|
||||
source,
|
||||
instanceId,
|
||||
feature,
|
||||
section,
|
||||
)
|
||||
: PRICING_PAGE_URL(pricingUrl, source, instanceId, feature, section);
|
||||
return RAMP_LINK_TO;
|
||||
});
|
||||
|
||||
export const showProductRamps = (
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@ const renderComponent = (
|
|||
input: Partial<WrappedFieldInputProps>;
|
||||
},
|
||||
) => {
|
||||
const value = componentProps.input.value || componentProps.defaultValue;
|
||||
const value = componentProps.input.value || componentProps.defaultValue || "";
|
||||
const showError = componentProps.meta.touched && !componentProps.meta.active;
|
||||
return componentProps.type === SettingSubtype.NUMBER ? (
|
||||
<NumberInput
|
||||
|
|
|
|||
|
|
@ -18,9 +18,9 @@ import {
|
|||
getRampLink,
|
||||
showProductRamps,
|
||||
} from "@appsmith/selectors/rampSelectors";
|
||||
import BusinessTag from "components/BusinessTag";
|
||||
import { FEATURE_FLAG } from "@appsmith/entities/FeatureFlag";
|
||||
import { useFeatureFlag } from "utils/hooks/useFeatureFlag";
|
||||
import EnterpriseTag from "components/EnterpriseTag";
|
||||
|
||||
function PrivateEmbeddingContent(props: {
|
||||
userAppPermissions: any[];
|
||||
|
|
@ -51,6 +51,7 @@ export function PrivateEmbedRampModal() {
|
|||
const rampLinkSelector = getRampLink({
|
||||
section: RampSection.ShareModal,
|
||||
feature: RampFeature.PrivateEmbeds,
|
||||
isBusinessFeature: false,
|
||||
});
|
||||
const rampLink = useSelector(rampLinkSelector);
|
||||
const isPrivateEmbedEnabled = useFeatureFlag(
|
||||
|
|
@ -71,7 +72,7 @@ export function PrivateEmbedRampModal() {
|
|||
<Text kind="body-m">
|
||||
{createMessage(IN_APP_EMBED_SETTING.privateAppsText)}
|
||||
</Text>
|
||||
<BusinessTag classes="ml-1 mt-0.5" />
|
||||
<EnterpriseTag classes="ml-1 mt-0.5" />
|
||||
</div>
|
||||
<Text
|
||||
className="w-7/10 block"
|
||||
|
|
@ -99,6 +100,7 @@ export function PrivateEmbedRampSidebar() {
|
|||
const rampLinkSelector = getRampLink({
|
||||
section: RampSection.AppSettings,
|
||||
feature: RampFeature.PrivateEmbeds,
|
||||
isBusinessFeature: false,
|
||||
});
|
||||
const rampLink = useSelector(rampLinkSelector);
|
||||
const isPrivateEmbedEnabled = useFeatureFlag(
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user