Skip to content

Commit c5781e4

Browse files
committed
4905: move regions length check outside of jsx, to only render if necessary
1 parent ecebca6 commit c5781e4

File tree

1 file changed

+33
-38
lines changed

1 file changed

+33
-38
lines changed

assets/admin/components/screen/util/grid-generation-and-select.jsx

Lines changed: 33 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -158,6 +158,8 @@ function GridGenerationAndSelect({
158158
setSelectedPlaylists(selectedPlaylistsCopy);
159159
};
160160

161+
if (regions?.length === 0) return null;
162+
161163
return (
162164
<>
163165
<div className="col-md-4 my-3 my-md-0">
@@ -171,44 +173,37 @@ function GridGenerationAndSelect({
171173
</div>
172174
</div>
173175
<div className="col-md-12">
174-
{regions.length > 0 && (
175-
<>
176-
<h3 className="h5">{t("screen-form.screen-region-playlists")}</h3>
177-
<Tabs
178-
defaultActiveKey={regions[0]["@id"]}
179-
id="tabs"
180-
onSelect={setSelectedRegion}
181-
className="mb-3"
182-
>
183-
{regions &&
184-
regions.map((data) => (
185-
<Tab
186-
eventKey={data["@id"]}
187-
key={data["@id"]}
188-
title={data.title}
189-
>
190-
<PlaylistDragAndDrop
191-
id="playlist_drag_and_drop"
192-
handleChange={handleChange}
193-
removeFromList={removeFromList}
194-
name={data["@id"]}
195-
regionIdForInitializeCallback={data["@id"]}
196-
screenId={screenId}
197-
regionId={idFromUrl(data["@id"])}
198-
selectedPlaylists={selectedPlaylists.filter(
199-
({ region }) => region === idFromUrl(data["@id"]),
200-
)}
201-
/>
202-
{data?.type === "touch-buttons" && (
203-
<Alert key="screen-form-touch-buttons" variant="info">
204-
{t("screen-form.touch-region-helptext")}
205-
</Alert>
206-
)}
207-
</Tab>
208-
))}
209-
</Tabs>
210-
</>
211-
)}
176+
<>
177+
<h3 className="h5">{t("screen-form.screen-region-playlists")}</h3>
178+
<Tabs
179+
defaultActiveKey={regions[0]["@id"]}
180+
id="tabs"
181+
onSelect={setSelectedRegion}
182+
className="mb-3"
183+
>
184+
{regions.map((data) => (
185+
<Tab eventKey={data["@id"]} key={data["@id"]} title={data.title}>
186+
<PlaylistDragAndDrop
187+
id="playlist_drag_and_drop"
188+
handleChange={handleChange}
189+
removeFromList={removeFromList}
190+
name={data["@id"]}
191+
regionIdForInitializeCallback={data["@id"]}
192+
screenId={screenId}
193+
regionId={idFromUrl(data["@id"])}
194+
selectedPlaylists={selectedPlaylists.filter(
195+
({ region }) => region === idFromUrl(data["@id"]),
196+
)}
197+
/>
198+
{data?.type === "touch-buttons" && (
199+
<Alert key="screen-form-touch-buttons" variant="info">
200+
{t("screen-form.touch-region-helptext")}
201+
</Alert>
202+
)}
203+
</Tab>
204+
))}
205+
</Tabs>
206+
</>
212207
</div>
213208
</>
214209
);

0 commit comments

Comments
 (0)