Skip to content

Commit

Permalink
Merge pull request #3491 from skbkontur/mdx-remove-test-feature-flags…
Browse files Browse the repository at this point in the history
…-validations

docs(): remove testFeatureFlags in react-ui-validations
  • Loading branch information
SchwJ authored Aug 21, 2024
2 parents d301ae2 + 82b936e commit 1b188b0
Show file tree
Hide file tree
Showing 3 changed files with 6 additions and 42 deletions.
33 changes: 2 additions & 31 deletions packages/react-ui-validations/src/ValidationContextWrapper.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,6 @@ import { ValidationWrapperInternal } from './ValidationWrapperInternal';
import type { ScrollOffset, ValidateArgumentType } from './ValidationContainer';
import { isNullable } from './utils/isNullable';
import { FocusMode } from './FocusMode';
import {
getFullValidationsFlagsContext,
ValidationsFeatureFlags,
ValidationsFeatureFlagsContext,
} from './utils/featureFlagsContext';

export interface ValidationContextSettings {
scrollOffset: ScrollOffset;
Expand Down Expand Up @@ -162,19 +157,9 @@ export class ValidationContextWrapper extends React.Component<ValidationContextW
return FocusMode.None;
}

// удалить private featureFlags - используется для тестовой фичи
// для private children и render ниже в коментах версия, которая была до использования тестового фиче-флага
private featureFlags!: ValidationsFeatureFlags;
private children = (flags: ValidationsFeatureFlags) => {
if (flags.testFeature) {
return <span style={{ color: 'green' }}>Фиче-флаг включен</span>;
}

private children = () => {
return <span>{this.props.children}</span>;
};
// private children = () => {
// // return <span>{this.props.children}</span>;
// };

private renderChildren = (children: ValidationContextWrapperProps['children']) => {
if (React.isValidElement(children)) {
Expand All @@ -187,20 +172,6 @@ export class ValidationContextWrapper extends React.Component<ValidationContextW
};

public render() {
return (
<ValidationsFeatureFlagsContext.Consumer>
{(flags) => {
this.featureFlags = getFullValidationsFlagsContext(flags);
return (
<ValidationContext.Provider value={this}>
{this.renderChildren(this.children(this.featureFlags))}
</ValidationContext.Provider>
);
}}
</ValidationsFeatureFlagsContext.Consumer>
);
return <ValidationContext.Provider value={this}>{this.renderChildren(this.children())}</ValidationContext.Provider>;
}
// public render() {
// return <ValidationContext.Provider value={this}>{this.renderChildren(this.children())}</ValidationContext.Provider>;
// }
}
Original file line number Diff line number Diff line change
@@ -1,12 +1,10 @@
import React from 'react';

export type FeatureFlags = 'testFeature';
export type FeatureFlags = '';

export type ValidationsFeatureFlags = Partial<Record<FeatureFlags, boolean>>;

export const validationsFeatureFlagsDefault: ValidationsFeatureFlags = {
testFeature: false,
};
export const validationsFeatureFlagsDefault: ValidationsFeatureFlags = {};

export const ValidationsFeatureFlagsContext =
React.createContext<ValidationsFeatureFlags>(validationsFeatureFlagsDefault);
Expand Down
9 changes: 2 additions & 7 deletions packages/react-ui-validations/stories/docs/FeatureFlags.mdx
Original file line number Diff line number Diff line change
@@ -1,14 +1,9 @@
import { Canvas, Meta } from '@storybook/blocks';
import { Required } from '../Checkbox.stories';
import { Meta } from '@storybook/blocks';

<Meta title="FeatureFlags validations" />

# Feature flags validations

Включение и отключение отдельных фич через ValidationsFeatureFlagsContext

## Тестовый фиче-флаг

При включении тестового фиче-флага должен появиться текст

<Canvas of={Required} />
## Нет доступных фиче-флагов

0 comments on commit 1b188b0

Please sign in to comment.