From 7af9ed343bd3e6da0005f0fa9c736da732fc9380 Mon Sep 17 00:00:00 2001 From: Ratheshan03 Date: Mon, 27 Oct 2025 22:20:22 +0530 Subject: [PATCH 1/3] fix: Fix UI issues in rate limiting Resources page The blue colored text gave the false impression of clickable links, confusing users. The button was misaligned in the flex container. Changes: - Removed color='primary.main' from API Level Box - Removed cursor='pointer' from API Level Box - Removed color='primary.main' from Operation Level Box - Added variant, size, and sx alignment props to button Fixes wso2/api-manager#4383" --- .../main/webapp/site/public/locales/en.json | 60 +++++++++---------- .../OperationGovernance.jsx | 17 ++++-- 2 files changed, 42 insertions(+), 35 deletions(-) diff --git a/portals/publisher/src/main/webapp/site/public/locales/en.json b/portals/publisher/src/main/webapp/site/public/locales/en.json index b6808b4dcfd..a4d63157694 100644 --- a/portals/publisher/src/main/webapp/site/public/locales/en.json +++ b/portals/publisher/src/main/webapp/site/public/locales/en.json @@ -216,8 +216,8 @@ "Apis.Create.streaming.Components.SelectPolicies.business.plans": "Protocol", "Apis.Create.streaming.Components.create.and.publish.btn": "Create & Publish", "Apis.Create.streaming.Components.create.btn": "Create", - "Apis.Details.\n Environments.Environments.\n pending.chip": "Pending", - "Apis.Details.\n Environments.deploy.vhost": "VHost", + "Apis.Details.\r\n Environments.Environments.\r\n pending.chip": "Pending", + "Apis.Details.\r\n Environments.deploy.vhost": "VHost", "Apis.Details.APIDefinition.APIDefinition.api.definition": "API Definition", "Apis.Details.APIDefinition.APIDefinition.api.definition.oas.updated.successfully": "API Definition Updated Successfully", "Apis.Details.APIDefinition.APIDefinition.api.definition.save.confirmation": "Are you sure you want to save the API Definition? This might affect the existing resources.", @@ -445,8 +445,8 @@ "Apis.Details.Configuration.AuthHeader.helper.text": "Authorization header name cannot contain spaces or special characters", "Apis.Details.Configuration.Components.AI.BE.Rate.Limiting.prod": "Backend Rate Limiting", "Apis.Details.Configuration.Components.AI.BE.Rate.Limiting.tooltip": "This option determines the type of Backend Rate Limiting that is applied to the API.", - "Apis.Details.Configuration.Components.APISecurity.Components.\n ApplicationLevel.Client.Websocket": "Client Websocket", - "Apis.Details.Configuration.Components.APISecurity.Components.\n ApplicationLevel.Websocket": "Application Level Security", + "Apis.Details.Configuration.Components.APISecurity.Components.\r\n ApplicationLevel.Client.Websocket": "Client Websocket", + "Apis.Details.Configuration.Components.APISecurity.Components.\r\n ApplicationLevel.Websocket": "Application Level Security", "Apis.Details.Configuration.Components.APISecurity.Components.ApplicationLevel.http": "Application Level Security", "Apis.Details.Configuration.Components.APISecurity.Components.ApplicationLevel.security.scheme.api.key": "Api Key", "Apis.Details.Configuration.Components.APISecurity.Components.ApplicationLevel.security.scheme.basic": "Basic", @@ -758,8 +758,8 @@ "Apis.Details.Documents.View.meta.summary": "Summary", "Apis.Details.Documents.ViewDocument.view.document": "View Document", "Apis.Details.EditScopes.Roles.Invalid": "Role is invalid", - "Apis.Details.Endpoints.\n GenericEndpoint.config.endpoint": "Endpoint configurations", - "Apis.Details.Endpoints.\n GenericEndpoint.security.endpoint": "Endpoint security", + "Apis.Details.Endpoints.\r\n GenericEndpoint.config.endpoint": "Endpoint configurations", + "Apis.Details.Endpoints.\r\n GenericEndpoint.security.endpoint": "Endpoint security", "Apis.Details.Endpoints..EndpointOverview.change.type.proceed": "Proceed", "Apis.Details.Endpoints.AIEndpoints.AIEndpoints.confirm.delete.cancel": "Cancel", "Apis.Details.Endpoints.AIEndpoints.AIEndpoints.confirm.delete.message": "Are you sure you want to delete the endpoint {name}?", @@ -875,7 +875,7 @@ "Apis.Details.Endpoints.EndpointOverview.awslambda.endpoint.tooltip": "You can and should use an IAM role to manage temporary credentials for applications that run on an AWS instance", "Apis.Details.Endpoints.EndpointOverview.change.type.cancel": "Cancel", "Apis.Details.Endpoints.EndpointOverview.endpoint.security.configuration": "Endpoint Security Configurations", - "Apis.Details.Endpoints.EndpointOverview.endpoint.type\n .change.confirmation.message": "Your current endpoint configuration will be lost.", + "Apis.Details.Endpoints.EndpointOverview.endpoint.type\r\n .change.confirmation.message": "Your current endpoint configuration will be lost.", "Apis.Details.Endpoints.EndpointOverview.endpoint.type.change.confirmation": "Change Endpoint Type", "Apis.Details.Endpoints.EndpointOverview.general.config.header": "General Endpoint Configurations", "Apis.Details.Endpoints.EndpointOverview.lb.failover.endpoints.header": "Load balance and Failover Configurations", @@ -924,22 +924,22 @@ "Apis.Details.Endpoints.GeneralConfiguration.CustomBackend.sandbox.backend": "Sandbox", "Apis.Details.Endpoints.GeneralConfiguration.EditableParameterRow.Parameter.Name": "Parameter Name", "Apis.Details.Endpoints.GeneralConfiguration.EditableParameterRow.Parameter.Value": "Parameter Value", - "Apis.Details.Endpoints.GeneralConfiguration.EndpointSecurity\n .connection.request.timeout.duration": "Connection Request Timeout Duration (ms)", - "Apis.Details.Endpoints.GeneralConfiguration.EndpointSecurity\n .connection.timeout.duration": "Connection Timeout Duration (ms)", - "Apis.Details.Endpoints.GeneralConfiguration.EndpointSecurity\n .proxyHost.input": "Proxy Hostname", - "Apis.Details.Endpoints.GeneralConfiguration.EndpointSecurity\n .proxyPassword.input": "Proxy Password", - "Apis.Details.Endpoints.GeneralConfiguration.EndpointSecurity\n .proxyPort.input": "Proxy Port", - "Apis.Details.Endpoints.GeneralConfiguration.EndpointSecurity\n .proxyProtocol.input": "Proxy Protocol", - "Apis.Details.Endpoints.GeneralConfiguration.EndpointSecurity\n .proxyUsername.input": "Proxy Username", - "Apis.Details.Endpoints.GeneralConfiguration.EndpointSecurity\n .socket.timeout.duration": "Socket Timeout Duration (ms)", - "Apis.Details.Endpoints.GeneralConfiguration.EndpointSecurity\n .token.endpoint.connection.configurations.endpoint.specific": "Endpoint Specific", - "Apis.Details.Endpoints.GeneralConfiguration.EndpointSecurity\n .token.endpoint.connection.configurations.global": "Global", - "Apis.Details.Endpoints.GeneralConfiguration.EndpointSecurity\n .token.endpoint.connection.configurations.none": "None", - "Apis.Details.Endpoints.GeneralConfiguration.EndpointSecurity\n .token.endpoint.proxy.configurations.endpoint.specific": "Endpoint Specific", - "Apis.Details.Endpoints.GeneralConfiguration.EndpointSecurity\n .token.endpoint.proxy.configurations.global": "Global", - "Apis.Details.Endpoints.GeneralConfiguration.EndpointSecurity\n .token.endpoint.proxy.configurations.none": "None", + "Apis.Details.Endpoints.GeneralConfiguration.EndpointSecurity\r\n .connection.request.timeout.duration": "Connection Request Timeout Duration (ms)", + "Apis.Details.Endpoints.GeneralConfiguration.EndpointSecurity\r\n .connection.timeout.duration": "Connection Timeout Duration (ms)", + "Apis.Details.Endpoints.GeneralConfiguration.EndpointSecurity\r\n .proxyHost.input": "Proxy Hostname", + "Apis.Details.Endpoints.GeneralConfiguration.EndpointSecurity\r\n .proxyPassword.input": "Proxy Password", + "Apis.Details.Endpoints.GeneralConfiguration.EndpointSecurity\r\n .proxyPort.input": "Proxy Port", + "Apis.Details.Endpoints.GeneralConfiguration.EndpointSecurity\r\n .proxyProtocol.input": "Proxy Protocol", + "Apis.Details.Endpoints.GeneralConfiguration.EndpointSecurity\r\n .proxyUsername.input": "Proxy Username", + "Apis.Details.Endpoints.GeneralConfiguration.EndpointSecurity\r\n .socket.timeout.duration": "Socket Timeout Duration (ms)", + "Apis.Details.Endpoints.GeneralConfiguration.EndpointSecurity\r\n .token.endpoint.connection.configurations.endpoint.specific": "Endpoint Specific", + "Apis.Details.Endpoints.GeneralConfiguration.EndpointSecurity\r\n .token.endpoint.connection.configurations.global": "Global", + "Apis.Details.Endpoints.GeneralConfiguration.EndpointSecurity\r\n .token.endpoint.connection.configurations.none": "None", + "Apis.Details.Endpoints.GeneralConfiguration.EndpointSecurity\r\n .token.endpoint.proxy.configurations.endpoint.specific": "Endpoint Specific", + "Apis.Details.Endpoints.GeneralConfiguration.EndpointSecurity\r\n .token.endpoint.proxy.configurations.global": "Global", + "Apis.Details.Endpoints.GeneralConfiguration.EndpointSecurity\r\n .token.endpoint.proxy.configurations.none": "None", "Apis.Details.Endpoints.GeneralConfiguration.EndpointSecurity.add.new.parameter": "Add New Parameter", - "Apis.Details.Endpoints.GeneralConfiguration.EndpointSecurity.add.new.parameter.\n info": "You can add any additional payload parameters required for the endpoint below", + "Apis.Details.Endpoints.GeneralConfiguration.EndpointSecurity.add.new.parameter.\r\n info": "You can add any additional payload parameters required for the endpoint below", "Apis.Details.Endpoints.GeneralConfiguration.EndpointSecurity.basic": "Basic Auth", "Apis.Details.Endpoints.GeneralConfiguration.EndpointSecurity.clientId.input": "Client ID", "Apis.Details.Endpoints.GeneralConfiguration.EndpointSecurity.clientId.message": "Enter Client ID", @@ -963,9 +963,9 @@ "Apis.Details.Endpoints.GeneralConfiguration.EndpointSecurity.oauth.grant.type.password": "Resource Owner Password", "Apis.Details.Endpoints.GeneralConfiguration.EndpointSecurity.password.input": "Password", "Apis.Details.Endpoints.GeneralConfiguration.EndpointSecurity.password.message": "Enter Password", - "Apis.Details.Endpoints.GeneralConfiguration.EndpointSecurity.token.endpoint\n .connection.configurations.proxy.configurations": "Proxy Configurations", - "Apis.Details.Endpoints.GeneralConfiguration.EndpointSecurity.token.endpoint.\n connection.configurations": "Token Endpoint Connection Configurations", - "Apis.Details.Endpoints.GeneralConfiguration.EndpointSecurity.token.endpoint.\n connection.configurations.timeout.configurations": "Timeout Configurations", + "Apis.Details.Endpoints.GeneralConfiguration.EndpointSecurity.token.endpoint\r\n .connection.configurations.proxy.configurations": "Proxy Configurations", + "Apis.Details.Endpoints.GeneralConfiguration.EndpointSecurity.token.endpoint.\r\n connection.configurations": "Token Endpoint Connection Configurations", + "Apis.Details.Endpoints.GeneralConfiguration.EndpointSecurity.token.endpoint.\r\n connection.configurations.timeout.configurations": "Timeout Configurations", "Apis.Details.Endpoints.GeneralConfiguration.EndpointSecurity.token.url.input": "Token URL", "Apis.Details.Endpoints.GeneralConfiguration.EndpointSecurity.tokenUrl.message": "Enter Token URL", "Apis.Details.Endpoints.GeneralConfiguration.EndpointSecurity.user.name.input": "Username", @@ -1055,7 +1055,7 @@ "Apis.Details.Endpoints.UploadCustomBackend.config.save.button": "Save", "Apis.Details.Endpoints.UploadCustomBackend.invalid.file": "Invalid file type", "Apis.Details.Endpoints.add.new.endpoint": "Add Sandbox Endpoint", - "Apis.Details.Environments.Environments\n .select.vhost": "Select Access URL", + "Apis.Details.Environments.Environments\r\n .select.vhost": "Select Access URL", "Apis.Details.Environments.Environments.APIGateways": "Gateways", "Apis.Details.Environments.Environments.Create.Revision.Deploy": "Create new revision and deploy", "Apis.Details.Environments.Environments.Deployments": "Revisions", @@ -1076,7 +1076,7 @@ "Apis.Details.Environments.Environments.deployments.sub.heading": "Create revisions and deploy in Gateway Environments", "Apis.Details.Environments.Environments.display.devportal": "Display Gateway Access URLs in developer portal.", "Apis.Details.Environments.Environments.external.gateways.heading": "Gateways", - "Apis.Details.Environments.Environments.gateway\n .deployment.current.revision": "Current Revision", + "Apis.Details.Environments.Environments.gateway\r\n .deployment.current.revision": "Current Revision", "Apis.Details.Environments.Environments.gateway.accessUrl": "Gateway Access URL", "Apis.Details.Environments.Environments.gateway.action": "Action", "Apis.Details.Environments.Environments.gateway.deployment.failed": "Failed", @@ -1089,7 +1089,7 @@ "Apis.Details.Environments.Environments.gateway.deployment.total": "Total Gateways", "Apis.Details.Environments.Environments.no.env.heading": "No Gateway Environments Configured for the selected gateway type", "Apis.Details.Environments.Environments.pending.chip": "Pending", - "Apis.Details.Environments.Environments.revision\n .description.deploy": "Add a description to the revision", + "Apis.Details.Environments.Environments.revision\r\n .description.deploy": "Add a description to the revision", "Apis.Details.Environments.Environments.revision.create.error": "Something went wrong while creating the revision", "Apis.Details.Environments.Environments.revision.create.error.governance": "Revision Creation failed. Governance policy violations found", "Apis.Details.Environments.Environments.revision.create.error.governance.download": "Download Violations", @@ -1329,8 +1329,8 @@ "Apis.Details.NewVersion.NewVersion.success": "Successfully created new version", "Apis.Details.NewVersion.NewVersion.tooltip": "Indicates if this is the default version of the API. If an API is invoked without specifying a version, the API Gateway will route the request to the default version of the API.", "Apis.Details.NewVersion.loading.services.error": "Error while loading services version", - "Apis.Details.Operations\n .Operation.operation.no.sharedpi.scope.available": "No shared scopes available", - "Apis.Details.Operations.Operation\n .throttling.policy": "Rate Limiting", + "Apis.Details.Operations\r\n .Operation.operation.no.sharedpi.scope.available": "No shared scopes available", + "Apis.Details.Operations.Operation\r\n .throttling.policy": "Rate Limiting", "Apis.Details.Operations.Operation.OperationType": "Operation Type", "Apis.Details.Operations.Operation.authType": "Security Enabled", "Apis.Details.Operations.Operation.cancel": "Cancel", diff --git a/portals/publisher/src/main/webapp/source/src/app/components/Apis/Details/Resources/components/operationComponents/OperationGovernance.jsx b/portals/publisher/src/main/webapp/source/src/app/components/Apis/Details/Resources/components/operationComponents/OperationGovernance.jsx index aac1ef66c93..3778b7debb3 100644 --- a/portals/publisher/src/main/webapp/source/src/app/components/Apis/Details/Resources/components/operationComponents/OperationGovernance.jsx +++ b/portals/publisher/src/main/webapp/source/src/app/components/Apis/Details/Resources/components/operationComponents/OperationGovernance.jsx @@ -161,9 +161,7 @@ export default function OperationGovernance(props) { {' '} - + {!isOperationRateLimiting && ( -