@boomerang-io/carbon-addons-boomerang-react 4.6.8-beta.0 → 4.6.8-beta.11

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.
@@ -21,9 +21,14 @@ IBM Confidential
21
21
  © Copyright IBM Corp. 2022, 2024
22
22
  */
23
23
  function AdvantageSideNav(props) {
24
- const { app, appLink, enableChatButton = true, showChatButton = true, showSelectTeamPurpose = false, homeLink, assistantLink, multipleRegionalTeams, teamList, 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;
24
+ const { app, appLink, enableChatButton = true, showChatButton = true, showSelectTeamPurpose = false, homeLink, assistantLink, regionalTeam,
25
+ // multipleRegionalTeams,
26
+ // teamList,
27
+ 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
28
  const [activeSubmenu, setActiveSubmenu] = React__default.default.useState("");
26
29
  const [activeMenu, setActiveMenu] = React__default.default.useState(false);
30
+ // const [multipleRegionalTeams, setMultipleRegionalTeams] = React.useState(false);
31
+ const [teamList, setTeamList] = React__default.default.useState(null);
27
32
  const [regionalModalIsOpen, setRegionalModalIsOpen] = React__default.default.useState(false);
28
33
  const [selectedTeam, setSelectedTeam] = React__default.default.useState(null);
29
34
  const isMenuOpen = isOpen || activeMenu;
@@ -49,13 +54,26 @@ function AdvantageSideNav(props) {
49
54
  });
50
55
  };
51
56
  const handleRegionalNewStartNewChat = (team) => {
57
+ alert("s");
52
58
  const assistantLink = `${appLink?.newChatRedirect()}?teamName=${team.name}&teamId=${team.id}`;
53
59
  window.open(assistantLink, "_self", "noopener,noreferrer");
54
60
  };
55
61
  const handleAssistantClick = () => {
56
- if (multipleRegionalTeams) {
62
+ alert("df");
63
+ setRegionalModalIsOpen(true);
64
+ console.log("regionalTeam", regionalTeam);
65
+ if (regionalTeam?.length > 1) {
66
+ // setMultipleRegionalTeams(true);
57
67
  setRegionalModalIsOpen(true);
68
+ setTeamList(regionalTeam?.map((team) => ({
69
+ id: team.id,
70
+ name: team.name,
71
+ })));
58
72
  }
73
+ // if(multipleRegionalTeams)
74
+ // {
75
+ // setRegionalModalIsOpen(true);
76
+ // }
59
77
  triggerEvent &&
60
78
  triggerEvent({
61
79
  action: "Clicked on SideNav Assistant link",
@@ -123,7 +141,11 @@ function AdvantageSideNav(props) {
123
141
  //@ts-ignore
124
142
  accountsRef.current = Array(accounts?.length).fill().map((_, i) => accountsRef.current[i] || React__default.default.createRef());
125
143
  }
126
- const assistantSideNavLink = assistantLink && (React__default.default.createElement(react.SideNavLink, { "data-testid": "sidenav-assistant-link", className: !enableChatButton ? `${settings.prefix}--bmrg-advantage-sidenav__inactive-link` : "", disabled: Boolean(!enableChatButton), isActive: windowLocation.href.includes(assistantLink), renderIcon: icons.ChatBot, href: enableChatButton && assistantLink, onClick: enableChatButton ? handleAssistantClick : (e) => e.preventDefault() }, `Start a ${defaultAssistantLink ? "" : "New "}Chat`));
144
+ const assistantSideNavLink = (React__default.default.createElement(react.SideNavLink, { "data-testid": "sidenav-assistant-link", className: !enableChatButton ? `${settings.prefix}--bmrg-advantage-sidenav__inactive-link` : "", disabled: Boolean(!enableChatButton),
145
+ // isActive={windowLocation.href.includes(assistantLink)}
146
+ renderIcon: icons.ChatBot,
147
+ // href={enableChatButton && assistantLink}
148
+ onClick: enableChatButton ? handleAssistantClick : (e) => e.preventDefault() }, `Start a ${defaultAssistantLink ? "" : "New "}Chat`));
127
149
  return (React__default.default.createElement(react.SideNav, { "aria-label": "sidenav-container", className: cx__default.default(`${settings.prefix}--bmrg-advantage-sidenav-container`, className, {
128
150
  "--closed": !isMenuOpen,
129
151
  }), "data-testid": "sidenav-container", isRail: true, expanded: isMenuOpen, onToggle: () => setActiveSubmenu(""), onMouseEnter: () => setActiveMenu(true), onMouseLeave: () => {
@@ -142,29 +164,27 @@ function AdvantageSideNav(props) {
142
164
  handleHomeClick();
143
165
  } }, "Home")) : null,
144
166
  !isPartnerUser &&
145
- assistantLink &&
146
167
  showChatButton &&
147
168
  (showChatTooltip ? (React__default.default.createElement(TooltipHover.default, { className: `${settings.prefix}--bmrg-side-nav__tooltip`, content: tooltipMessage, direction: "right" },
148
169
  React__default.default.createElement("span", null, assistantSideNavLink))) : (assistantSideNavLink)),
149
- React__default.default.createElement(react.ComposedModal
150
- // composedModalProps={{ containerClassName: teamSelectionModalContainer }}
151
- , {
170
+ regionalModalIsOpen && React__default.default.createElement(react.ComposedModal, { className: `${settings.prefix}--teamSelectionModalContainer`,
152
171
  // composedModalProps={{ containerClassName: teamSelectionModalContainer }}
153
- modalHeaderProps: {
154
- title: "Select Team to Start a New Chat",
155
- }, isOpen: regionalModalIsOpen, onCloseModal: () => setRegionalModalIsOpen(false), onKeyDown: (e) => e.stopPropagation(), "data-testid": "select-team-chat-modal" }, ({ closeModal }) => {
156
- return (React__default.default.createElement(React__default.default.Fragment, null,
157
- React__default.default.createElement(react.ModalBody, { className: `${settings.prefix}--teamSelectModalBody` },
158
- React__default.default.createElement(react.Dropdown, { items: teamList, disabled: !teamList?.length, id: "select-team-chat-modal-dropdown", selectedItem: selectedTeam, size: "md", "data-testid": "select-team-chat-modal-dropdown", itemToString: (item) => item?.name, label: "Choose a team", onChange: ({ selectedItem }) => setSelectedTeam(selectedItem) })),
159
- React__default.default.createElement(react.ModalFooter, null,
160
- React__default.default.createElement(react.Button, { kind: "secondary", "data-testid": "select-team-chat-modal-cancel-button", onClick: closeModal }, "Cancel"),
161
- React__default.default.createElement(react.Button, { "data-modal-primary-focus": true, kind: "primary", disabled: !selectedTeam, "data-testid": "select-team-chat-modal-continue-button", onClick: () => {
162
- if (selectedTeam) {
163
- handleRegionalNewStartNewChat(selectedTeam);
164
- closeModal();
165
- }
166
- } }, "Continue"))));
167
- }),
172
+ // modalHeaderProps={{
173
+ // title: "Select Team to Start a New Chat",
174
+ // }}
175
+ open: regionalModalIsOpen, onClose: () => setRegionalModalIsOpen(false), onKeyDown: (e) => e.stopPropagation(), "data-testid": "select-team-chat-modal" },
176
+ React__default.default.createElement(react.ModalHeader, { title: "Select Team to Start a New Chat", closeModal: () => setRegionalModalIsOpen(false) }),
177
+ React__default.default.createElement(react.ModalBody, null,
178
+ React__default.default.createElement(react.Dropdown, { items: teamList, disabled: !teamList?.length, id: "select-team-chat-modal-dropdown", selectedItem: selectedTeam, size: "md", "data-testid": "select-team-chat-modal-dropdown", itemToString: (item) => item?.name, label: "Choose a team", onChange: ({ selectedItem }) => setSelectedTeam(selectedItem) })),
179
+ React__default.default.createElement(react.ModalFooter, null,
180
+ React__default.default.createElement(react.Button, { kind: "secondary", "data-testid": "select-team-chat-modal-cancel-button", onClick: () => setRegionalModalIsOpen(false) }, "Cancel"),
181
+ React__default.default.createElement(react.Button, { "data-modal-primary-focus": true, kind: "primary", disabled: !selectedTeam, "data-testid": "select-team-chat-modal-continue-button", onClick: () => {
182
+ if (selectedTeam) {
183
+ handleRegionalNewStartNewChat(selectedTeam);
184
+ setRegionalModalIsOpen(false);
185
+ // closeModal();
186
+ }
187
+ } }, "Continue"))),
168
188
  !isPartnerUser && joinCreateTrigger ? (React__default.default.createElement(react.SideNavLink, { "data-testid": "sidenav-create-join-trigger", renderIcon: icons.AddAlt, onClick: (e) => {
169
189
  joinCreateTrigger(e);
170
190
  handleCreateJoinClick();
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import cx from 'classnames';
3
- import { SideNavLink, SideNav, SideNavItems, SideNavDivider, ComposedModal, ModalBody, Dropdown, ModalFooter, Button, SkeletonPlaceholder, SideNavMenu } from '@carbon/react';
3
+ import { SideNavLink, SideNav, SideNavItems, SideNavDivider, ComposedModal, ModalHeader, ModalBody, Dropdown, ModalFooter, Button, 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';
@@ -12,9 +12,14 @@ IBM Confidential
12
12
  © Copyright IBM Corp. 2022, 2024
13
13
  */
14
14
  function AdvantageSideNav(props) {
15
- const { app, appLink, enableChatButton = true, showChatButton = true, showSelectTeamPurpose = false, homeLink, assistantLink, multipleRegionalTeams, teamList, 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;
15
+ const { app, appLink, enableChatButton = true, showChatButton = true, showSelectTeamPurpose = false, homeLink, assistantLink, regionalTeam,
16
+ // multipleRegionalTeams,
17
+ // teamList,
18
+ 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
19
  const [activeSubmenu, setActiveSubmenu] = React.useState("");
17
20
  const [activeMenu, setActiveMenu] = React.useState(false);
21
+ // const [multipleRegionalTeams, setMultipleRegionalTeams] = React.useState(false);
22
+ const [teamList, setTeamList] = React.useState(null);
18
23
  const [regionalModalIsOpen, setRegionalModalIsOpen] = React.useState(false);
19
24
  const [selectedTeam, setSelectedTeam] = React.useState(null);
20
25
  const isMenuOpen = isOpen || activeMenu;
@@ -40,13 +45,26 @@ function AdvantageSideNav(props) {
40
45
  });
41
46
  };
42
47
  const handleRegionalNewStartNewChat = (team) => {
48
+ alert("s");
43
49
  const assistantLink = `${appLink?.newChatRedirect()}?teamName=${team.name}&teamId=${team.id}`;
44
50
  window.open(assistantLink, "_self", "noopener,noreferrer");
45
51
  };
46
52
  const handleAssistantClick = () => {
47
- if (multipleRegionalTeams) {
53
+ alert("df");
54
+ setRegionalModalIsOpen(true);
55
+ console.log("regionalTeam", regionalTeam);
56
+ if (regionalTeam?.length > 1) {
57
+ // setMultipleRegionalTeams(true);
48
58
  setRegionalModalIsOpen(true);
59
+ setTeamList(regionalTeam?.map((team) => ({
60
+ id: team.id,
61
+ name: team.name,
62
+ })));
49
63
  }
64
+ // if(multipleRegionalTeams)
65
+ // {
66
+ // setRegionalModalIsOpen(true);
67
+ // }
50
68
  triggerEvent &&
51
69
  triggerEvent({
52
70
  action: "Clicked on SideNav Assistant link",
@@ -114,7 +132,11 @@ function AdvantageSideNav(props) {
114
132
  //@ts-ignore
115
133
  accountsRef.current = Array(accounts?.length).fill().map((_, i) => accountsRef.current[i] || React.createRef());
116
134
  }
117
- const assistantSideNavLink = assistantLink && (React.createElement(SideNavLink, { "data-testid": "sidenav-assistant-link", className: !enableChatButton ? `${prefix}--bmrg-advantage-sidenav__inactive-link` : "", disabled: Boolean(!enableChatButton), isActive: windowLocation.href.includes(assistantLink), renderIcon: ChatBot, href: enableChatButton && assistantLink, onClick: enableChatButton ? handleAssistantClick : (e) => e.preventDefault() }, `Start a ${defaultAssistantLink ? "" : "New "}Chat`));
135
+ const assistantSideNavLink = (React.createElement(SideNavLink, { "data-testid": "sidenav-assistant-link", className: !enableChatButton ? `${prefix}--bmrg-advantage-sidenav__inactive-link` : "", disabled: Boolean(!enableChatButton),
136
+ // isActive={windowLocation.href.includes(assistantLink)}
137
+ renderIcon: ChatBot,
138
+ // href={enableChatButton && assistantLink}
139
+ onClick: enableChatButton ? handleAssistantClick : (e) => e.preventDefault() }, `Start a ${defaultAssistantLink ? "" : "New "}Chat`));
118
140
  return (React.createElement(SideNav, { "aria-label": "sidenav-container", className: cx(`${prefix}--bmrg-advantage-sidenav-container`, className, {
119
141
  "--closed": !isMenuOpen,
120
142
  }), "data-testid": "sidenav-container", isRail: true, expanded: isMenuOpen, onToggle: () => setActiveSubmenu(""), onMouseEnter: () => setActiveMenu(true), onMouseLeave: () => {
@@ -133,29 +155,27 @@ function AdvantageSideNav(props) {
133
155
  handleHomeClick();
134
156
  } }, "Home")) : null,
135
157
  !isPartnerUser &&
136
- assistantLink &&
137
158
  showChatButton &&
138
159
  (showChatTooltip ? (React.createElement(TooltipHover, { className: `${prefix}--bmrg-side-nav__tooltip`, content: tooltipMessage, direction: "right" },
139
160
  React.createElement("span", null, assistantSideNavLink))) : (assistantSideNavLink)),
140
- React.createElement(ComposedModal
141
- // composedModalProps={{ containerClassName: teamSelectionModalContainer }}
142
- , {
161
+ regionalModalIsOpen && React.createElement(ComposedModal, { className: `${prefix}--teamSelectionModalContainer`,
143
162
  // composedModalProps={{ containerClassName: teamSelectionModalContainer }}
144
- modalHeaderProps: {
145
- title: "Select Team to Start a New Chat",
146
- }, isOpen: regionalModalIsOpen, onCloseModal: () => setRegionalModalIsOpen(false), onKeyDown: (e) => e.stopPropagation(), "data-testid": "select-team-chat-modal" }, ({ closeModal }) => {
147
- return (React.createElement(React.Fragment, null,
148
- React.createElement(ModalBody, { className: `${prefix}--teamSelectModalBody` },
149
- React.createElement(Dropdown, { items: teamList, disabled: !teamList?.length, id: "select-team-chat-modal-dropdown", selectedItem: selectedTeam, size: "md", "data-testid": "select-team-chat-modal-dropdown", itemToString: (item) => item?.name, label: "Choose a team", onChange: ({ selectedItem }) => setSelectedTeam(selectedItem) })),
150
- React.createElement(ModalFooter, null,
151
- React.createElement(Button, { kind: "secondary", "data-testid": "select-team-chat-modal-cancel-button", onClick: closeModal }, "Cancel"),
152
- React.createElement(Button, { "data-modal-primary-focus": true, kind: "primary", disabled: !selectedTeam, "data-testid": "select-team-chat-modal-continue-button", onClick: () => {
153
- if (selectedTeam) {
154
- handleRegionalNewStartNewChat(selectedTeam);
155
- closeModal();
156
- }
157
- } }, "Continue"))));
158
- }),
163
+ // modalHeaderProps={{
164
+ // title: "Select Team to Start a New Chat",
165
+ // }}
166
+ open: regionalModalIsOpen, onClose: () => setRegionalModalIsOpen(false), onKeyDown: (e) => e.stopPropagation(), "data-testid": "select-team-chat-modal" },
167
+ React.createElement(ModalHeader, { title: "Select Team to Start a New Chat", closeModal: () => setRegionalModalIsOpen(false) }),
168
+ React.createElement(ModalBody, null,
169
+ React.createElement(Dropdown, { items: teamList, disabled: !teamList?.length, id: "select-team-chat-modal-dropdown", selectedItem: selectedTeam, size: "md", "data-testid": "select-team-chat-modal-dropdown", itemToString: (item) => item?.name, label: "Choose a team", onChange: ({ selectedItem }) => setSelectedTeam(selectedItem) })),
170
+ React.createElement(ModalFooter, null,
171
+ React.createElement(Button, { kind: "secondary", "data-testid": "select-team-chat-modal-cancel-button", onClick: () => setRegionalModalIsOpen(false) }, "Cancel"),
172
+ React.createElement(Button, { "data-modal-primary-focus": true, kind: "primary", disabled: !selectedTeam, "data-testid": "select-team-chat-modal-continue-button", onClick: () => {
173
+ if (selectedTeam) {
174
+ handleRegionalNewStartNewChat(selectedTeam);
175
+ setRegionalModalIsOpen(false);
176
+ // closeModal();
177
+ }
178
+ } }, "Continue"))),
159
179
  !isPartnerUser && joinCreateTrigger ? (React.createElement(SideNavLink, { "data-testid": "sidenav-create-join-trigger", renderIcon: AddAlt, onClick: (e) => {
160
180
  joinCreateTrigger(e);
161
181
  handleCreateJoinClick();
@@ -263,8 +263,7 @@ type Props$I = {
263
263
  app?: string;
264
264
  appLink: any;
265
265
  assistantLink?: string;
266
- multipleRegionalTeams?: boolean;
267
- teamList?: [];
266
+ regionalTeam?: any;
268
267
  baseEnvUrl?: string;
269
268
  className?: string;
270
269
  defaultAssistantLink?: string;
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.8-beta.0",
4
+ "version": "4.6.8-beta.11",
5
5
  "author": {
6
6
  "name": "Tim Bula",
7
7
  "email": "timrbula@gmail.com"