Skip to content

Commit

Permalink
[Layers] Sorted layers (regulatory areas, vigilance areas and amp) by…
Browse files Browse the repository at this point in the history
… name
  • Loading branch information
claire2212 committed Jan 27, 2025
1 parent ed5979a commit 3c5a1fd
Show file tree
Hide file tree
Showing 7 changed files with 25 additions and 11 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ import org.springframework.stereotype.Repository
class JpaAMPRepository(private val dbAMPRepository: IDBAMPRepository) :
IAMPRepository {
override fun findAll(): List<AMPEntity> {
return dbAMPRepository.findAll().map { it.toAMP() }
return dbAMPRepository.findAll().map { it.toAMP() }.sortedBy { it.name.lowercase() }
}

override fun count(): Long {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ class JpaRegulatoryAreaRepository(private val dbRegulatoryAreaRepository: IDBReg
IRegulatoryAreaRepository {
override fun findAll(): List<RegulatoryAreaEntity> {
return dbRegulatoryAreaRepository.findAll().map { it.toRegulatoryArea() }
.sortedBy { it.layer_name?.lowercase() }
}

override fun findById(id: Int): RegulatoryAreaEntity {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@ class JpaVigilanceAreaRepository(
@Transactional
override fun findAll(): List<VigilanceAreaEntity> {
return dbVigilanceAreaRepository.findAllByIsDeletedIsFalse().map { it.toVigilanceAreaEntity() }
.sortedBy { it.name?.lowercase() }
}

override fun findAllIdsByGeometry(geometry: Geometry): List<Int> {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,12 +29,17 @@ export const Amps = forwardRef<HTMLDivElement, AmpsProps>(

const [isExpandedSelectedAccordion, setExpandedSelectedAccordion] = useState(false)

const ampsByLayerName = groupBy(amps, r => r.name)
const ampsByLayerName = groupBy(
[...amps].sort((a, b) => a.name.localeCompare(b.name)),
r => r.name
)

const { selectedAmpByLayerName } = useGetAMPsQuery(undefined, {
selectFromResult: ({ data }) => ({
selectedAmpByLayerName: groupBy(
Object.values(data?.entities ?? []).filter(amp => selectedAmpIds.includes(amp.id)),
Object.values(data?.entities ?? [])
.filter(amp => selectedAmpIds.includes(amp.id))
.sort((a, b) => a.name.localeCompare(b.name)),
amp => amp.name
)
})
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,12 +38,17 @@ export const RegulatoryAreas = forwardRef<HTMLDivElement, RegulatoriesAreasProps
const openPanel = useAppSelector(state => getOpenedPanel(state.dashboard, Dashboard.Block.REGULATORY_AREAS))
const [isExpandedSelectedAccordion, setExpandedSelectedAccordion] = useState(false)

const regulatoryAreasByLayerName = groupBy(regulatoryAreas, r => r.layer_name)
const regulatoryAreasByLayerName = groupBy(
[...regulatoryAreas].sort((a, b) => a?.layer_name.localeCompare(b?.layer_name)) ?? [],
regulatory => regulatory.layer_name
)

const { selectedRegulatoryAreasByLayerName } = useGetRegulatoryLayersQuery(undefined, {
selectFromResult: ({ data }) => ({
selectedRegulatoryAreasByLayerName: groupBy(
Object.values(data?.entities ?? []).filter(regulatory => selectedRegulatoryAreaIds.includes(regulatory.id)),
Object.values(data?.entities ?? [])
.filter(regulatory => selectedRegulatoryAreaIds.includes(regulatory.id))
.sort((a, b) => a.layer_name.localeCompare(b.layer_name)),
regulatory => regulatory.layer_name
)
})
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,11 +36,13 @@ export const VigilanceAreas = forwardRef<HTMLDivElement, VigilanceAreasProps>(
const openPanel = useAppSelector(state => getOpenedPanel(state.dashboard, Dashboard.Block.VIGILANCE_AREAS))
const [isExpandedSelectedAccordion, setExpandedSelectedAccordion] = useState(false)

const sortedVigilanecAreas = [...vigilanceAreas].sort((a, b) => a.name.localeCompare(b.name))

const { selectedVigilanceAreas } = useGetVigilanceAreasQuery(undefined, {
selectFromResult: ({ data }) => ({
selectedVigilanceAreas: Object.values(data?.entities ?? []).filter(vigilanceArea =>
selectedVigilanceAreaIds.includes(vigilanceArea.id)
)
selectedVigilanceAreas: Object.values(data?.entities ?? [])
.filter(vigilanceArea => selectedVigilanceAreaIds.includes(vigilanceArea.id))
.sort((a, b) => a.name.localeCompare(b.name))
})
})

Expand All @@ -61,11 +63,11 @@ export const VigilanceAreas = forwardRef<HTMLDivElement, VigilanceAreasProps>(
titleRef={ref}
>
<StyledLayerList
$baseLayersLength={vigilanceAreas.length}
$baseLayersLength={sortedVigilanecAreas.length}
$showBaseLayers={isExpanded}
data-cy="dashboard-vigilance-areas-list"
>
{vigilanceAreas.map(vigilanceArea => (
{sortedVigilanecAreas.map(vigilanceArea => (
<Layer
key={vigilanceArea.id}
isPinned={selectedVigilanceAreaIds.includes(vigilanceArea.id)}
Expand Down
2 changes: 1 addition & 1 deletion frontend/src/features/VigilanceArea/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ export namespace VigilanceArea {
linkedAMPs?: number[]
linkedRegulatoryAreas?: number[]
links?: Link[]
name: string | undefined
name: string
seaFront: string | undefined
source?: string
startDatePeriod?: string
Expand Down

0 comments on commit 3c5a1fd

Please sign in to comment.