@boomerang-io/carbon-addons-boomerang-react 4.6.9-beta.3 → 4.6.9-beta.31
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -105,6 +105,7 @@ function AdvantageSideNav(props) {
|
|
|
105
105
|
setActiveMenu(false);
|
|
106
106
|
setActiveSubmenu("");
|
|
107
107
|
};
|
|
108
|
+
const [isCreateOpen, setIsCreateOpen] = React__default.default.useState(false);
|
|
108
109
|
// add or remove refs
|
|
109
110
|
if (teamsRef.current.length !== standardTeamsList?.length) {
|
|
110
111
|
//@ts-ignore
|
|
@@ -144,6 +145,20 @@ function AdvantageSideNav(props) {
|
|
|
144
145
|
children ? (React__default.default.createElement(React__default.default.Fragment, null,
|
|
145
146
|
React__default.default.createElement(react.SideNavDivider, null),
|
|
146
147
|
children)) : null,
|
|
148
|
+
React__default.default.createElement(react.SideNavLink, { "data-testid": "sidenav-create-link",
|
|
149
|
+
// isActive={`${baseEnvUrl}/${app}/`.includes(windowLocation.href)}
|
|
150
|
+
renderIcon: icons.AddAlt, onClick: () => setIsCreateOpen(!isCreateOpen) },
|
|
151
|
+
"Create",
|
|
152
|
+
React__default.default.createElement(react.ComposedModal, { "aria-label": "Feedback", open: isCreateOpen, className: `${settings.prefix}--bmrg-feedback-container ${settings.prefix}--bmrg-header-modal`, onClose: setIsCreateOpen(!isCreateOpen), onKeyDown: (e) => e.stopPropagation() },
|
|
153
|
+
React__default.default.createElement(react.ModalHeader, { title: "Choose your Method to Create:", closeModal: setIsCreateOpen(!isCreateOpen) }),
|
|
154
|
+
React__default.default.createElement(react.ModalBody, null,
|
|
155
|
+
React__default.default.createElement("div", null,
|
|
156
|
+
React__default.default.createElement("a", { href: "www.google.com" },
|
|
157
|
+
React__default.default.createElement("p", null, "Create an Agent"),
|
|
158
|
+
React__default.default.createElement("span", null, "Simple single agent configuration leveraging tools, via chat and general field inputs")),
|
|
159
|
+
React__default.default.createElement("a", { href: "www.youtube.com" },
|
|
160
|
+
React__default.default.createElement("p", null, "Create an Agentic App/ Workflow"),
|
|
161
|
+
React__default.default.createElement("span", null, "Advanced orchestration of multiple agents into workflows with configurable frameworks")))))),
|
|
147
162
|
userTeamsLoading && isMenuOpen ? (React__default.default.createElement(React__default.default.Fragment, null,
|
|
148
163
|
React__default.default.createElement(react.SideNavDivider, null),
|
|
149
164
|
React__default.default.createElement("div", { className: `${settings.prefix}--bmrg-advantage-sidenav-loading-container` },
|
|
@@ -60,8 +60,31 @@ const headerButtonClassNames = "cds--btn--icon-only cds--header__action cds--btn
|
|
|
60
60
|
const instanceCheckMarkContainerClass = "instance-checkmark-style-container";
|
|
61
61
|
function Header(props) {
|
|
62
62
|
const { productName, baseEnvUrl, baseServicesUrl, carbonTheme = "g10", className, navLinks, platform, prefixName = "", rightPanel, skipToContentProps, templateMeteringEvent, triggerEvent, userTeams, } = props;
|
|
63
|
-
|
|
64
|
-
console.log("
|
|
63
|
+
// const hasUserTeams = Boolean(userTeams);
|
|
64
|
+
// console.log("hasUserTeams",hasUserTeams);
|
|
65
|
+
// let accountTeams, standardTeams, personalTeam : any = [];
|
|
66
|
+
// if (userTeams?.data) {
|
|
67
|
+
// if(hasUserTeams) {
|
|
68
|
+
// accountTeams = userTeams?.data?.accountTeams;
|
|
69
|
+
// standardTeams = userTeams?.data?.standardTeams;
|
|
70
|
+
// personalTeam = userTeams?.data?.personalTeam;
|
|
71
|
+
// }
|
|
72
|
+
// }
|
|
73
|
+
// console.log("personalTeam",personalTeam);
|
|
74
|
+
// console.log("accountTeams",accountTeams);
|
|
75
|
+
// console.log("standardTeams",standardTeams);
|
|
76
|
+
// const combinedArray = [...standardTeams,...accountTeams,...personalTeam];
|
|
77
|
+
// console.log("combinedArray",combinedArray);
|
|
78
|
+
// const handleTeamClick = ({ team, type }: { team: any; type?: string }) => {
|
|
79
|
+
// triggerEvent &&
|
|
80
|
+
// triggerEvent({
|
|
81
|
+
// action: "Clicked on SideNav Team link",
|
|
82
|
+
// category: "Sidenav",
|
|
83
|
+
// destinationPath: `${baseEnvUrl}/launchpad/teams/${team.id}`,
|
|
84
|
+
// teamId: team.id,
|
|
85
|
+
// teamType: type,
|
|
86
|
+
// });
|
|
87
|
+
// };
|
|
65
88
|
return (React__default.default.createElement(React__default.default.Fragment, null,
|
|
66
89
|
React__default.default.createElement(react.Theme, { theme: carbonTheme },
|
|
67
90
|
React__default.default.createElement(react.Header, { "aria-label": "App navigation header", className: className },
|
|
@@ -72,7 +95,7 @@ function Header(props) {
|
|
|
72
95
|
? navLinks.map((link) => (React__default.default.createElement(react.HeaderMenuItem, { "aria-label": `Link for ${link.name}`, "data-testid": "header-menu-link", href: link.url, isCurrentPage: window?.location?.href && link.url ? window.location.href.startsWith(link.url) : false, key: link.name, target: link.isExternal ? "_blank" : undefined, rel: link.isExternal ? "noopener noreferrer" : undefined }, link.name)))
|
|
73
96
|
: null),
|
|
74
97
|
React__default.default.createElement(react.HeaderGlobalBar, null,
|
|
75
|
-
React__default.default.createElement(DefaultTeamsFlowMenu, { menuItems: userTeams }),
|
|
98
|
+
React__default.default.createElement(DefaultTeamsFlowMenu, { menuItems: userTeams?.data?.standardTeams }),
|
|
76
99
|
props?.instanceSwitcherEnabled && (React__default.default.createElement(InstanceSwitcherMenu, { enabled: Boolean(props.instanceSwitcherEnabled), menuItems: platform?.instances })),
|
|
77
100
|
React__default.default.createElement(RequestsMenu, { baseEnvUrl: baseEnvUrl, enabled: Boolean(props.requestSummary), summary: props.requestSummary }),
|
|
78
101
|
React__default.default.createElement(NotificationsMenu, { baseEnvUrl: baseEnvUrl, baseServicesUrl: baseServicesUrl, enabled: Boolean(props.enableNotifications), countEnabled: Boolean(props.enableNotificationsCount) }),
|
|
@@ -101,22 +124,12 @@ function InstanceSwitcherMenu(props) {
|
|
|
101
124
|
: null)) : null));
|
|
102
125
|
}
|
|
103
126
|
function DefaultTeamsFlowMenu(props) {
|
|
104
|
-
const currentURL = window?.location?.href;
|
|
105
127
|
const { isOpen, toggleActive, ref } = useHeaderMenu.default(MenuButtonId.defaultTeamsFlowMenu);
|
|
106
128
|
// if (!props.enabled) {
|
|
107
129
|
// return null;
|
|
108
130
|
// }
|
|
109
131
|
return (React__default.default.createElement("div", { className: `${settings.prefix}--bmrg-header-instance-switcher`, style: { position: "relative" }, ref: ref },
|
|
110
|
-
React__default.default.createElement(
|
|
111
|
-
React__default.default.createElement(icons.Wikis, null)),
|
|
112
|
-
isOpen ? (React__default.default.createElement(HeaderMenu.default, { "aria-labelledby": MenuButtonId.defaultTeamsFlowMenu, id: MenuListId.defaultTeamsFlowMenu }, Array.isArray(props.menuItems)
|
|
113
|
-
? props.menuItems.map((item) => (React__default.default.createElement(react.HeaderMenuItem, { "aria-label": `Default Teams for ${item.instanceName}`, "data-testid": "header-menu-default-teams-flow", href: item.url, key: item.instanceName, target: "_self", rel: "noopener noreferrer" },
|
|
114
|
-
React__default.default.createElement("div", { className: instanceCheckMarkContainerClass },
|
|
115
|
-
React__default.default.createElement("span", null, item.instanceName),
|
|
116
|
-
item.url && currentURL?.includes(item.url) ? (React__default.default.createElement("span", null,
|
|
117
|
-
React__default.default.createElement(icons.Checkmark, null),
|
|
118
|
-
" ")) : ("")))))
|
|
119
|
-
: null)) : null));
|
|
132
|
+
React__default.default.createElement(react.Dropdown, { style: { width: "10rem", marginBottom: "1rem" }, label: "", title: "Dropdown", items: props.menuItems, itemsToSTring: (item) => item ? item.name : " " })));
|
|
120
133
|
}
|
|
121
134
|
function RequestsMenu(props) {
|
|
122
135
|
const { isOpen, toggleActive, ref } = useHeaderMenu.default(MenuButtonId.Requests);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import cx from 'classnames';
|
|
3
|
-
import { SideNavLink, SideNav, SideNavItems, SideNavDivider, SkeletonPlaceholder, SideNavMenu } from '@carbon/react';
|
|
3
|
+
import { SideNavLink, SideNav, SideNavItems, SideNavDivider, ComposedModal, ModalHeader, ModalBody, SkeletonPlaceholder, SideNavMenu } from '@carbon/react';
|
|
4
4
|
import TooltipHover from '../TooltipHover/TooltipHover.js';
|
|
5
5
|
import { ChatBot, Home, AddAlt, UserMultiple, User, Locked, Unlocked, ChevronRight, GroupAccount } from '@carbon/react/icons';
|
|
6
6
|
import { USER_PLATFORM_ROLE } from '../../constants/UserType.js';
|
|
@@ -96,6 +96,7 @@ function AdvantageSideNav(props) {
|
|
|
96
96
|
setActiveMenu(false);
|
|
97
97
|
setActiveSubmenu("");
|
|
98
98
|
};
|
|
99
|
+
const [isCreateOpen, setIsCreateOpen] = React.useState(false);
|
|
99
100
|
// add or remove refs
|
|
100
101
|
if (teamsRef.current.length !== standardTeamsList?.length) {
|
|
101
102
|
//@ts-ignore
|
|
@@ -135,6 +136,20 @@ function AdvantageSideNav(props) {
|
|
|
135
136
|
children ? (React.createElement(React.Fragment, null,
|
|
136
137
|
React.createElement(SideNavDivider, null),
|
|
137
138
|
children)) : null,
|
|
139
|
+
React.createElement(SideNavLink, { "data-testid": "sidenav-create-link",
|
|
140
|
+
// isActive={`${baseEnvUrl}/${app}/`.includes(windowLocation.href)}
|
|
141
|
+
renderIcon: AddAlt, onClick: () => setIsCreateOpen(!isCreateOpen) },
|
|
142
|
+
"Create",
|
|
143
|
+
React.createElement(ComposedModal, { "aria-label": "Feedback", open: isCreateOpen, className: `${prefix}--bmrg-feedback-container ${prefix}--bmrg-header-modal`, onClose: setIsCreateOpen(!isCreateOpen), onKeyDown: (e) => e.stopPropagation() },
|
|
144
|
+
React.createElement(ModalHeader, { title: "Choose your Method to Create:", closeModal: setIsCreateOpen(!isCreateOpen) }),
|
|
145
|
+
React.createElement(ModalBody, null,
|
|
146
|
+
React.createElement("div", null,
|
|
147
|
+
React.createElement("a", { href: "www.google.com" },
|
|
148
|
+
React.createElement("p", null, "Create an Agent"),
|
|
149
|
+
React.createElement("span", null, "Simple single agent configuration leveraging tools, via chat and general field inputs")),
|
|
150
|
+
React.createElement("a", { href: "www.youtube.com" },
|
|
151
|
+
React.createElement("p", null, "Create an Agentic App/ Workflow"),
|
|
152
|
+
React.createElement("span", null, "Advanced orchestration of multiple agents into workflows with configurable frameworks")))))),
|
|
138
153
|
userTeamsLoading && isMenuOpen ? (React.createElement(React.Fragment, null,
|
|
139
154
|
React.createElement(SideNavDivider, null),
|
|
140
155
|
React.createElement("div", { className: `${prefix}--bmrg-advantage-sidenav-loading-container` },
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { Theme, Header as Header$1, SkipToContent, HeaderName, HeaderNavigation, HeaderMenuItem, HeaderGlobalBar, HeaderPanel, HeaderMenuButton, SideNav, SideNavItems, SideNavLink } from '@carbon/react';
|
|
2
|
+
import { Theme, Header as Header$1, SkipToContent, HeaderName, HeaderNavigation, HeaderMenuItem, HeaderGlobalBar, Dropdown, HeaderPanel, HeaderMenuButton, SideNav, SideNavItems, SideNavLink } from '@carbon/react';
|
|
3
3
|
import { Wikis, Checkmark, Collaborate, NotificationNew, Notification, Help, UserAvatar, Close, Switcher, OpenPanelFilledRight } from '@carbon/react/icons';
|
|
4
4
|
import HeaderAppSwitcher from './HeaderAppSwitcher.js';
|
|
5
5
|
import HeaderMenu from './HeaderMenu.js';
|
|
@@ -52,8 +52,31 @@ const headerButtonClassNames = "cds--btn--icon-only cds--header__action cds--btn
|
|
|
52
52
|
const instanceCheckMarkContainerClass = "instance-checkmark-style-container";
|
|
53
53
|
function Header(props) {
|
|
54
54
|
const { productName, baseEnvUrl, baseServicesUrl, carbonTheme = "g10", className, navLinks, platform, prefixName = "", rightPanel, skipToContentProps, templateMeteringEvent, triggerEvent, userTeams, } = props;
|
|
55
|
-
|
|
56
|
-
console.log("
|
|
55
|
+
// const hasUserTeams = Boolean(userTeams);
|
|
56
|
+
// console.log("hasUserTeams",hasUserTeams);
|
|
57
|
+
// let accountTeams, standardTeams, personalTeam : any = [];
|
|
58
|
+
// if (userTeams?.data) {
|
|
59
|
+
// if(hasUserTeams) {
|
|
60
|
+
// accountTeams = userTeams?.data?.accountTeams;
|
|
61
|
+
// standardTeams = userTeams?.data?.standardTeams;
|
|
62
|
+
// personalTeam = userTeams?.data?.personalTeam;
|
|
63
|
+
// }
|
|
64
|
+
// }
|
|
65
|
+
// console.log("personalTeam",personalTeam);
|
|
66
|
+
// console.log("accountTeams",accountTeams);
|
|
67
|
+
// console.log("standardTeams",standardTeams);
|
|
68
|
+
// const combinedArray = [...standardTeams,...accountTeams,...personalTeam];
|
|
69
|
+
// console.log("combinedArray",combinedArray);
|
|
70
|
+
// const handleTeamClick = ({ team, type }: { team: any; type?: string }) => {
|
|
71
|
+
// triggerEvent &&
|
|
72
|
+
// triggerEvent({
|
|
73
|
+
// action: "Clicked on SideNav Team link",
|
|
74
|
+
// category: "Sidenav",
|
|
75
|
+
// destinationPath: `${baseEnvUrl}/launchpad/teams/${team.id}`,
|
|
76
|
+
// teamId: team.id,
|
|
77
|
+
// teamType: type,
|
|
78
|
+
// });
|
|
79
|
+
// };
|
|
57
80
|
return (React.createElement(React.Fragment, null,
|
|
58
81
|
React.createElement(Theme, { theme: carbonTheme },
|
|
59
82
|
React.createElement(Header$1, { "aria-label": "App navigation header", className: className },
|
|
@@ -64,7 +87,7 @@ function Header(props) {
|
|
|
64
87
|
? navLinks.map((link) => (React.createElement(HeaderMenuItem, { "aria-label": `Link for ${link.name}`, "data-testid": "header-menu-link", href: link.url, isCurrentPage: window?.location?.href && link.url ? window.location.href.startsWith(link.url) : false, key: link.name, target: link.isExternal ? "_blank" : undefined, rel: link.isExternal ? "noopener noreferrer" : undefined }, link.name)))
|
|
65
88
|
: null),
|
|
66
89
|
React.createElement(HeaderGlobalBar, null,
|
|
67
|
-
React.createElement(DefaultTeamsFlowMenu, { menuItems: userTeams }),
|
|
90
|
+
React.createElement(DefaultTeamsFlowMenu, { menuItems: userTeams?.data?.standardTeams }),
|
|
68
91
|
props?.instanceSwitcherEnabled && (React.createElement(InstanceSwitcherMenu, { enabled: Boolean(props.instanceSwitcherEnabled), menuItems: platform?.instances })),
|
|
69
92
|
React.createElement(RequestsMenu, { baseEnvUrl: baseEnvUrl, enabled: Boolean(props.requestSummary), summary: props.requestSummary }),
|
|
70
93
|
React.createElement(NotificationsMenu, { baseEnvUrl: baseEnvUrl, baseServicesUrl: baseServicesUrl, enabled: Boolean(props.enableNotifications), countEnabled: Boolean(props.enableNotificationsCount) }),
|
|
@@ -93,22 +116,12 @@ function InstanceSwitcherMenu(props) {
|
|
|
93
116
|
: null)) : null));
|
|
94
117
|
}
|
|
95
118
|
function DefaultTeamsFlowMenu(props) {
|
|
96
|
-
const currentURL = window?.location?.href;
|
|
97
119
|
const { isOpen, toggleActive, ref } = useHeaderMenu(MenuButtonId.defaultTeamsFlowMenu);
|
|
98
120
|
// if (!props.enabled) {
|
|
99
121
|
// return null;
|
|
100
122
|
// }
|
|
101
123
|
return (React.createElement("div", { className: `${prefix}--bmrg-header-instance-switcher`, style: { position: "relative" }, ref: ref },
|
|
102
|
-
React.createElement(
|
|
103
|
-
React.createElement(Wikis, null)),
|
|
104
|
-
isOpen ? (React.createElement(HeaderMenu, { "aria-labelledby": MenuButtonId.defaultTeamsFlowMenu, id: MenuListId.defaultTeamsFlowMenu }, Array.isArray(props.menuItems)
|
|
105
|
-
? props.menuItems.map((item) => (React.createElement(HeaderMenuItem, { "aria-label": `Default Teams for ${item.instanceName}`, "data-testid": "header-menu-default-teams-flow", href: item.url, key: item.instanceName, target: "_self", rel: "noopener noreferrer" },
|
|
106
|
-
React.createElement("div", { className: instanceCheckMarkContainerClass },
|
|
107
|
-
React.createElement("span", null, item.instanceName),
|
|
108
|
-
item.url && currentURL?.includes(item.url) ? (React.createElement("span", null,
|
|
109
|
-
React.createElement(Checkmark, null),
|
|
110
|
-
" ")) : ("")))))
|
|
111
|
-
: null)) : null));
|
|
124
|
+
React.createElement(Dropdown, { style: { width: "10rem", marginBottom: "1rem" }, label: "", title: "Dropdown", items: props.menuItems, itemsToSTring: (item) => item ? item.name : " " })));
|
|
112
125
|
}
|
|
113
126
|
function RequestsMenu(props) {
|
|
114
127
|
const { isOpen, toggleActive, ref } = useHeaderMenu(MenuButtonId.Requests);
|
package/package.json
CHANGED