Skip to content

Commit 2bf81d1

Browse files
committed
Rename variables
1 parent 4aed748 commit 2bf81d1

File tree

1 file changed

+37
-29
lines changed

1 file changed

+37
-29
lines changed

flagsmith-jira-app/src/IssueFlagPanel.tsx

Lines changed: 37 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -40,13 +40,15 @@ import { readApiKey, readOrganisationId } from "./storage";
4040
ForgeUI;
4141

4242
type IssueFlagFormProps = {
43-
features: FeatureModel[];
44-
featureIds: string[];
43+
flagsmithFeatures: FeatureModel[];
44+
jiraFeatureIds: string[];
4545
onAdd: (featureId: string) => Promise<void>;
4646
};
4747

48-
const IssueFlagForm = ({ features, featureIds, onAdd }: IssueFlagFormProps) => {
49-
const addableFeatures = features.filter((feature) => !featureIds.includes(String(feature.id)));
48+
const IssueFlagForm = ({ flagsmithFeatures, jiraFeatureIds, onAdd }: IssueFlagFormProps) => {
49+
const addableFeatures = flagsmithFeatures.filter(
50+
(feature) => !jiraFeatureIds.includes(String(feature.id)),
51+
);
5052

5153
return (
5254
<Fragment>
@@ -73,8 +75,8 @@ type IssueFlagTableProps = {
7375
projectUrl: string;
7476
apiKey: string;
7577
environments: EnvironmentModel[];
76-
features: FeatureModel[];
77-
featureIds: string[];
78+
flagsmithFeatures: FeatureModel[];
79+
jiraFeatureIds: string[];
7880
onRemove: (featureId: string) => Promise<void>;
7981
canEdit: boolean;
8082
};
@@ -83,21 +85,23 @@ const IssueFlagTable = ({
8385
projectUrl,
8486
apiKey,
8587
environments,
86-
features,
87-
featureIds,
88+
flagsmithFeatures,
89+
jiraFeatureIds,
8890
onRemove,
8991
canEdit,
9092
}: IssueFlagTableProps) => {
9193
const [environmentFlags, setEnvironmentFlags] = useState<any>([]);
9294

9395
useEffect(async () => {
9496
// Filtered features by comparing their IDs with the feature IDs stored in Jira.
95-
const featuresFiltered = features.filter((f) => featureIds.includes(String(f.id)));
97+
const flagsmithfeaturesFiltered = flagsmithFeatures.filter((f) =>
98+
jiraFeatureIds.includes(String(f.id)),
99+
);
96100
try {
97-
if (environments.length > 0 && featuresFiltered.length > 0) {
101+
if (environments.length > 0 && flagsmithfeaturesFiltered.length > 0) {
98102
const featureState: any = {};
99103
// Iterate over each filtered feature.
100-
for (const feature of featuresFiltered) {
104+
for (const feature of flagsmithfeaturesFiltered) {
101105
// Initialize an object to store the state of the feature.
102106
featureState[String(feature.name)] = {
103107
name: feature.name,
@@ -120,13 +124,15 @@ const IssueFlagTable = ({
120124
}
121125
const ffArray = Object.keys(featureState).map((featureName) => featureState[featureName]);
122126
setEnvironmentFlags(ffArray);
127+
} else {
128+
setEnvironmentFlags([]);
123129
}
124130
} catch (error) {
125131
if (!(error instanceof Error)) throw error;
126132
}
127-
}, [apiKey, featureIds, environments, features]);
133+
}, [apiKey, jiraFeatureIds, environments, flagsmithFeatures]);
128134

129-
if (featureIds.length === 0) {
135+
if (jiraFeatureIds.length === 0) {
130136
return <Text>No feature flags are linked to this issue.</Text>;
131137
}
132138

@@ -178,7 +184,7 @@ const IssueFlagTable = ({
178184
each.identity !== null,
179185
).length;
180186
return (
181-
<Row key={String(environmentFlag.feature_id)}>
187+
<Row key={String(`${environmentFlag.feature_id}`)}>
182188
<Cell>
183189
<Text>
184190
<Link
@@ -238,7 +244,7 @@ const IssueFlagTable = ({
238244
<ButtonSet>
239245
<Button
240246
text="Unlink from issue"
241-
onClick={() => onRemove(environmentFlag.feature_id)}
247+
onClick={() => onRemove(`${environmentFlag.feature_id}`)}
242248
/>
243249
</ButtonSet>
244250
)}
@@ -256,7 +262,7 @@ type IssueFlagPanelProps = {
256262
apiKey: string;
257263
organisationId: string;
258264
projectId: string | undefined;
259-
featureIds: string[] | undefined;
265+
jiraFeatureIds: string[] | undefined;
260266
canEdit: boolean;
261267
};
262268

@@ -269,7 +275,7 @@ const IssueFlagPanel = ({
269275
...props
270276
}: IssueFlagPanelProps) => {
271277
// set initial state
272-
const [featureIds, setFeatureIds] = useState(props.featureIds ?? []);
278+
const [jiraFeatureIds, setJiraFeatureIds] = useState(props.jiraFeatureIds ?? []);
273279
const [environments, setEnvironments] = useState([] as EnvironmentModel[]);
274280
const [features, setFeatures] = useState([] as FeatureModel[]);
275281
// load environments and features
@@ -291,15 +297,15 @@ const IssueFlagPanel = ({
291297
}
292298
}, [apiKey, String(projectId)]);
293299

294-
const onChange = async (featureIds: string[]) => {
300+
const onChange = async (jiraFeatureIds: string[]) => {
295301
// persist to storage
296-
await writeFeatureIds(jiraContext, featureIds);
302+
await writeFeatureIds(jiraContext, jiraFeatureIds);
297303
// update state
298-
setFeatureIds(featureIds);
304+
setJiraFeatureIds(jiraFeatureIds);
299305
};
300-
const onAdd = (featureId: string) => onChange([...featureIds, featureId]);
306+
const onAdd = (featureId: string) => onChange([...jiraFeatureIds, featureId]);
301307
const onRemove = (featureId: string) =>
302-
onChange(featureIds.filter((each) => String(each) !== featureId));
308+
onChange(jiraFeatureIds.filter((each) => String(each) !== featureId));
303309

304310
const projectUrl = `${FLAGSMITH_APP}/project/${projectId}`;
305311
return (
@@ -308,12 +314,14 @@ const IssueFlagPanel = ({
308314
projectUrl={projectUrl}
309315
apiKey={apiKey}
310316
environments={environments}
311-
features={features}
312-
featureIds={featureIds}
317+
flagsmithFeatures={features}
318+
jiraFeatureIds={jiraFeatureIds}
313319
onRemove={onRemove}
314320
canEdit={canEdit}
315321
/>
316-
{canEdit && <IssueFlagForm features={features} featureIds={featureIds} onAdd={onAdd} />}
322+
{canEdit && (
323+
<IssueFlagForm flagsmithFeatures={features} jiraFeatureIds={jiraFeatureIds} onAdd={onAdd} />
324+
)}
317325
</Fragment>
318326
);
319327
};
@@ -339,9 +347,9 @@ export default () => {
339347
const [organisationId, setOrganisationId] = useState(readOrganisationId);
340348
const jiraContext = useJiraContext();
341349
const [projectId, setProjectId] = useState(() => readProjectId(jiraContext));
342-
const [featureIds, setFeatureIds] = useState(() => readFeatureIds(jiraContext));
350+
const [jiraFeatureIds, setJiraFeatureIds] = useState(() => readFeatureIds(jiraContext));
343351
const [canEdit, setCanEdit] = useState(() => canEditIssue(jiraContext));
344-
const [editing, setEditing] = useState(!(featureIds ?? []).length);
352+
const [editing, setEditing] = useState(!(jiraFeatureIds ?? []).length);
345353

346354
const actions = canEdit
347355
? [<EditAction key="edit" editing={editing} setEditing={setEditing} />]
@@ -356,15 +364,15 @@ export default () => {
356364
jiraContext={jiraContext}
357365
organisationId={organisationId}
358366
projectId={projectId}
359-
featureIds={featureIds}
367+
jiraFeatureIds={jiraFeatureIds}
360368
canEdit={canEdit && editing}
361369
/>
362370
)}
363371
onRetry={async () => {
364372
setApiKey(await readApiKey());
365373
setOrganisationId(await readOrganisationId());
366374
setProjectId(await readProjectId(jiraContext));
367-
setFeatureIds(await readFeatureIds(jiraContext));
375+
setJiraFeatureIds(await readFeatureIds(jiraContext));
368376
setCanEdit(await canEditIssue(jiraContext));
369377
}}
370378
/>

0 commit comments

Comments
 (0)