@boomerang-io/carbon-addons-boomerang-react 4.6.21-beta.44 → 4.6.21-beta.46

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.
@@ -50,6 +50,10 @@ function AdvantageSideNav(props) {
50
50
  const settingsLink = sideNavUrls?.find((sideNavUrl) => sideNavUrl.key === SideNavUrlKeys.Settings)?.url;
51
51
  const adminNavlink = sideNavUrls?.find((sideNavUrl) => sideNavUrl.key === SideNavUrlKeys.Admin)?.url;
52
52
  const AssistantStudioLink = false;
53
+ const currentUrl = new URL(window.location.href);
54
+ const workspace = currentUrl.searchParams.get("workspace");
55
+ const isDocumentCollectionsActive = currentUrl.pathname.includes("/chat") && workspace === "knowledge";
56
+ const isChatActive = currentUrl.pathname.includes("/chat") && !isDocumentCollectionsActive;
53
57
  // get current selected team
54
58
  let teamSwitcherTeam = null;
55
59
  if (Array.isArray(personalTeams) && personalTeams.length > 0) {
@@ -115,7 +119,8 @@ function AdvantageSideNav(props) {
115
119
  category: "Sidenav",
116
120
  destinationPath: redirectLink,
117
121
  });
118
- window.open(redirectLink, "_self", "noopener,noreferrer");
122
+ // window.open(redirectLink, "_self", "noopener,noreferrer");
123
+ navigateInternal(redirectLink);
119
124
  };
120
125
  const handleCreateJoinClick = () => {
121
126
  triggerEvent &&
@@ -145,8 +150,26 @@ function AdvantageSideNav(props) {
145
150
  }
146
151
  setActiveMenu(false);
147
152
  };
148
- const chatSideNavLink = (React__default.default.createElement(react.SideNavLink, { "data-testid": "sidenav-chat-link", className: !enableChatButton ? `${settings.prefix}--bmrg-advantage-sidenav__inactive-link` : "", isActive: windowLocation.href.includes(`${baseEnvUrl}/chat`), disabled: Boolean(!enableChatButton), renderIcon: icons.ChatBot, href: enableChatButton && chatLink, onClick: enableChatButton ? handleChatClick : (e) => e.preventDefault() }, "Chat"));
153
+ const chatSideNavLink = (React__default.default.createElement(react.SideNavLink, { "data-testid": "sidenav-chat-link", className: !enableChatButton ? `${settings.prefix}--bmrg-advantage-sidenav__inactive-link` : "", isActive: isChatActive, disabled: Boolean(!enableChatButton), renderIcon: icons.ChatBot, href: enableChatButton && chatLink, onClick: enableChatButton ? handleChatClick : (e) => e.preventDefault() }, "Chat"));
149
154
  const showSecondDivider = showChatButton || toolsLink || agentAssistantStudioLink || agentAssistantLibraryLink || documentCollectionsLink;
