mirror of
https://github.com/openmhz/trunk-server.git
synced 2026-11-12 08:47:40 -05:00
32 lines
1.0 KiB
JavaScript
32 lines
1.0 KiB
JavaScript
|
|
import {
|
|
createSlice,
|
|
createEntityAdapter,
|
|
createSelector
|
|
} from '@reduxjs/toolkit'
|
|
import { apiSlice} from '../api/apiSlice'
|
|
|
|
// Calling `someEndpoint.select(someArg)` generates a new selector that will return
|
|
// the query result object for a query with those parameters.
|
|
// To generate a selector for a specific query argument, call `select(theQueryArg)`.
|
|
// In this case, the users query has no params, so we don't pass anything to select()
|
|
export const selectSystemsResult = apiSlice.endpoints.getSystems.select()
|
|
|
|
const emptySystems = []
|
|
|
|
export const selectAllSystems = createSelector(
|
|
selectSystemsResult,
|
|
systemsResult => systemsResult.data?systemsResult.data.systems:emptySystems
|
|
)
|
|
|
|
export const selectActiveSystems = createSelector(
|
|
selectAllSystems,
|
|
(state) => null,
|
|
(systems) => systems.filter(system => system.active === true)
|
|
)
|
|
|
|
export const selectSystem = createSelector(
|
|
selectAllSystems,
|
|
(state) => null,
|
|
(systems, shortName) => systems.find(system => system.shortName === shortName)
|
|
) |