@boomerang-io/carbon-addons-boomerang-react 4.6.9-beta.30 → 4.6.9-beta.32

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(false);
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,15 @@ function AdvantageSideNav(props) {
84
85
  destinationPath: service.url,
85
86
  });
86
87
  };
88
+ const handleCreateClick = () => {
89
+ triggerEvent &&
90
+ triggerEvent({
91
+ action: "Clicked on SideNav Create link",
92
+ category: "Sidenav",
93
+ // destinationPath: service.url,
94
+ });
95
+ setIsCreateOpen(true);
96
+ };
87
97
  const handleLaunchpadLink = (event) => {
88
98
  event.preventDefault();
89
99
  // remediation to close menu, submenu and accordion when select a team on Launchpad
@@ -105,7 +115,6 @@ function AdvantageSideNav(props) {
105
115
  setActiveMenu(false);
106
116
  setActiveSubmenu("");
107
117
  };
108
- // const [isCreateOpen, setIsCreateOpen] = React.useState(false);
109
118
  // add or remove refs
110
119
  if (teamsRef.current.length !== standardTeamsList?.length) {
111
120
  //@ts-ignore
@@ -145,6 +154,21 @@ function AdvantageSideNav(props) {
145
154
  children ? (React__default.default.createElement(React__default.default.Fragment, null,
146
155
  React__default.default.createElement(react.SideNavDivider, null),
147
156
  children)) : null,
157
+ React__default.default.createElement(react.SideNavLink, { "data-testid": "sidenav-create-link",
158
+ // isActive={`${baseEnvUrl}/${app}/`.includes(windowLocation.href)}
159
+ // renderIcon={AddAlt}
160
+ // onClick={setIsCreateOpen(true)}
161
+ onClick: () => handleCreateClick() }, "Create"),
162
+ 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() },
163
+ React__default.default.createElement(react.ModalHeader, { title: "Choose your Method to Create:", closeModal: setIsCreateOpen(!isCreateOpen) }),
164
+ React__default.default.createElement(react.ModalBody, null,
165
+ React__default.default.createElement("div", null,
166
+ React__default.default.createElement("a", { href: "www.google.com" },
167
+ React__default.default.createElement("p", null, "Create an Agent"),
168
+ React__default.default.createElement("span", null, "Simple single agent configuration leveraging tools, via chat and general field inputs")),
169
+ React__default.default.createElement("a", { href: "www.youtube.com" },
170
+ React__default.default.createElement("p", null, "Create an Agentic App/ Workflow"),
171
+ React__default.default.createElement("span", null, "Advanced orchestration of multiple agents into workflows with configurable frameworks"))))),
148
172
  userTeamsLoading && isMenuOpen ? (React__default.default.createElement(React__default.default.Fragment, null,
149
173
  React__default.default.createElement(react.SideNavDivider, null),
150
174
  React__default.default.createElement("div", { className: `${settings.prefix}--bmrg-advantage-sidenav-loading-container` },
@@ -60,31 +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
- // 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
- // };
88
63
  return (React__default.default.createElement(React__default.default.Fragment, null,
89
64
  React__default.default.createElement(react.Theme, { theme: carbonTheme },
90
65
  React__default.default.createElement(react.Header, { "aria-label": "App navigation header", className: className },
@@ -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(false);
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,15 @@ function AdvantageSideNav(props) {
75
76
  destinationPath: service.url,
76
77
  });
77
78
  };
79
+ const handleCreateClick = () => {
80
+ triggerEvent &&
81
+ triggerEvent({
82
+ action: "Clicked on SideNav Create link",
83
+ category: "Sidenav",
84
+ // destinationPath: service.url,
85
+ });
86
+ setIsCreateOpen(true);
87
+ };
78
88
  const handleLaunchpadLink = (event) => {
79
89
  event.preventDefault();
80
90
  // remediation to close menu, submenu and accordion when select a team on Launchpad
@@ -96,7 +106,6 @@ function AdvantageSideNav(props) {
96
106
  setActiveMenu(false);
97
107
  setActiveSubmenu("");
98
108
  };
99
- // const [isCreateOpen, setIsCreateOpen] = React.useState(false);
100
109
  // add or remove refs
101
110
  if (teamsRef.current.length !== standardTeamsList?.length) {
102
111
  //@ts-ignore
@@ -136,6 +145,21 @@ function AdvantageSideNav(props) {
136
145
  children ? (React.createElement(React.Fragment, null,
137
146
  React.createElement(SideNavDivider, null),
138
147
  children)) : null,
148
+ React.createElement(SideNavLink, { "data-testid": "sidenav-create-link",
149
+ // isActive={`${baseEnvUrl}/${app}/`.includes(windowLocation.href)}
150
+ // renderIcon={AddAlt}
151
+ // onClick={setIsCreateOpen(true)}
152
+ onClick: () => handleCreateClick() }, "Create"),
153
+ React.createElement(ComposedModal, { "aria-label": "Feedback", open: isCreateOpen, className: `${prefix}--bmrg-feedback-container ${prefix}--bmrg-header-modal`, onClose: setIsCreateOpen(false), onKeyDown: (e) => e.stopPropagation() },
154
+ React.createElement(ModalHeader, { title: "Choose your Method to Create:", closeModal: setIsCreateOpen(!isCreateOpen) }),
155
+ React.createElement(ModalBody, null,
156
+ React.createElement("div", null,
157
+ React.createElement("a", { href: "www.google.com" },
158
+ React.createElement("p", null, "Create an Agent"),
159
+ React.createElement("span", null, "Simple single agent configuration leveraging tools, via chat and general field inputs")),
160
+ React.createElement("a", { href: "www.youtube.com" },
161
+ React.createElement("p", null, "Create an Agentic App/ Workflow"),
162
+ React.createElement("span", null, "Advanced orchestration of multiple agents into workflows with configurable frameworks"))))),
139
163
  userTeamsLoading && isMenuOpen ? (React.createElement(React.Fragment, null,
140
164
  React.createElement(SideNavDivider, null),
141
165
  React.createElement("div", { className: `${prefix}--bmrg-advantage-sidenav-loading-container` },
@@ -52,31 +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
- // 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
- // };
80
55
  return (React.createElement(React.Fragment, null,
81
56
  React.createElement(Theme, { theme: carbonTheme },
82
57
  React.createElement(Header$1, { "aria-label": "App navigation header", className: className },
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@boomerang-io/carbon-addons-boomerang-react",
3
3
  "description": "Carbon Addons for Boomerang apps",
4
- "version": "4.6.9-beta.30",
4
+ "version": "4.6.9-beta.32",
5
5
  "author": {
6
6
  "name": "Tim Bula",
7
7
  "email": "timrbula@gmail.com"