Web: Common: Selectors: Fixed module wrapper, if dummy module comes from api.
This commit is contained in:
parent
bd38b065cb
commit
5037c2210e
@ -7,41 +7,89 @@ export function isMe(user, userName) {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
const toModuleWrapper = (item, iconName) => {
|
const toModuleWrapper = (item, noAction = true, iconName = null) => {
|
||||||
|
switch (item.id) {
|
||||||
|
case "6743007c-6f95-4d20-8c88-a8601ce5e76d":
|
||||||
|
item.iconName = "CrmIcon";
|
||||||
|
item.iconUrl = "";
|
||||||
|
item.imageUrl = "/images/crm.svg";
|
||||||
|
break;
|
||||||
|
case "1e044602-43b5-4d79-82f3-fd6208a11960":
|
||||||
|
item.iconName = "ProjectsIcon";
|
||||||
|
item.iconUrl = "";
|
||||||
|
item.imageUrl = "/images/projects.svg";
|
||||||
|
break;
|
||||||
|
case "2A923037-8B2D-487b-9A22-5AC0918ACF3F":
|
||||||
|
item.iconName = "MailIcon";
|
||||||
|
item.iconUrl = "";
|
||||||
|
item.imageUrl = "/images/mail.svg";
|
||||||
|
break;
|
||||||
|
case "32D24CB5-7ECE-4606-9C94-19216BA42086":
|
||||||
|
item.iconName = "CalendarCheckedIcon";
|
||||||
|
item.iconUrl = "";
|
||||||
|
item.imageUrl = "/images/calendar.svg";
|
||||||
|
break;
|
||||||
|
case "BF88953E-3C43-4850-A3FB-B1E43AD53A3E":
|
||||||
|
item.iconName = "ChatIcon";
|
||||||
|
item.iconUrl = "";
|
||||||
|
item.imageUrl = "/images/talk.svg";
|
||||||
|
item.isolateMode = true;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
const actions = noAction
|
||||||
|
? null
|
||||||
|
: {
|
||||||
|
onClick: (e) => {
|
||||||
|
if (e) {
|
||||||
|
window.open(item.link, "_self");
|
||||||
|
e.preventDefault();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
onBadgeClick: (e) => console.log(iconName + " Badge Clicked", e),
|
||||||
|
};
|
||||||
|
|
||||||
|
const description = noAction ? { description: item.description } : null;
|
||||||
|
|
||||||
return {
|
return {
|
||||||
id: item.id,
|
id: item.id,
|
||||||
title: item.title,
|
title: item.title,
|
||||||
|
link: item.link,
|
||||||
iconName: item.iconName || iconName || "PeopleIcon", //TODO: Change to URL
|
iconName: item.iconName || iconName || "PeopleIcon", //TODO: Change to URL
|
||||||
iconUrl: item.iconUrl,
|
iconUrl: item.iconUrl,
|
||||||
|
imageUrl: item.imageUrl,
|
||||||
notifications: 0,
|
notifications: 0,
|
||||||
url: item.link,
|
url: item.link,
|
||||||
isolateMode: item.isolateMode,
|
isolateMode: item.isolateMode,
|
||||||
onClick: (e) => {
|
isPrimary: item.isPrimary,
|
||||||
if (e) {
|
...description,
|
||||||
window.open(item.link, "_self");
|
...actions,
|
||||||
e.preventDefault();
|
|
||||||
}
|
|
||||||
},
|
|
||||||
onBadgeClick: (e) => console.log(iconName + " Badge Clicked", e),
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
const getCustomModules = (isAdmin) => {
|
const getCustomModules = (isAdmin) => {
|
||||||
if (!isAdmin) {
|
if (!isAdmin) {
|
||||||
return [];
|
return [];
|
||||||
} // Temporarily hiding the settings module
|
}
|
||||||
|
const settingsModuleWrapper = toModuleWrapper(
|
||||||
|
{
|
||||||
|
id: "settings",
|
||||||
|
title: "Settings",
|
||||||
|
link: "/settings",
|
||||||
|
},
|
||||||
|
false,
|
||||||
|
"SettingsIcon"
|
||||||
|
);
|
||||||
|
|
||||||
/* const separator = getSeparator("nav-modules-separator");
|
return [
|
||||||
const settingsModuleWrapper = toModuleWrapper(
|
{
|
||||||
{
|
separator: true,
|
||||||
id: "settings",
|
id: "nav-products-separator-custom",
|
||||||
title: i18n.t('Settings'),
|
},
|
||||||
link: "/settings"
|
settingsModuleWrapper,
|
||||||
},
|
];
|
||||||
"SettingsIcon"
|
|
||||||
);
|
|
||||||
|
|
||||||
return [separator, settingsModuleWrapper];*/ return [];
|
|
||||||
};
|
};
|
||||||
|
|
||||||
export const getCurrentUser = (state) => state.auth.user;
|
export const getCurrentUser = (state) => state.auth.user;
|
||||||
@ -55,53 +103,25 @@ export const getModules = (state) => {
|
|||||||
|
|
||||||
const extendedModules = [
|
const extendedModules = [
|
||||||
...modules,
|
...modules,
|
||||||
{
|
|
||||||
id: "1e044602-43b5-4d79-82f3-fd6208a11960",
|
|
||||||
title: "Projects",
|
|
||||||
iconName: "ProjectsIcon",
|
|
||||||
iconUrl: "",
|
|
||||||
link: "/products/projects/",
|
|
||||||
imageUrl: "/images/projects.svg",
|
|
||||||
isPrimary: false,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
id: "6743007C-6F95-4d20-8C88-A8601CE5E76D",
|
|
||||||
title: "CRM",
|
|
||||||
iconName: "CrmIcon",
|
|
||||||
iconUrl: "",
|
|
||||||
link: "/products/crm/",
|
|
||||||
imageUrl: "/images/crm.svg",
|
|
||||||
isPrimary: false,
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
id: "2A923037-8B2D-487b-9A22-5AC0918ACF3F",
|
id: "2A923037-8B2D-487b-9A22-5AC0918ACF3F",
|
||||||
title: "Mail",
|
title: "Mail",
|
||||||
iconName: "MailIcon",
|
|
||||||
iconUrl: "",
|
|
||||||
link: "/products/mail/",
|
link: "/products/mail/",
|
||||||
imageUrl: "/images/mail.svg",
|
|
||||||
isPrimary: false,
|
isPrimary: false,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: "32D24CB5-7ECE-4606-9C94-19216BA42086",
|
id: "32D24CB5-7ECE-4606-9C94-19216BA42086",
|
||||||
title: "Calendar",
|
title: "Calendar",
|
||||||
iconName: "CalendarCheckedIcon",
|
|
||||||
iconUrl: "",
|
|
||||||
link: "/products/calendar/",
|
link: "/products/calendar/",
|
||||||
imageUrl: "/images/calendar.svg",
|
|
||||||
isPrimary: false,
|
isPrimary: false,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: "BF88953E-3C43-4850-A3FB-B1E43AD53A3E",
|
id: "BF88953E-3C43-4850-A3FB-B1E43AD53A3E",
|
||||||
title: "Talk",
|
title: "Talk",
|
||||||
iconName: "ChatIcon",
|
|
||||||
iconUrl: "",
|
|
||||||
link: "/products/talk/",
|
link: "/products/talk/",
|
||||||
imageUrl: "/images/talk.svg",
|
|
||||||
isPrimary: false,
|
isPrimary: false,
|
||||||
isolateMode: true,
|
|
||||||
},
|
},
|
||||||
];
|
].map((m) => toModuleWrapper(m));
|
||||||
|
|
||||||
return extendedModules;
|
return extendedModules;
|
||||||
};
|
};
|
||||||
@ -181,7 +201,7 @@ export const getAvailableModules = createSelector(
|
|||||||
|
|
||||||
const isUserAdmin = user.isAdmin;
|
const isUserAdmin = user.isAdmin;
|
||||||
const customModules = getCustomModules(isUserAdmin);
|
const customModules = getCustomModules(isUserAdmin);
|
||||||
const products = modules.map((m) => toModuleWrapper(m));
|
const products = modules.map((m) => toModuleWrapper(m, false));
|
||||||
|
|
||||||
return [
|
return [
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user