Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 | 1x 1x 10x 10x 10x 1x 1x 1x 1x 1x | import { atom, selector } from "recoil"; import { signingKeysListState } from "./signingKeysState"; import { Policy } from "../types/shared"; function getFilteredPolicies( policies: Array<Policy>, filterQuery?: string | null, ) { Eif (!filterQuery) { return policies; } return policies.filter((policy: Policy) => { if ( (policy["signing-key-name"] && policy["signing-key-name"].includes(filterQuery)) || policy["created-at"].includes(filterQuery) || (policy["modified-at"] && policy["modified-at"].includes(filterQuery)) || policy.revision.toString().includes(filterQuery) ) { return true; } return false; }); } const policiesListState = atom({ key: "policiesList", default: [] as Array<Policy>, }); const policiesListFilterState = atom({ key: "policiesListFilter", default: "" as string, }); const filteredPoliciesListState = selector<Array<Policy>>({ key: "filteredPoliciesList", get: ({ get }) => { const filter = get(policiesListFilterState); const policies = get(policiesListState); const signingKeys = get(signingKeysListState); const policiesWithKeys = policies.map((policy) => { const signingKey = signingKeys.find( (key) => key["sha3-384"] === policy["signing-key-sha3-384"], ); return { ...policy, "signing-key-name": signingKey?.name, }; }); return getFilteredPolicies(policiesWithKeys, filter); }, set: ({ set }, newValue) => { set(policiesListState, newValue); }, }); export { policiesListState, policiesListFilterState, filteredPoliciesListState, }; |