Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[GEN-1842]: refactor base-node to data-tab (reusability) #1897

Merged
merged 237 commits into from
Dec 2, 2024

Conversation

BenElferink
Copy link
Contributor

This pull request introduces several changes to the frontend/webapp/reuseable-components directory, focusing on refactoring and enhancing the reusability of components. The most important changes include the introduction of a new DataTab component, the removal of redundant styled components, and updates to existing components to use the new DataTab.

Refactoring and Component Enhancements:

  • Introduction of DataTab component:

    • Added a new DataTab component to encapsulate common UI patterns for displaying data with a title, subtitle, logo, and optional actions. (frontend/webapp/reuseable-components/data-tab/index.tsx)
  • Removal of redundant styled components:

    • Removed several styled components such as Row, LanguageIcon, and RowBody from container-details/index.tsx and replaced their usage with the new DataTab component. (frontend/webapp/reuseable-components/container-details/index.tsx) [1] [2]
  • Updates to existing components:

    • Updated base-node.tsx to use the DataTab component, simplifying the code and removing redundant styled components. (frontend/webapp/reuseable-components/nodes-data-flow/nodes/base-node.tsx) [1] [2] [3]
    • Adjusted padding and font sizes in the Status component to improve UI consistency. (frontend/webapp/reuseable-components/status/index.tsx) [1] [2] [3]
  • New utility components:

    • Added a Gap component to handle spacing between elements flexibly. (frontend/webapp/reuseable-components/gap/index.tsx)
    • Introduced the MonitorsIcons component to display monitor icons with optional tooltips. (frontend/webapp/reuseable-components/monitors-icons/index.tsx)
  • Exports and imports updates:

    • Updated the index.ts file to export the new DataTab, Gap, and MonitorsIcons components. (frontend/webapp/reuseable-components/index.ts) [1] [2]
    • Adjusted imports across various files to accommodate the new components and utilities. (frontend/webapp/reuseable-components/container-details/index.tsx, frontend/webapp/reuseable-components/nodes-data-flow/nodes/base-node.tsx, frontend/webapp/reuseable-components/nodes-data-flow/nodes/header-node.tsx) [1] [2] [3]

These changes collectively enhance the maintainability and reusability of the codebase by introducing modular components and eliminating redundancy.

BenElferink and others added 30 commits October 20, 2024 05:28
This pull request includes several changes to improve the handling of
action types in the `CreateAction` and `UpdateAction` resolvers, as well
as the addition of a new update function for `AddClusterInfo` actions.
The most important changes involve refactoring action type strings into
constants and implementing the `UpdateAddClusterInfo` function.

### Refactoring action types:

