PromucFlow_constructor/app/client/src/pages/common/CustomizedDropdown/OrgDropdownData.tsx

119 lines
3.1 KiB
TypeScript
Raw Normal View History

import React from "react";
import Badge from "./Badge";
import { Directions } from "utils/helpers";
import { ReduxActionTypes } from "constants/ReduxActionConstants";
import { getOnSelectAction, DropdownOnSelectActions } from "./dropdownHelpers";
2020-01-27 08:24:58 +00:00
import { CustomizedDropdownProps } from "./index";
import { Org } from "constants/orgConstants";
import { User } from "constants/userConstants";
2020-01-27 08:24:58 +00:00
import history from "utils/history";
2020-01-27 08:24:58 +00:00
// const switchdropdown = (orgs: Org[]): CustomizedDropdownProps => ({
// sections: [
// {
// isSticky: true,
// options: [
// {
// content: "Create Organization",
// onSelect: () => getOnSelectAction(DropdownOnSelectActions.FORM, {}),
// },
// ],
// },
// {
// options: orgs.map(org => ({
// content: org.name,
// onSelect: () =>
// getOnSelectAction(DropdownOnSelectActions.DISPATCH, {
// type: ReduxActionTypes.SWITCH_ORGANIZATION_INIT,
// payload: {
// organizationId: org.id,
// },
// }),
// })),
// },
// ],
// trigger: {
// text: "Switch Organization",
// },
// openDirection: Directions.RIGHT,
// openOnHover: false,
// });
export const options = (
orgs: Org[],
currentOrg: Org,
user: User,
): CustomizedDropdownProps => ({
sections: [
{
options: [
{
content: (
<Badge
text={currentOrg.name}
imageURL="https://via.placeholder.com/32"
/>
),
2020-01-27 08:24:58 +00:00
disabled: true,
shouldCloseDropdown: false,
},
{
2020-01-27 08:24:58 +00:00
content: "Organization Settings",
onSelect: () =>
getOnSelectAction(DropdownOnSelectActions.REDIRECT, {
path: "/org/settings",
}),
active: history.location.pathname === "/org/settings",
},
{
2020-01-27 08:24:58 +00:00
content: "Applications",
onSelect: () =>
getOnSelectAction(DropdownOnSelectActions.REDIRECT, {
path: "/applications",
}),
active: history.location.pathname === "/applications",
},
{
2020-01-27 08:24:58 +00:00
content: "Members",
onSelect: () =>
2020-01-27 08:24:58 +00:00
getOnSelectAction(DropdownOnSelectActions.REDIRECT, {
2020-01-31 10:46:43 +00:00
path: "/users",
}),
2020-01-31 10:46:43 +00:00
active: history.location.pathname === "/users",
},
],
},
{
options: [
{
content: (
<Badge
text={user.email}
subtext={user.email}
imageURL="https://via.placeholder.com/32"
/>
),
2020-01-27 08:24:58 +00:00
disabled: true,
shouldCloseDropdown: false,
},
{
content: "Sign Out",
onSelect: () =>
getOnSelectAction(DropdownOnSelectActions.DISPATCH, {
type: ReduxActionTypes.LOGOUT_USER_INIT,
}),
},
],
},
],
trigger: {
icon: "ORG_ICON",
text: currentOrg.name,
outline: false,
},
openDirection: Directions.DOWN,
});
export default options;