JSFiddle - React, Tailwind, and code Playground
by Nalin Sajwan
TypeScript
enum defaultOnboardingArea {
SETTINGS = 'SETTINGS',
CATALOGUES = 'CATALOGUES',
}
enum defaultOnboardingSection {
VENUES = 'VENUES',
PAGES = 'PAGES',
PRODUCT = 'PRODUCT',
REGISTER_PROFILE = 'REGISTER_PROFILE',
}
enum OnboardingAction{
READ = 'READ',
CREATE = 'CREATE',
UPDATE = 'UPDATE',
DELETE = 'DELETE',
}
const defaultOnboarding = {
areas: [
{
name: defaultOnboardingArea.SETTINGS,
sections: [
{
name: defaultOnboardingSection.VENUES,
actions: [
{
name: OnboardingAction.READ,
status: false,
}
]
}
]
},
{
name: defaultOnboardingArea.SETTINGS,
sections: [
{
name: defaultOnboardingSection.REGISTER_PROFILE,
actions: [
{
name: OnboardingAction.READ,
status: false,
}
]
}
]
},
{
name: defaultOnboardingArea.SETTINGS,
sections: [
{
name: defaultOnboardingSection.VENUES,
actions: [
{
name: OnboardingAction.READ,
status: false,
}
]
}
]
}
],
};
const onBoardingFlat = {};
defaultOnboarding.areas.forEach(area => {
area.sections.forEach(section => {
section.actions.forEach(action => {
console.log(area.name, section.name, action.name);
/* console.log(`${area.name}~${section.name}~${action.name}`); */
onBoardingFlat[ `${area.name}~${section.name}~${action.name}` ] = action.status;
});
});
});
console.log('defaultOnboarding ==> ', defaultOnboarding);
console.log('onBoardingFlat ==> ', onBoardingFlat);