*
[`frontend/graph/schema.resolvers.go`](diffhunk://#diff-8e6e95029056db2c0301fc338e0ca5a04356ce5d45ee9514bbd167f2d85bae70L560-R560):
Replaced hardcoded action type strings with constants from
`actionservices` for better maintainability.
[[1]](diffhunk://#diff-8e6e95029056db2c0301fc338e0ca5a04356ce5d45ee9514bbd167f2d85bae70L560-R560)
[[2]](diffhunk://#diff-8e6e95029056db2c0301fc338e0ca5a04356ce5d45ee9514bbd167f2d85bae70L569-R569)

### New update functionality:

*
[`frontend/graph/schema.resolvers.go`](diffhunk://#diff-8e6e95029056db2c0301fc338e0ca5a04356ce5d45ee9514bbd167f2d85bae70L582-R599):
Implemented the `UpdateAction` resolver to handle updating
`AddClusterInfo` actions.
*
[`frontend/services/actions/addclusterinfo.go`](diffhunk://#diff-c2da2861415e61f772e3b44d22810aa34b4eba6070f744709c4b1b6b919a3f09L70-R137):
Added the `UpdateAddClusterInfo` function to update existing
`AddClusterInfo` actions in Kubernetes.

### Constants definition:

*
[`frontend/services/actions/constants.go`](diffhunk://#diff-377602090c56364ea3a4d6cdadda1ad9b1c6ba9e122f882e5a1f640b1e62acf8R1-R7):
Added constants for action types `ActionTypeAddClusterInfo` and
`ActionTypeDeleteAttribute`.
This pull request introduces changes to the `DeleteAction` functionality
in the `frontend/graph` package, adding support for an `actionType`
parameter. This enhancement allows for more specific handling of
different action types during deletion.

Key changes include:

### GraphQL Schema and Resolvers

*
[`frontend/graph/schema.graphqls`](diffhunk://#diff-bc07b91dedd1782d9ddbbb6374ad97c7604f9a267de5174645723d863c732f80L314-R314):
Updated the `deleteAction` mutation to include an `actionType`
parameter.
*
[`frontend/graph/schema.resolvers.go`](diffhunk://#diff-8e6e95029056db2c0301fc338e0ca5a04356ce5d45ee9514bbd167f2d85bae70L603-R620):
Modified the `DeleteAction` resolver to handle different action types
based on the `actionType` parameter.

### Generated Code

*
[`frontend/graph/generated.go`](diffhunk://#diff-4bacf1f13939a5c243f3f83d21f4560b331d13667d81ea5945ed1f57ddb205f2L200-R200):
Updated the `DeleteAction` method signatures and complexity calculations
to include the `actionType` parameter.
[[1]](diffhunk://#diff-4bacf1f13939a5c243f3f83d21f4560b331d13667d81ea5945ed1f57ddb205f2L200-R200)
[[2]](diffhunk://#diff-4bacf1f13939a5c243f3f83d21f4560b331d13667d81ea5945ed1f57ddb205f2L266-R266)
[[3]](diffhunk://#diff-4bacf1f13939a5c243f3f83d21f4560b331d13667d81ea5945ed1f57ddb205f2L911-R911)
[[4]](diffhunk://#diff-4bacf1f13939a5c243f3f83d21f4560b331d13667d81ea5945ed1f57ddb205f2R1342-R1350)
[[5]](diffhunk://#diff-4bacf1f13939a5c243f3f83d21f4560b331d13667d81ea5945ed1f57ddb205f2L5793-R5802)

### Action Services

*
[`frontend/services/actions/addclusterinfo.go`](diffhunk://#diff-c2da2861415e61f772e3b44d22810aa34b4eba6070f744709c4b1b6b919a3f09R148-R162):
Added the `DeleteAddClusterInfo` function to handle the deletion of
`AddClusterInfo` actions.
*
[`frontend/services/actions/addclusterinfo.go`](diffhunk://#diff-c2da2861415e61f772e3b44d22810aa34b4eba6070f744709c4b1b6b919a3f09R13):
Imported `apierrors` for error handling in the new deletion function.
[GEN-1515]: fix stringify for graphql (odigos-io#1615)
This pull request introduces a new `ProbabilisticSamplerAction` to the
codebase, along with the necessary updates to support its creation,
update, and deletion. The key changes include adding the new action
type, updating the GraphQL schema, and implementing the corresponding
service functions.

### Addition of `ProbabilisticSamplerAction`:

*
[`frontend/graph/model/models_gen.go`](diffhunk://#diff-642ccd7ed71fdfa394bd7f7fd99c9c33e20ff18c876a91cb989d379a44390469R311-R337):
Added the `ProbabilisticSamplerAction` struct and its methods to the
model.
*
[`frontend/graph/schema.graphqls`](diffhunk://#diff-bc07b91dedd1782d9ddbbb6374ad97c7604f9a267de5174645723d863c732f80R309-R318):
Updated the GraphQL schema to include the `ProbabilisticSamplerAction`
type.

### Resolver Updates:

*
[`frontend/graph/schema.resolvers.go`](diffhunk://#diff-8e6e95029056db2c0301fc338e0ca5a04356ce5d45ee9514bbd167f2d85bae70L568-R571):
Updated the `CreateAction`, `UpdateAction`, and `DeleteAction` resolvers
to handle the new `ProbabilisticSamplerAction` type.
[[1]](diffhunk://#diff-8e6e95029056db2c0301fc338e0ca5a04356ce5d45ee9514bbd167f2d85bae70L568-R571)
[[2]](diffhunk://#diff-8e6e95029056db2c0301fc338e0ca5a04356ce5d45ee9514bbd167f2d85bae70L586-R591)
[[3]](diffhunk://#diff-8e6e95029056db2c0301fc338e0ca5a04356ce5d45ee9514bbd167f2d85bae70L617-R630)

### Constants Update:

*
[`frontend/services/actions/constants.go`](diffhunk://#diff-377602090c56364ea3a4d6cdadda1ad9b1c6ba9e122f882e5a1f640b1e62acf8L8-R9):
Added `ActionTypeProbabilisticSampler` and corrected the naming of
`ActionTypeLatencySampler`.

### Service Implementation:

*
[`frontend/services/actions/probabilisticsampler.go`](diffhunk://#diff-2f6dc14f04b67e0a11a5b999216a0e08f575927294c5033187b84f1179fb5624R1-R139):
Implemented the service functions `CreateProbabilisticSampler`,
`UpdateProbabilisticSampler`, and `DeleteProbabilisticSampler` to manage
`ProbabilisticSamplerAction` in Kubernetes.
BenElferink and others added 22 commits November 27, 2024 12:44
Copy link

@BenElferink BenElferink enabled auto-merge (squash) December 2, 2024 07:03
@BenElferink BenElferink merged commit c3b9422 into odigos-io:main Dec 2, 2024
27 of 28 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants