mattermost-redux
Version:
Common code (API client, Redux stores, logic, utility functions) for building a Mattermost client
29 lines • 1.2 kB
JavaScript
;
// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
// See LICENSE.txt for license information.
Object.defineProperty(exports, "__esModule", { value: true });
exports.makeGetFilesForPost = exports.getFilePublicLink = void 0;
var reselect_1 = require("reselect");
var i18n_1 = require("./i18n");
var file_utils_1 = require("../../utils/file_utils");
function getAllFiles(state) {
return state.entities.files.files;
}
function getFilesIdsForPost(state, postId) {
if (postId) {
return state.entities.files.fileIdsByPostId[postId] || [];
}
return [];
}
function getFilePublicLink(state) {
return state.entities.files.filePublicLink;
}
exports.getFilePublicLink = getFilePublicLink;
function makeGetFilesForPost() {
return reselect_1.createSelector(getAllFiles, getFilesIdsForPost, i18n_1.getCurrentUserLocale, function (allFiles, fileIdsForPost, locale) {
var fileInfos = fileIdsForPost.map(function (id) { return allFiles[id]; }).filter(function (id) { return Boolean(id); });
return file_utils_1.sortFileInfos(fileInfos, locale);
});
}
exports.makeGetFilesForPost = makeGetFilesForPost;
//# sourceMappingURL=files.js.map