UNPKG

mattermost-redux

Version:

Common code (API client, Redux stores, logic, utility functions) for building a Mattermost client

35 lines (34 loc) 2.1 kB
"use strict"; // Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved. // See LICENSE.txt for license information. Object.defineProperty(exports, "__esModule", { value: true }); exports.getReadRecaps = exports.getUnreadRecaps = exports.getPendingRecaps = exports.getCompletedRecaps = exports.getSortedRecaps = exports.getRecapsByStatus = void 0; exports.getAllRecaps = getAllRecaps; exports.getRecap = getRecap; const recaps_1 = require("@mattermost/types/recaps"); const create_selector_1 = require("mattermost-redux/selectors/create_selector"); function getAllRecaps(state) { const { byId, allIds } = state.entities.recaps; return allIds.map((id) => byId[id]); } function getRecap(state, recapId) { return state.entities.recaps.byId[recapId] || undefined; } exports.getRecapsByStatus = (0, create_selector_1.createSelector)('getRecapsByStatus', getAllRecaps, (_state, status) => status, (recaps, status) => { return recaps.filter((recap) => recap.status === status); }); exports.getSortedRecaps = (0, create_selector_1.createSelector)('getSortedRecaps', getAllRecaps, (recaps) => { return [...recaps].sort((a, b) => b.create_at - a.create_at); }); exports.getCompletedRecaps = (0, create_selector_1.createSelector)('getCompletedRecaps', getAllRecaps, (recaps) => { return recaps.filter((recap) => recap.status === recaps_1.RecapStatus.COMPLETED).sort((a, b) => b.create_at - a.create_at); }); exports.getPendingRecaps = (0, create_selector_1.createSelector)('getPendingRecaps', getAllRecaps, (recaps) => { return recaps.filter((recap) => recap.status === recaps_1.RecapStatus.PENDING || recap.status === recaps_1.RecapStatus.PROCESSING); }); exports.getUnreadRecaps = (0, create_selector_1.createSelector)('getUnreadRecaps', getAllRecaps, (recaps) => { return recaps.filter((recap) => recap.read_at === 0).sort((a, b) => b.create_at - a.create_at); }); exports.getReadRecaps = (0, create_selector_1.createSelector)('getReadRecaps', getAllRecaps, (recaps) => { return recaps.filter((recap) => recap.read_at > 0).sort((a, b) => b.read_at - a.read_at); });