@kadconsulting/dry
Version:
KAD Reusable Component Library
166 lines • 5.06 kB
JavaScript
const mockResourceFiltersData = [
{
name: 'Locations',
label: 'Locations',
type: 'checkbox',
options: [
{
LabelContent: 'Location 1',
value: 'location1',
color: 'light-contrast',
},
{
LabelContent: 'Location 2',
value: 'location2',
color: 'light-contrast',
},
{
LabelContent: 'Location 3',
value: 'location3',
color: 'light-contrast',
},
{
LabelContent: 'Location 4',
value: 'location4',
color: 'light-contrast',
},
{
LabelContent: 'Location 5',
value: 'location5',
color: 'light-contrast',
},
],
},
{
name: 'Coaches',
label: 'Coaches',
type: 'checkbox',
options: [
{
LabelContent: 'Coach 1',
value: 'coach1',
color: 'light-contrast',
},
{
LabelContent: 'Coach 2',
value: 'coach2',
color: 'light-contrast',
},
{
LabelContent: 'Coach 3',
value: 'coach3',
color: 'light-contrast',
},
{
LabelContent: 'Coach 4',
value: 'coach4',
color: 'light-contrast',
},
{
LabelContent: 'Coach 5',
value: 'coach5',
color: 'light-contrast',
},
],
},
{
name: 'Simbays',
label: 'Simbays',
type: 'checkbox',
options: [
{
LabelContent: 'Simbay 1',
value: 'simbay1',
color: 'light-contrast',
},
{
LabelContent: 'Simbay 2',
value: 'simbay2',
color: 'light-contrast',
},
{
LabelContent: 'Simbay 3',
value: 'simbay3',
color: 'light-contrast',
},
{
LabelContent: 'Simbay 4',
value: 'simbay4',
color: 'light-contrast',
},
{
LabelContent: 'Simbay 5',
value: 'simbay5',
color: 'light-contrast',
},
],
},
];
export const defaultFilters = {
Locations: ['location1', 'location2'],
Coaches: ['coach1', 'coach2'],
Categories: ['category1'],
Simbays: ['simbay1'],
Services: ['service1', 'service2'],
Classgroup: ['classgroup1'],
Events: ['event1', 'event2'],
};
export const filterPresets = {
preset1: {
Locations: ['location1', 'location3'],
Coaches: ['coach2', 'coach3'],
Categories: ['category2', 'category3'],
Simbays: ['simbay2'],
Services: ['service3'],
Classgroup: ['classgroup2', 'classgroup3'],
Events: ['event3', 'event4'],
},
preset2: {
Locations: ['location2', 'location4'],
Coaches: ['coach1', 'coach4'],
Categories: ['category1', 'category4'],
Simbays: ['simbay3'],
Services: ['service2', 'service4'],
Classgroup: ['classgroup1', 'classgroup4'],
Events: ['event2', 'event5'],
},
};
export const createCustomOption = (category, option) => {
const categoryIndex = mockResourceFiltersData.findIndex((cat) => cat.name === category);
if (categoryIndex !== -1) {
mockResourceFiltersData[categoryIndex].options.push(option);
}
};
export const selectAllOptions = (category) => {
const categoryIndex = mockResourceFiltersData.findIndex((cat) => cat.name === category);
if (categoryIndex !== -1) {
mockResourceFiltersData[categoryIndex].options.forEach((option) => {
option.checked = true;
});
}
};
export const deselectAllOptions = (category) => {
const categoryIndex = mockResourceFiltersData.findIndex((cat) => cat.name === category);
if (categoryIndex !== -1) {
mockResourceFiltersData[categoryIndex].options.forEach((option) => {
option.checked = false;
});
}
};
export const resetFiltersToDefault = () => {
mockResourceFiltersData.forEach((category) => {
category.options.forEach((option) => {
option.checked = defaultFilters[category.name]?.includes(option.value);
});
});
};
export const applyFilterPreset = (preset) => {
const selectedPreset = filterPresets[preset];
mockResourceFiltersData.forEach((category) => {
category.options.forEach((option) => {
option.checked = selectedPreset[category.name]?.includes(option.value);
});
});
};
export default mockResourceFiltersData;
//# sourceMappingURL=mockResourceFiltersData.js.map