+
{
useFeatureStrategyApi();
const {
+ // @ts-expect-error
setConfigureNewStrategy,
+ // @ts-expect-error
configureNewStrategy,
+ // @ts-expect-error
activeEnvironment,
+ // @ts-expect-error
setExpandedSidebar,
+ // @ts-expect-error
expandedSidebar,
+ // @ts-expect-error
setFeatureCache,
+ // @ts-expect-error
featureCache,
} = useContext(FeatureStrategiesUIContext);
@@ -78,10 +85,12 @@ const useFeatureStrategiesEnvironmentList = () => {
const feature = cloneDeep(featureCache);
const environment = feature.environments.find(
+ // @ts-expect-error
env => env.name === activeEnvironment.name
);
const strategy = environment.strategies.find(
+ // @ts-expect-error
strategy => strategy.id === updatedStrategy.id
);
@@ -106,9 +115,11 @@ const useFeatureStrategiesEnvironmentList = () => {
const feature = cloneDeep(featureCache);
const environment = feature.environments.find(
+ // @ts-expect-error
env => env.name === environmentId
);
const strategyIdx = environment.strategies.findIndex(
+ // @ts-expect-error
strategy => strategy.id === strategyId
);
diff --git a/frontend/src/component/feature/FeatureView/FeatureStrategies/FeatureStrategiesEnvironments/FeatureStrategiesEnvironments.tsx b/frontend/src/component/feature/FeatureView/FeatureStrategies/FeatureStrategiesEnvironments/FeatureStrategiesEnvironments.tsx
index 0cc45cf4e0..364c4c432e 100644
--- a/frontend/src/component/feature/FeatureView/FeatureStrategies/FeatureStrategiesEnvironments/FeatureStrategiesEnvironments.tsx
+++ b/frontend/src/component/feature/FeatureView/FeatureStrategies/FeatureStrategiesEnvironments/FeatureStrategiesEnvironments.tsx
@@ -42,12 +42,19 @@ const FeatureStrategiesEnvironments = () => {
const { a11yProps, activeTabIdx, setActiveTab } = useTabs(startingTabId);
const {
+ // @ts-expect-error
setActiveEnvironment,
+ // @ts-expect-error
activeEnvironment,
+ // @ts-expect-error
configureNewStrategy,
+ // @ts-expect-error
expandedSidebar,
+ // @ts-expect-error
setExpandedSidebar,
+ // @ts-expect-error
featureCache,
+ // @ts-expect-error
setFeatureCache,
} = useContext(FeatureStrategiesUIContext);
@@ -105,6 +112,7 @@ const FeatureStrategiesEnvironments = () => {
if (!feature) return null;
const renderTabs = () => {
+ // @ts-expect-error
return featureCache?.environments?.map((env, index) => {
return (
{
feature?.environments?.forEach(env => {
const cachedEnv = featureCache?.environments?.find(
+ // @ts-expect-error
cacheEnv => cacheEnv.name === env.name
);
@@ -140,6 +149,7 @@ const FeatureStrategiesEnvironments = () => {
return;
}
// If displayName is different
+ // @ts-expect-error
if (env?.displayName !== cachedEnv?.displayName) {
equal = false;
return;
@@ -155,6 +165,7 @@ const FeatureStrategiesEnvironments = () => {
feature?.environments?.forEach(env => {
const cachedEnv = featureCache?.environments?.find(
+ // @ts-expect-error
cachedEnv => cachedEnv.name === env.name
);
@@ -167,14 +178,17 @@ const FeatureStrategiesEnvironments = () => {
env?.strategies?.forEach(strategy => {
const cachedStrategy = cachedEnv?.strategies?.find(
+ // @ts-expect-error
cachedStrategy => cachedStrategy.id === strategy.id
);
// Check stickiness
+ // @ts-expect-error
if (cachedStrategy?.stickiness !== strategy?.stickiness) {
equal = false;
return;
}
+ // @ts-expect-error
if (cachedStrategy?.groupId !== strategy?.groupId) {
equal = false;
return;
@@ -256,6 +270,7 @@ const FeatureStrategiesEnvironments = () => {
),
});
+ // @ts-expect-error
return featureCache?.environments?.map((env, index) => {
return (
{
className={styles.addStrategyButton}
data-test={ADD_NEW_STRATEGY_ID}
onClick={() =>
+ // @ts-expect-error
setExpandedSidebar(prev => !prev)
}
Icon={Add}
@@ -307,6 +323,7 @@ const FeatureStrategiesEnvironments = () => {
envName={env.name}
onClick={() =>
setExpandedSidebar(
+ // @ts-expect-error
prev => !prev
)
}
diff --git a/frontend/src/component/feature/FeatureView/FeatureStrategies/FeatureStrategiesEnvironments/FeatureStrategyEditable/FeatureStrategyEditable.tsx b/frontend/src/component/feature/FeatureView/FeatureStrategies/FeatureStrategiesEnvironments/FeatureStrategyEditable/FeatureStrategyEditable.tsx
index 89597a3a24..ce9efc24e7 100644
--- a/frontend/src/component/feature/FeatureView/FeatureStrategies/FeatureStrategiesEnvironments/FeatureStrategyEditable/FeatureStrategyEditable.tsx
+++ b/frontend/src/component/feature/FeatureView/FeatureStrategies/FeatureStrategiesEnvironments/FeatureStrategyEditable/FeatureStrategyEditable.tsx
@@ -44,6 +44,7 @@ const FeatureStrategyEditable = ({
const { loading } = useFeatureApi();
const { projectId, featureId } = useParams();
+ // @ts-expect-error
const { activeEnvironment, featureCache, dirty, setDirty } = useContext(
FeatureStrategiesUIContext
);
@@ -71,15 +72,18 @@ const FeatureStrategyEditable = ({
mutate(FEATURE_STRATEGY_CACHE_KEY, { ...updatedStrategy }, false);
const dirtyParams = isDirtyParams(parameters);
+ // @ts-expect-error
setDirty(prev => ({ ...prev, [strategy.id]: dirtyParams }));
};
const updateFeatureStrategy = () => {
const cleanup = () => {
setStrategyCache(cloneDeep(strategy));
+ // @ts-expect-error
setDirty(prev => ({ ...prev, [strategy.id]: false }));
};
+ // @ts-expect-error
updateStrategy(strategy, cleanup);
};
@@ -109,6 +113,7 @@ const FeatureStrategyEditable = ({
};
const discardChanges = () => {
+ // @ts-expect-error
setDirty(prev => ({ ...prev, [strategy.id]: false }));
mutate(FEATURE_STRATEGY_CACHE_KEY, { ...strategyCache }, false);
};
@@ -117,6 +122,7 @@ const FeatureStrategyEditable = ({
const updatedStrategy = cloneDeep(strategy);
updatedStrategy.constraints = [...cloneDeep(constraints)];
+ // @ts-expect-error
setDirty(prev => ({ ...prev, [strategy.id]: true }));
mutate(FEATURE_STRATEGY_CACHE_KEY, { ...updatedStrategy }, false);
};
@@ -136,6 +142,7 @@ const FeatureStrategyEditable = ({
data-test={`${STRATEGY_ACCORDION_ID}-${strategy.name}`}
strategy={strategy}
setStrategyParams={setStrategyParams}
+ // @ts-expect-error
setStrategyConstraints={setStrategyConstraints}
dirty={dirty[strategy.id]}
actions={
@@ -147,6 +154,7 @@ const FeatureStrategyEditable = ({
data-test={`${DELETE_STRATEGY_ID}-${strategy.name}`}
onClick={e => {
e.stopPropagation();
+ // @ts-expect-error
setDelDialog({
strategyId: strategy.id,
show: true,
@@ -167,6 +175,7 @@ const FeatureStrategyEditable = ({
permission={UPDATE_FEATURE_STRATEGY}
projectId={projectId}
environmentId={activeEnvironment?.name}
+ // @ts-expect-error
variant="contained"
color="primary"
className={styles.editButton}
@@ -181,6 +190,7 @@ const FeatureStrategyEditable = ({
className={styles.editButton}
disabled={loading}
color="tertiary"
+ // @ts-expect-error
variant="text"
permission={UPDATE_FEATURE_STRATEGY}
projectId={projectId}
diff --git a/frontend/src/component/feature/FeatureView/FeatureStrategies/FeatureStrategiesList/FeatureStrategiesList.tsx b/frontend/src/component/feature/FeatureView/FeatureStrategies/FeatureStrategiesList/FeatureStrategiesList.tsx
index ae50fe07fd..0c44ce628d 100644
--- a/frontend/src/component/feature/FeatureView/FeatureStrategies/FeatureStrategiesList/FeatureStrategiesList.tsx
+++ b/frontend/src/component/feature/FeatureView/FeatureStrategies/FeatureStrategiesList/FeatureStrategiesList.tsx
@@ -9,6 +9,7 @@ import ConditionallyRender from '../../../../common/ConditionallyRender';
const FeatureStrategiesList = () => {
const smallScreen = useMediaQuery('(max-width:700px)');
+ // @ts-expect-error
const { expandedSidebar, setExpandedSidebar } = useContext(
FeatureStrategiesUIContext
);
@@ -32,6 +33,7 @@ const FeatureStrategiesList = () => {
};
const toggleSidebar = () => {
+ // @ts-expect-error
setExpandedSidebar(prev => !prev);
};
diff --git a/frontend/src/component/feature/FeatureView/FeatureStrategies/FeatureStrategiesList/FeatureStrategyCard/FeatureStrategyCard.tsx b/frontend/src/component/feature/FeatureView/FeatureStrategies/FeatureStrategiesList/FeatureStrategyCard/FeatureStrategyCard.tsx
index 91e69f83bb..664e2e118f 100644
--- a/frontend/src/component/feature/FeatureView/FeatureStrategies/FeatureStrategiesList/FeatureStrategyCard/FeatureStrategyCard.tsx
+++ b/frontend/src/component/feature/FeatureView/FeatureStrategies/FeatureStrategiesList/FeatureStrategyCard/FeatureStrategyCard.tsx
@@ -37,6 +37,7 @@ const FeatureStrategyCard = ({
const { featureId, projectId } = useParams();
const { strategies } = useStrategies();
+ // @ts-expect-error
const { setConfigureNewStrategy, setExpandedSidebar, activeEnvironment } =
useContext(FeatureStrategiesUIContext);
const { hasAccess } = useContext(AccessContext);
@@ -81,7 +82,7 @@ const FeatureStrategyCard = ({
{}