mirror of
https://github.com/plankanban/planka.git
synced 2025-12-25 09:15:00 +03:00
86 lines
2.1 KiB
JavaScript
86 lines
2.1 KiB
JavaScript
/*!
|
|
* Copyright (c) 2024 PLANKA Software GmbH
|
|
* Licensed under the Fair Use License: https://github.com/plankanban/planka/blob/master/LICENSE.md
|
|
*/
|
|
|
|
import { createSelector } from 'redux-orm';
|
|
|
|
import orm from '../orm';
|
|
import { isLocalId } from '../utils/local-id';
|
|
|
|
export const makeSelectCustomFieldGroupById = () =>
|
|
createSelector(
|
|
orm,
|
|
(_, id) => id,
|
|
({ CustomFieldGroup }, id) => {
|
|
const customFieldGroupModel = CustomFieldGroup.withId(id);
|
|
|
|
if (!customFieldGroupModel) {
|
|
return customFieldGroupModel;
|
|
}
|
|
|
|
return {
|
|
...customFieldGroupModel.ref,
|
|
name: customFieldGroupModel.name || customFieldGroupModel.baseCustomFieldGroup.name,
|
|
isPersisted: !isLocalId(customFieldGroupModel.id),
|
|
};
|
|
},
|
|
);
|
|
|
|
export const selectCustomFieldGroupById = makeSelectCustomFieldGroupById();
|
|
|
|
export const makeSelectCustomFieldIdsByGroupId = () =>
|
|
createSelector(
|
|
orm,
|
|
(_, id) => id,
|
|
({ CustomFieldGroup }, id) => {
|
|
if (!id) {
|
|
return id;
|
|
}
|
|
|
|
const customFieldGroupModel = CustomFieldGroup.withId(id);
|
|
|
|
if (!customFieldGroupModel) {
|
|
return customFieldGroupModel;
|
|
}
|
|
|
|
return customFieldGroupModel
|
|
.getCustomFieldsModelArray()
|
|
.map((customFieldModel) => customFieldModel.id);
|
|
},
|
|
);
|
|
|
|
export const selectCustomFieldIdsByGroupId = makeSelectCustomFieldIdsByGroupId();
|
|
|
|
export const makeSelectCustomFieldsByGroupId = () =>
|
|
createSelector(
|
|
orm,
|
|
(_, id) => id,
|
|
({ CustomFieldGroup }, id) => {
|
|
if (!id) {
|
|
return id;
|
|
}
|
|
|
|
const customFieldGroupModel = CustomFieldGroup.withId(id);
|
|
|
|
if (!customFieldGroupModel) {
|
|
return customFieldGroupModel;
|
|
}
|
|
|
|
return customFieldGroupModel
|
|
.getCustomFieldsModelArray()
|
|
.map((customFieldModel) => customFieldModel.ref);
|
|
},
|
|
);
|
|
|
|
export const selectCustomFieldsByGroupId = makeSelectCustomFieldsByGroupId();
|
|
|
|
export default {
|
|
makeSelectCustomFieldGroupById,
|
|
selectCustomFieldGroupById,
|
|
makeSelectCustomFieldIdsByGroupId,
|
|
selectCustomFieldIdsByGroupId,
|
|
makeSelectCustomFieldsByGroupId,
|
|
selectCustomFieldsByGroupId,
|
|
};
|