@boomerang-io/carbon-addons-boomerang-react 4.6.9-beta.4 → 4.6.9-beta.41
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.
|
@@ -24,6 +24,7 @@ function AdvantageSideNav(props) {
|
|
|
24
24
|
const { app, enableChatButton = true, showChatButton = true, showSelectTeamPurpose = false, homeLink, assistantLink, defaultAssistantLink, joinCreateTrigger, isLoading, isOpen, teams = [], triggerEvent, accounts = [], baseEnvUrl, className, navLinks, personalTeams = [], user, showChatTooltip, templateMeteringEvent, tooltipMessage, isLaunchpad = false, userTeamsError = false, userTeamsLoading = false, history, children, ...rest } = props;
|
|
25
25
|
const [activeSubmenu, setActiveSubmenu] = React__default.default.useState("");
|
|
26
26
|
const [activeMenu, setActiveMenu] = React__default.default.useState(false);
|
|
27
|
+
const [isCreateOpen, setIsCreateOpen] = React__default.default.useState(true);
|
|
27
28
|
const isMenuOpen = isOpen || activeMenu;
|
|
28
29
|
const windowLocation = window.location;
|
|
29
30
|
const isPartnerUser = user?.type === UserType.USER_PLATFORM_ROLE.Partner;
|
|
@@ -84,6 +85,17 @@ function AdvantageSideNav(props) {
|
|
|
84
85
|
destinationPath: service.url,
|
|
85
86
|
});
|
|
86
87
|
};
|
|
88
|
+
console.log("IsCreateOpen outside", isCreateOpen);
|
|
89
|
+
const handleCreateClick = () => {
|
|
90
|
+
setIsCreateOpen(!isCreateOpen);
|
|
91
|
+
console.log("IsCreateOpen inside", isCreateOpen);
|
|
92
|
+
triggerEvent &&
|
|
93
|
+
triggerEvent({
|
|
94
|
+
action: "Clicked on SideNav Create link",
|
|
95
|
+
category: "Sidenav",
|
|
96
|
+
// destinationPath: service.url,
|
|
97
|
+
});
|
|
98
|
+
};
|
|
87
99
|
const handleLaunchpadLink = (event) => {
|
|
88
100
|
event.preventDefault();
|
|
89
101
|
// remediation to close menu, submenu and accordion when select a team on Launchpad
|
|
@@ -144,6 +156,21 @@ function AdvantageSideNav(props) {
|
|
|
144
156
|
children ? (React__default.default.createElement(React__default.default.Fragment, null,
|
|
145
157
|
React__default.default.createElement(react.SideNavDivider, null),
|
|
146
158
|
children)) : null,
|
|
159
|
+
isCreateOpen && React__default.default.createElement(react.ComposedModal, { "aria-label": "Feedback", open: isCreateOpen, className: `${settings.prefix}--bmrg-feedback-container ${settings.prefix}--bmrg-header-modal`, onClose: setIsCreateOpen(false), onKeyDown: (e) => e.stopPropagation() },
|
|
160
|
+
React__default.default.createElement(react.ModalHeader, { title: "Choose your Method to Create:", closeModal: setIsCreateOpen(!isCreateOpen) }),
|
|
161
|
+
React__default.default.createElement(react.ModalBody, null,
|
|
162
|
+
React__default.default.createElement("div", null,
|
|
163
|
+
React__default.default.createElement("a", { href: "www.google.com" },
|
|
164
|
+
React__default.default.createElement("p", null, "Create an Agent"),
|
|
165
|
+
React__default.default.createElement("span", null, "Simple single agent configuration leveraging tools, via chat and general field inputs")),
|
|
166
|
+
React__default.default.createElement("a", { href: "www.youtube.com" },
|
|
167
|
+
React__default.default.createElement("p", null, "Create an Agentic App/ Workflow"),
|
|
168
|
+
React__default.default.createElement("span", null, "Advanced orchestration of multiple agents into workflows with configurable frameworks"))))),
|
|
169
|
+
React__default.default.createElement(react.SideNavLink, { "data-testid": "sidenav-create-link",
|
|
170
|
+
// isActive={`${baseEnvUrl}/${app}/`.includes(windowLocation.href)}
|
|
171
|
+
renderIcon: icons.AddAlt,
|
|
172
|
+
// onClick={setIsCreateOpen(true)}
|
|
173
|
+
onClick: () => handleCreateClick() }, "Create"),
|
|
147
174
|
userTeamsLoading && isMenuOpen ? (React__default.default.createElement(React__default.default.Fragment, null,
|
|
148
175
|
React__default.default.createElement(react.SideNavDivider, null),
|
|
149
176
|
React__default.default.createElement("div", { className: `${settings.prefix}--bmrg-advantage-sidenav-loading-container` },
|
|
@@ -60,8 +60,6 @@ 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
|
-
console.log("userTeams", userTeams);
|
|
64
|
-
console.log("props.userTeams", props.userTeams);
|
|
65
63
|
return (React__default.default.createElement(React__default.default.Fragment, null,
|
|
66
64
|
React__default.default.createElement(react.Theme, { theme: carbonTheme },
|
|
67
65
|
React__default.default.createElement(react.Header, { "aria-label": "App navigation header", className: className },
|
|
@@ -72,7 +70,7 @@ function Header(props) {
|
|
|
72
70
|
? 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
71
|
: null),
|
|
74
72
|
React__default.default.createElement(react.HeaderGlobalBar, null,
|
|
75
|
-
React__default.default.createElement(DefaultTeamsFlowMenu, { menuItems: userTeams }),
|
|
73
|
+
React__default.default.createElement(DefaultTeamsFlowMenu, { menuItems: userTeams?.data?.standardTeams }),
|
|
76
74
|
props?.instanceSwitcherEnabled && (React__default.default.createElement(InstanceSwitcherMenu, { enabled: Boolean(props.instanceSwitcherEnabled), menuItems: platform?.instances })),
|
|
77
75
|
React__default.default.createElement(RequestsMenu, { baseEnvUrl: baseEnvUrl, enabled: Boolean(props.requestSummary), summary: props.requestSummary }),
|
|
78
76
|
React__default.default.createElement(NotificationsMenu, { baseEnvUrl: baseEnvUrl, baseServicesUrl: baseServicesUrl, enabled: Boolean(props.enableNotifications), countEnabled: Boolean(props.enableNotificationsCount) }),
|
|
@@ -101,22 +99,12 @@ function InstanceSwitcherMenu(props) {
|
|
|
101
99
|
: null)) : null));
|
|
102
100
|
}
|
|
103
101
|
function DefaultTeamsFlowMenu(props) {
|
|
104
|
-
const currentURL = window?.location?.href;
|
|
105
102
|
const { isOpen, toggleActive, ref } = useHeaderMenu.default(MenuButtonId.defaultTeamsFlowMenu);
|
|
106
103
|
// if (!props.enabled) {
|
|
107
104
|
// return null;
|
|
108
105
|
// }
|
|
109
106
|
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));
|
|
107
|
+
React__default.default.createElement(react.Dropdown, { style: { width: "10rem", marginBottom: "1rem" }, label: "", title: "Dropdown", items: props.menuItems, itemToString: (item) => item ? item.name : " " })));
|
|
120
108
|
}
|
|
121
109
|
function RequestsMenu(props) {
|
|
122
110
|
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';
|
|
@@ -15,6 +15,7 @@ function AdvantageSideNav(props) {
|
|
|
15
15
|
const { app, enableChatButton = true, showChatButton = true, showSelectTeamPurpose = false, homeLink, assistantLink, defaultAssistantLink, joinCreateTrigger, isLoading, isOpen, teams = [], triggerEvent, accounts = [], baseEnvUrl, className, navLinks, personalTeams = [], user, showChatTooltip, templateMeteringEvent, tooltipMessage, isLaunchpad = false, userTeamsError = false, userTeamsLoading = false, history, children, ...rest } = props;
|
|
16
16
|
const [activeSubmenu, setActiveSubmenu] = React.useState("");
|
|
17
17
|
const [activeMenu, setActiveMenu] = React.useState(false);
|
|
18
|
+
const [isCreateOpen, setIsCreateOpen] = React.useState(true);
|
|
18
19
|
const isMenuOpen = isOpen || activeMenu;
|
|
19
20
|
const windowLocation = window.location;
|
|
20
21
|
const isPartnerUser = user?.type === USER_PLATFORM_ROLE.Partner;
|
|
@@ -75,6 +76,17 @@ function AdvantageSideNav(props) {
|
|
|
75
76
|
destinationPath: service.url,
|
|
76
77
|
});
|
|
77
78
|
};
|
|
79
|
+
console.log("IsCreateOpen outside", isCreateOpen);
|
|
80
|
+
const handleCreateClick = () => {
|
|
81
|
+
setIsCreateOpen(!isCreateOpen);
|
|
82
|
+
console.log("IsCreateOpen inside", isCreateOpen);
|
|
83
|
+
triggerEvent &&
|
|
84
|
+
triggerEvent({
|
|
85
|
+
action: "Clicked on SideNav Create link",
|
|
86
|
+
category: "Sidenav",
|
|
87
|
+
// destinationPath: service.url,
|
|
88
|
+
});
|
|
89
|
+
};
|
|
78
90
|
const handleLaunchpadLink = (event) => {
|
|
79
91
|
event.preventDefault();
|
|
80
92
|
// remediation to close menu, submenu and accordion when select a team on Launchpad
|
|
@@ -135,6 +147,21 @@ function AdvantageSideNav(props) {
|
|
|
135
147
|
children ? (React.createElement(React.Fragment, null,
|
|
136
148
|
React.createElement(SideNavDivider, null),
|
|
137
149
|
children)) : null,
|
|
150
|
+
isCreateOpen && React.createElement(ComposedModal, { "aria-label": "Feedback", open: isCreateOpen, className: `${prefix}--bmrg-feedback-container ${prefix}--bmrg-header-modal`, onClose: setIsCreateOpen(false), onKeyDown: (e) => e.stopPropagation() },
|
|
151
|
+
React.createElement(ModalHeader, { title: "Choose your Method to Create:", closeModal: setIsCreateOpen(!isCreateOpen) }),
|
|
152
|
+
React.createElement(ModalBody, null,
|
|
153
|
+
React.createElement("div", null,
|
|
154
|
+
React.createElement("a", { href: "www.google.com" },
|
|
155
|
+
React.createElement("p", null, "Create an Agent"),
|
|
156
|
+
React.createElement("span", null, "Simple single agent configuration leveraging tools, via chat and general field inputs")),
|
|
157
|
+
React.createElement("a", { href: "www.youtube.com" },
|
|
158
|
+
React.createElement("p", null, "Create an Agentic App/ Workflow"),
|
|
159
|
+
React.createElement("span", null, "Advanced orchestration of multiple agents into workflows with configurable frameworks"))))),
|
|
160
|
+
React.createElement(SideNavLink, { "data-testid": "sidenav-create-link",
|
|
161
|
+
// isActive={`${baseEnvUrl}/${app}/`.includes(windowLocation.href)}
|
|
162
|
+
renderIcon: AddAlt,
|
|
163
|
+
// onClick={setIsCreateOpen(true)}
|
|
164
|
+
onClick: () => handleCreateClick() }, "Create"),
|
|
138
165
|
userTeamsLoading && isMenuOpen ? (React.createElement(React.Fragment, null,
|
|
139
166
|
React.createElement(SideNavDivider, null),
|
|
140
167
|
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,6 @@ 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
|
-
console.log("userTeams", userTeams);
|
|
56
|
-
console.log("props.userTeams", props.userTeams);
|
|
57
55
|
return (React.createElement(React.Fragment, null,
|
|
58
56
|
React.createElement(Theme, { theme: carbonTheme },
|
|
59
57
|
React.createElement(Header$1, { "aria-label": "App navigation header", className: className },
|
|
@@ -64,7 +62,7 @@ function Header(props) {
|
|
|
64
62
|
? 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
63
|
: null),
|
|
66
64
|
React.createElement(HeaderGlobalBar, null,
|
|
67
|
-
React.createElement(DefaultTeamsFlowMenu, { menuItems: userTeams }),
|
|
65
|
+
React.createElement(DefaultTeamsFlowMenu, { menuItems: userTeams?.data?.standardTeams }),
|
|
68
66
|
props?.instanceSwitcherEnabled && (React.createElement(InstanceSwitcherMenu, { enabled: Boolean(props.instanceSwitcherEnabled), menuItems: platform?.instances })),
|
|
69
67
|
React.createElement(RequestsMenu, { baseEnvUrl: baseEnvUrl, enabled: Boolean(props.requestSummary), summary: props.requestSummary }),
|
|
70
68
|
React.createElement(NotificationsMenu, { baseEnvUrl: baseEnvUrl, baseServicesUrl: baseServicesUrl, enabled: Boolean(props.enableNotifications), countEnabled: Boolean(props.enableNotificationsCount) }),
|
|
@@ -93,22 +91,12 @@ function InstanceSwitcherMenu(props) {
|
|
|
93
91
|
: null)) : null));
|
|
94
92
|
}
|
|
95
93
|
function DefaultTeamsFlowMenu(props) {
|
|
96
|
-
const currentURL = window?.location?.href;
|
|
97
94
|
const { isOpen, toggleActive, ref } = useHeaderMenu(MenuButtonId.defaultTeamsFlowMenu);
|
|
98
95
|
// if (!props.enabled) {
|
|
99
96
|
// return null;
|
|
100
97
|
// }
|
|
101
98
|
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));
|
|
99
|
+
React.createElement(Dropdown, { style: { width: "10rem", marginBottom: "1rem" }, label: "", title: "Dropdown", items: props.menuItems, itemToString: (item) => item ? item.name : " " })));
|
|
112
100
|
}
|
|
113
101
|
function RequestsMenu(props) {
|
|
114
102
|
const { isOpen, toggleActive, ref } = useHeaderMenu(MenuButtonId.Requests);
|
package/package.json
CHANGED