155
+ const navigateInternal = (url) => {
156
+ console.log("url", url);
157
+ const target = new URL(url, window.location.origin);
158
+ console.log("target", target.origin);
159
+ console.log("window.location.origin", window.location.origin);
160
+ if (target.origin === window.location.origin) {
161
+ console.log("target.pathname", target.pathname);
162
+ const pathname = target.pathname.startsWith("/ica")
163
+ ? target.pathname.slice(4) // removes "/ica"
164
+ : target.pathname;
165
+ console.log("pathname", pathname);
166
+ history.push(pathname + target.search + target.hash);
167
+ }
168
+ else {
169
+ console.log("direct url navgation", url);
170
+ window.location.href = url;
171
+ }
172
+ };
150
173
  return (React__default.default.createElement(react.SideNav, { "aria-label": "sidenav-container", className: cx__default.default(`${settings.prefix}--bmrg-advantage-sidenav-container`, className, {
151
174
  "--closed": !isMenuOpen,
152
175
  }), "data-testid": "sidenav-container", isRail: true, expanded: isMenuOpen, onMouseEnter: () => setActiveMenu(true), onMouseLeave: () => {
@@ -187,7 +210,7 @@ function AdvantageSideNav(props) {
187
210
  } }, joinButtontitle)) : null,
188
211
  React__default.default.createElement(react.SideNavDivider, null),
189
212
  showChatButton &&
190
- (showChatTooltip ? (React__default.default.createElement(TooltipHover.default, { className: `${settings.prefix}--bmrg-side-nav__tooltip`, isActive: windowLocation.href.includes(`${baseEnvUrl}/chat`), content: tooltipMessage, direction: "right" },
213
+ (showChatTooltip ? (React__default.default.createElement(TooltipHover.default, { className: `${settings.prefix}--bmrg-side-nav__tooltip`, isActive: isChatActive, content: tooltipMessage, direction: "right" },
191
214
  React__default.default.createElement("span", null, chatSideNavLink))) : (chatSideNavLink)),
192
215
  toolsLink ? (React__default.default.createElement(react.SideNavLink, { "data-testid": "sidenav-tools-link", renderIcon: icons.Api, href: toolsLink, onClick: (e) => {
193
216
  handleToolsClick();
@@ -204,15 +227,21 @@ function AdvantageSideNav(props) {
204
227
  agentAssistantLibraryLink ? (React__default.default.createElement(react.SideNavLink, { "data-testid": "sidenav-agent-assistant-library-link", renderIcon: icons.Folders,
205
228
  //href={agentAssistantLibraryLink}
206
229
  className: `${settings.prefix}--bmrg-advantage-sidenav__inactive-link` , disabled: Boolean(!AssistantStudioLink) }, "Agent & Assistant Library")) : null,
207
- documentCollectionsLink ? (React__default.default.createElement(react.SideNavLink, { "data-testid": "sidenav-document-collections-link", renderIcon: icons.DocumentMultiple_02, href: documentCollectionsLink, onClick: (e) => {
230
+ documentCollectionsLink ? (React__default.default.createElement(react.SideNavLink, { "data-testid": "sidenav-document-collections-link", isActive: isDocumentCollectionsActive, renderIcon: icons.DocumentMultiple_02, href: documentCollectionsLink, onClick: (e) => {
208
231
  handleDocumentCollectionsClick();
209
232
  } }, "Document Collections")) : null,
210
233
  showSecondDivider ? React__default.default.createElement(react.SideNavDivider, null) : null,
211
- catalogNavlink ? (React__default.default.createElement(react.SideNavLink, { "data-testid": "sidenav-catalog-link", isActive: windowLocation.href.includes(`${baseEnvUrl}/catalog`), href: catalogNavlink, renderIcon: icons.Catalog }, "Catalog")) : null,
234
+ catalogNavlink ? (React__default.default.createElement(react.SideNavLink, { "data-testid": "sidenav-catalog-link", isActive: windowLocation.href.includes(`${baseEnvUrl}/catalog`), renderIcon: icons.Catalog, onClick: (e) => {
235
+ e.preventDefault();
236
+ navigateInternal(catalogNavlink);
237
+ } }, "Catalog")) : null,
212
238
  settingsLink ? (React__default.default.createElement(react.SideNavLink, { "data-testid": "sidenav-settings-link", renderIcon: icons.Settings,
213
239
  // href={settingsLink}
214
240
  className: `${settings.prefix}--bmrg-advantage-sidenav__inactive-link` , disabled: Boolean(!AssistantStudioLink) }, "Settings")) : null,
215
- adminNavlink ? (React__default.default.createElement(react.SideNavLink, { "data-testid": "sidenav-admin-link", href: adminNavlink, renderIcon: icons.LicenseThirdParty }, "Admin")) : null),
241
+ adminNavlink ? (React__default.default.createElement(react.SideNavLink, { "data-testid": "sidenav-admin-link", renderIcon: icons.LicenseThirdParty, onClick: (e) => {
242
+ e.preventDefault();
243
+ navigateInternal(adminNavlink);
244
+ } }, "Admin")) : null),
216
245
  children ? (React__default.default.createElement(React__default.default.Fragment, null,
217
246
  React__default.default.createElement(react.SideNavDivider, null),
218
247
  children)) : null)));
@@ -41,6 +41,10 @@ function AdvantageSideNav(props) {
41
41
  const settingsLink = sideNavUrls?.find((sideNavUrl) => sideNavUrl.key === SideNavUrlKeys.Settings)?.url;
42
42
  const adminNavlink = sideNavUrls?.find((sideNavUrl) => sideNavUrl.key === SideNavUrlKeys.Admin)?.url;
43
43
  const AssistantStudioLink = false;
44
+ const currentUrl = new URL(window.location.href);
45
+ const workspace = currentUrl.searchParams.get("workspace");
46
+ const isDocumentCollectionsActive = currentUrl.pathname.includes("/chat") && workspace === "knowledge";
47
+ const isChatActive = currentUrl.pathname.includes("/chat") && !isDocumentCollectionsActive;
44
48
  // get current selected team
45
49
  let teamSwitcherTeam = null;
46
50
  if (Array.isArray(personalTeams) && personalTeams.length > 0) {
@@ -106,7 +110,8 @@ function AdvantageSideNav(props) {
106
110
  category: "Sidenav",
107
111
  destinationPath: redirectLink,
108
112
  });
109
- window.open(redirectLink, "_self", "noopener,noreferrer");
113
+ // window.open(redirectLink, "_self", "noopener,noreferrer");
114
+ navigateInternal(redirectLink);
110
115
  };
111
116
  const handleCreateJoinClick = () => {
112
117
  triggerEvent &&
@@ -136,8 +141,26 @@ function AdvantageSideNav(props) {
136
141
  }
137
142
  setActiveMenu(false);
138
143
  };
139
- const chatSideNavLink = (React.createElement(SideNavLink, { "data-testid": "sidenav-chat-link", className: !enableChatButton ? `${prefix}--bmrg-advantage-sidenav__inactive-link` : "", isActive: windowLocation.href.includes(`${baseEnvUrl}/chat`), disabled: Boolean(!enableChatButton), renderIcon: ChatBot, href: enableChatButton && chatLink, onClick: enableChatButton ? handleChatClick : (e) => e.preventDefault() }, "Chat"));
144
+ const chatSideNavLink = (React.createElement(SideNavLink, { "data-testid": "sidenav-chat-link", className: !enableChatButton ? `${prefix}--bmrg-advantage-sidenav__inactive-link` : "", isActive: isChatActive, disabled: Boolean(!enableChatButton), renderIcon: ChatBot, href: enableChatButton && chatLink, onClick: enableChatButton ? handleChatClick : (e) => e.preventDefault() }, "Chat"));
140
145
  const showSecondDivider = showChatButton || toolsLink || agentAssistantStudioLink || agentAssistantLibraryLink || documentCollectionsLink;
146
+ const navigateInternal = (url) => {
147
+ console.log("url", url);
148
+ const target = new URL(url, window.location.origin);
149
+ console.log("target", target.origin);
150
+ console.log("window.location.origin", window.location.origin);
151
+ if (target.origin === window.location.origin) {
152
+ console.log("target.pathname", target.pathname);
153
+ const pathname = target.pathname.startsWith("/ica")
154
+ ? target.pathname.slice(4) // removes "/ica"
155
+ : target.pathname;
156
+ console.log("pathname", pathname);
157
+ history.push(pathname + target.search + target.hash);
158
+ }
159
+ else {
160
+ console.log("direct url navgation", url);
161
+ window.location.href = url;
162
+ }
163
+ };
141
164
  return (React.createElement(SideNav, { "aria-label": "sidenav-container", className: cx(`${prefix}--bmrg-advantage-sidenav-container`, className, {
142
165
  "--closed": !isMenuOpen,
143
166
  }), "data-testid": "sidenav-container", isRail: true, expanded: isMenuOpen, onMouseEnter: () => setActiveMenu(true), onMouseLeave: () => {
@@ -178,7 +201,7 @@ function AdvantageSideNav(props) {
178
201
  } }, joinButtontitle)) : null,
179
202
  React.createElement(SideNavDivider, null),
180
203
  showChatButton &&
181
- (showChatTooltip ? (React.createElement(TooltipHover, { className: `${prefix}--bmrg-side-nav__tooltip`, isActive: windowLocation.href.includes(`${baseEnvUrl}/chat`), content: tooltipMessage, direction: "right" },
204
+ (showChatTooltip ? (React.createElement(TooltipHover, { className: `${prefix}--bmrg-side-nav__tooltip`, isActive: isChatActive, content: tooltipMessage, direction: "right" },
182
205
  React.createElement("span", null, chatSideNavLink))) : (chatSideNavLink)),
183
206
  toolsLink ? (React.createElement(SideNavLink, { "data-testid": "sidenav-tools-link", renderIcon: Api, href: toolsLink, onClick: (e) => {
184
207
  handleToolsClick();
@@ -195,15 +218,21 @@ function AdvantageSideNav(props) {
195
218
  agentAssistantLibraryLink ? (React.createElement(SideNavLink, { "data-testid": "sidenav-agent-assistant-library-link", renderIcon: Folders,
196
219
  //href={agentAssistantLibraryLink}
197
220
  className: `${prefix}--bmrg-advantage-sidenav__inactive-link` , disabled: Boolean(!AssistantStudioLink) }, "Agent & Assistant Library")) : null,
198
- documentCollectionsLink ? (React.createElement(SideNavLink, { "data-testid": "sidenav-document-collections-link", renderIcon: DocumentMultiple_02, href: documentCollectionsLink, onClick: (e) => {
221
+ documentCollectionsLink ? (React.createElement(SideNavLink, { "data-testid": "sidenav-document-collections-link", isActive: isDocumentCollectionsActive, renderIcon: DocumentMultiple_02, href: documentCollectionsLink, onClick: (e) => {
199
222
  handleDocumentCollectionsClick();
200
223
  } }, "Document Collections")) : null,
201
224
  showSecondDivider ? React.createElement(SideNavDivider, null) : null,
202
- catalogNavlink ? (React.createElement(SideNavLink, { "data-testid": "sidenav-catalog-link", isActive: windowLocation.href.includes(`${baseEnvUrl}/catalog`), href: catalogNavlink, renderIcon: Catalog }, "Catalog")) : null,
225
+ catalogNavlink ? (React.createElement(SideNavLink, { "data-testid": "sidenav-catalog-link", isActive: windowLocation.href.includes(`${baseEnvUrl}/catalog`), renderIcon: Catalog, onClick: (e) => {
226
+ e.preventDefault();
227
+ navigateInternal(catalogNavlink);
228
+ } }, "Catalog")) : null,
203
229
  settingsLink ? (React.createElement(SideNavLink, { "data-testid": "sidenav-settings-link", renderIcon: Settings,
204
230
  // href={settingsLink}
205
231
  className: `${prefix}--bmrg-advantage-sidenav__inactive-link` , disabled: Boolean(!AssistantStudioLink) }, "Settings")) : null,
206
- adminNavlink ? (React.createElement(SideNavLink, { "data-testid": "sidenav-admin-link", href: adminNavlink, renderIcon: LicenseThirdParty }, "Admin")) : null),
232
+ adminNavlink ? (React.createElement(SideNavLink, { "data-testid": "sidenav-admin-link", renderIcon: LicenseThirdParty, onClick: (e) => {
233
+ e.preventDefault();
234
+ navigateInternal(adminNavlink);
235
+ } }, "Admin")) : null),
207
236
  children ? (React.createElement(React.Fragment, null,
208
237
  React.createElement(SideNavDivider, null),
209
238
  children)) : null)));
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.21-beta.44",
4
+ "version": "4.6.21-beta.46",
5
5
  "author": {
6
6
  "name": "Tim Bula",
7
7
  "email": "timrbula@gmail.com"