diff --git a/openmetadata-ui/src/main/resources/ui/src/components/AddService/Steps/SelectServiceType.tsx b/openmetadata-ui/src/main/resources/ui/src/components/AddService/Steps/SelectServiceType.tsx index 214b6541955..05e3724b53d 100644 --- a/openmetadata-ui/src/main/resources/ui/src/components/AddService/Steps/SelectServiceType.tsx +++ b/openmetadata-ui/src/main/resources/ui/src/components/AddService/Steps/SelectServiceType.tsx @@ -117,7 +117,9 @@ const SelectServiceType = ({ )} -

{type}

+

+ {type.includes('Custom') ? startCase(type) : type} +

))} diff --git a/openmetadata-ui/src/main/resources/ui/src/components/TeamsSelectable/TeamsSelectable.tsx b/openmetadata-ui/src/main/resources/ui/src/components/TeamsSelectable/TeamsSelectable.tsx index 0b6c6ec5bd9..1bec49525b2 100644 --- a/openmetadata-ui/src/main/resources/ui/src/components/TeamsSelectable/TeamsSelectable.tsx +++ b/openmetadata-ui/src/main/resources/ui/src/components/TeamsSelectable/TeamsSelectable.tsx @@ -66,7 +66,8 @@ const TeamsSelectable = ({ return ( - {team.children && team.children.map((n) => getTreeNodes(n))} + {team.children && + team.children.map((n: TeamHierarchy) => getTreeNodes(n))} ); }; diff --git a/openmetadata-ui/src/main/resources/ui/src/constants/services.const.ts b/openmetadata-ui/src/main/resources/ui/src/constants/services.const.ts index f125fe166d4..4293c0eebdc 100644 --- a/openmetadata-ui/src/main/resources/ui/src/constants/services.const.ts +++ b/openmetadata-ui/src/main/resources/ui/src/constants/services.const.ts @@ -70,6 +70,7 @@ import { DatabaseServiceType } from '../generated/entity/services/databaseServic import { MessagingServiceType } from '../generated/entity/services/messagingService'; import { MlModelServiceType } from '../generated/entity/services/mlmodelService'; import { PipelineServiceType } from '../generated/entity/services/pipelineService'; +import { customServiceComparator } from '../utils/StringsUtils'; export const NoDataFoundPlaceHolder = noDataFound; export const AddPlaceHolder = addPlaceHolder; @@ -126,12 +127,23 @@ export const PIPELINE_DEFAULT = pipelineDefault; export const PLUS = plus; export const NOSERVICE = noService; export const excludedService = [MlModelServiceType.Sklearn]; + export const serviceTypes: Record> = { - databaseServices: Object.values(DatabaseServiceType), - messagingServices: Object.values(MessagingServiceType), - dashboardServices: Object.values(DashboardServiceType), - pipelineServices: Object.values(PipelineServiceType), - mlmodelServices: Object.values(MlModelServiceType), + databaseServices: (Object.values(DatabaseServiceType) as string[]).sort( + customServiceComparator + ), + messagingServices: (Object.values(MessagingServiceType) as string[]).sort( + customServiceComparator + ), + dashboardServices: (Object.values(DashboardServiceType) as string[]).sort( + customServiceComparator + ), + pipelineServices: (Object.values(PipelineServiceType) as string[]).sort( + customServiceComparator + ), + mlmodelServices: (Object.values(MlModelServiceType) as string[]).sort( + customServiceComparator + ), }; export const arrServiceTypes: Array = [ diff --git a/openmetadata-ui/src/main/resources/ui/src/styles/app.less b/openmetadata-ui/src/main/resources/ui/src/styles/app.less index 2aa8ddc9927..436b57ad178 100644 --- a/openmetadata-ui/src/main/resources/ui/src/styles/app.less +++ b/openmetadata-ui/src/main/resources/ui/src/styles/app.less @@ -35,7 +35,7 @@ justify-content: space-between; } .break-word { - word-break: break-all; + word-break: break-word; } .justify-center { justify-content: center; diff --git a/openmetadata-ui/src/main/resources/ui/src/utils/StringsUtils.ts b/openmetadata-ui/src/main/resources/ui/src/utils/StringsUtils.ts index cd78bff4348..db73b58757c 100644 --- a/openmetadata-ui/src/main/resources/ui/src/utils/StringsUtils.ts +++ b/openmetadata-ui/src/main/resources/ui/src/utils/StringsUtils.ts @@ -161,3 +161,17 @@ export const getDecodedFqn = (fqn: string, plusAsSpace = false) => { export const isExternalUrl = (url = '') => { return /^https?:\/\//.test(url); }; + +/** + * + * @param a compare value one + * @param b compare value two + * @returns sorted array (A-Z) which will have custom value at last + */ +export const customServiceComparator = (a: string, b: string): number => { + if (a.includes('Custom') || b.includes('Custom')) { + return a.includes('Custom') ? 1 : -1; + } else { + return a.localeCompare(b); + } +};