@boomerang-io/carbon-addons-boomerang-react 4.6.21-beta.9 → 4.6.22-beta.1
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.
- package/dist/cjs/components/AdvantageSideNav/AdvantageSideNav.js +31 -47
- package/dist/cjs/components/Creatable/Creatable.js +32 -3
- package/dist/cjs/components/DataDrivenInput/DataDrivenInput.js +11 -2
- package/dist/cjs/components/DynamicFormik/DynamicFormik.js +11 -1
- package/dist/cjs/components/Header/Header.js +3 -2
- package/dist/cjs/components/Header/HeaderTeamSwitcher.js +109 -81
- package/dist/cjs/components/ProfileSettings/ProfileSettings.js +22 -4
- package/dist/cjs/components/UIShell/UIShell.js +13 -5
- package/dist/cjs/constants/DataDrivenInputTypes.js +4 -0
- package/dist/cjs/constants/TeamTypes.js +15 -0
- package/dist/esm/components/AdvantageSideNav/AdvantageSideNav.js +31 -47
- package/dist/esm/components/Creatable/Creatable.js +34 -5
- package/dist/esm/components/DataDrivenInput/DataDrivenInput.js +11 -2
- package/dist/esm/components/DynamicFormik/DynamicFormik.js +11 -1
- package/dist/esm/components/Header/Header.js +3 -2
- package/dist/esm/components/Header/HeaderTeamSwitcher.js +109 -81
- package/dist/esm/components/ProfileSettings/ProfileSettings.js +22 -4
- package/dist/esm/components/UIShell/UIShell.js +14 -6
- package/dist/esm/constants/DataDrivenInputTypes.js +4 -0
- package/dist/esm/constants/TeamTypes.js +13 -0
- package/dist/types/index.d.ts +7 -2
- package/package.json +7 -3
- package/scss/components/Creatable/_creatable.scss +31 -1
- package/scss/components/ProfileSettings/_profileSettings.scss +1 -1
|
@@ -4,6 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
4
4
|
|
|
5
5
|
var React = require('react');
|
|
6
6
|
var cx = require('classnames');
|
|
7
|
+
require('history');
|
|
7
8
|
var react = require('@carbon/react');
|
|
8
9
|
var TooltipHover = require('../TooltipHover/TooltipHover.js');
|
|
9
10
|
var icons = require('@carbon/react/icons');
|
|
@@ -33,7 +34,7 @@ const SideNavUrlKeys = {
|
|
|
33
34
|
Admin: "admin",
|
|
34
35
|
};
|
|
35
36
|
function AdvantageSideNav(props) {
|
|
36
|
-
const { app, appLink, agenticAppsPath = "", agentStudioPath = "", regionalTeam, enableChatButton = true, showChatButton = true, showSelectTeamPurpose = false, defaultAssistantLink, joinCreateTrigger, isLoading, isOpen, teams = [], triggerEvent, accounts = [], baseEnvUrl, className, navLinks, personalTeams = [], user, showChatTooltip, templateMeteringEvent, tooltipMessage, isLaunchpad = false, sideNavUrls, history, children, personalTeamEnabled, ...rest } = props;
|
|
37
|
+
const { app, appLink, agenticAppsPath = "", agentStudioPath = "", regionalTeam, enableChatButton = true, showChatButton = true, showSelectTeamPurpose = false, defaultAssistantLink, joinCreateTrigger, isLoading, isOpen, teams = [], triggerEvent, accounts = [], baseEnvUrl, className, navLinks, personalTeams = [], user, showChatTooltip, templateMeteringEvent, tooltipMessage, isLaunchpad = false, isbetaLaunchpad = false, sideNavUrls, history, children, personalTeamEnabled, ...rest } = props;
|
|
37
38
|
const [activeMenu, setActiveMenu] = React__default.default.useState(false);
|
|
38
39
|
const isMenuOpen = isOpen || activeMenu;
|
|
39
40
|
const windowLocation = window.location;
|
|
@@ -49,6 +50,11 @@ function AdvantageSideNav(props) {
|
|
|
49
50
|
const catalogNavlink = sideNavUrls?.find((sideNavUrl) => sideNavUrl.key === SideNavUrlKeys.Catalog)?.url;
|
|
50
51
|
const settingsLink = sideNavUrls?.find((sideNavUrl) => sideNavUrl.key === SideNavUrlKeys.Settings)?.url;
|
|
51
52
|
const adminNavlink = sideNavUrls?.find((sideNavUrl) => sideNavUrl.key === SideNavUrlKeys.Admin)?.url;
|
|
53
|
+
const AssistantStudioLink = false;
|
|
54
|
+
const currentUrl = new URL(window.location.href);
|
|
55
|
+
const workspace = currentUrl.searchParams.get("workspace");
|
|
56
|
+
const isDocumentCollectionsActive = currentUrl.pathname.includes("/chat") && workspace === "knowledge";
|
|
57
|
+
const isChatActive = currentUrl.pathname.includes("/chat") && !isDocumentCollectionsActive;
|
|
52
58
|
// get current selected team
|
|
53
59
|
let teamSwitcherTeam = null;
|
|
54
60
|
if (Array.isArray(personalTeams) && personalTeams.length > 0) {
|
|
@@ -96,30 +102,6 @@ function AdvantageSideNav(props) {
|
|
|
96
102
|
destinationPath: toolsLink,
|
|
97
103
|
});
|
|
98
104
|
};
|
|
99
|
-
const handleAgentAssistantStudioClick = () => {
|
|
100
|
-
triggerEvent &&
|
|
101
|
-
triggerEvent({
|
|
102
|
-
action: "Clicked on SideNav Agent & Assistant Studio link",
|
|
103
|
-
category: "Sidenav",
|
|
104
|
-
destinationPath: agentAssistantStudioLink,
|
|
105
|
-
});
|
|
106
|
-
};
|
|
107
|
-
const handleAgentAssistantLibraryClick = () => {
|
|
108
|
-
triggerEvent &&
|
|
109
|
-
triggerEvent({
|
|
110
|
-
action: "Clicked on SideNav Agent & Assistant Library link",
|
|
111
|
-
category: "Sidenav",
|
|
112
|
-
destinationPath: agentAssistantLibraryLink,
|
|
113
|
-
});
|
|
114
|
-
};
|
|
115
|
-
const handleDocumentCollectionsClick = () => {
|
|
116
|
-
triggerEvent &&
|
|
117
|
-
triggerEvent({
|
|
118
|
-
action: "Clicked on SideNav Document Collections link",
|
|
119
|
-
category: "Sidenav",
|
|
120
|
-
destinationPath: documentCollectionsLink,
|
|
121
|
-
});
|
|
122
|
-
};
|
|
123
105
|
const handleSettingsClick = () => {
|
|
124
106
|
triggerEvent &&
|
|
125
107
|
triggerEvent({
|
|
@@ -168,7 +150,7 @@ function AdvantageSideNav(props) {
|
|
|
168
150
|
}
|
|
169
151
|
setActiveMenu(false);
|
|
170
152
|
};
|
|
171
|
-
const chatSideNavLink = (React__default.default.createElement(react.SideNavLink, { "data-testid": "sidenav-chat-link", className: !enableChatButton ? `${settings.prefix}--bmrg-advantage-sidenav__inactive-link` : "", 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"));
|
|
172
154
|
const showSecondDivider = showChatButton || toolsLink || agentAssistantStudioLink || agentAssistantLibraryLink || documentCollectionsLink;
|
|
173
155
|
return (React__default.default.createElement(react.SideNav, { "aria-label": "sidenav-container", className: cx__default.default(`${settings.prefix}--bmrg-advantage-sidenav-container`, className, {
|
|
174
156
|
"--closed": !isMenuOpen,
|
|
@@ -181,6 +163,11 @@ function AdvantageSideNav(props) {
|
|
|
181
163
|
handleLaunchpadLink(e);
|
|
182
164
|
history.push("/");
|
|
183
165
|
}
|
|
166
|
+
if (isbetaLaunchpad) {
|
|
167
|
+
console.log("beta launchpad home link clicked");
|
|
168
|
+
handleLaunchpadLink(e);
|
|
169
|
+
history.push("/launchpad");
|
|
170
|
+
}
|
|
184
171
|
handleHomeClick();
|
|
185
172
|
} }, "Home")) : null,
|
|
186
173
|
teamSwitcherTeam ? (React__default.default.createElement(react.SideNavLink, { title: teamSwitcherTeam.isAccount ? "Account Page" : "Team Page", name: teamSwitcherTeam.name, "data-testid": "sidenav-team-link", id: teamSwitcherTeam.id, isActive: windowLocation.href.includes(`/launchpad/teams/${teamSwitcherTeam.id}`), className: `${settings.prefix}--bmrg-advantage-sidenav-team`, renderIcon: icons.UserMultiple, href: `${baseEnvUrl}/${app}/teams/${teamSwitcherTeam.id}`, onClick: (e) => {
|
|
@@ -205,7 +192,7 @@ function AdvantageSideNav(props) {
|
|
|
205
192
|
} }, joinButtontitle)) : null,
|
|
206
193
|
React__default.default.createElement(react.SideNavDivider, null),
|
|
207
194
|
showChatButton &&
|
|
208
|
-
(showChatTooltip ? (React__default.default.createElement(TooltipHover.default, { className: `${settings.prefix}--bmrg-side-nav__tooltip`, content: tooltipMessage, direction: "right" },
|
|
195
|
+
(showChatTooltip ? (React__default.default.createElement(TooltipHover.default, { className: `${settings.prefix}--bmrg-side-nav__tooltip`, isActive: isChatActive, content: tooltipMessage, direction: "right" },
|
|
209
196
|
React__default.default.createElement("span", null, chatSideNavLink))) : (chatSideNavLink)),
|
|
210
197
|
toolsLink ? (React__default.default.createElement(react.SideNavLink, { "data-testid": "sidenav-tools-link", renderIcon: icons.Api, href: toolsLink, onClick: (e) => {
|
|
211
198
|
handleToolsClick();
|
|
@@ -213,27 +200,24 @@ function AdvantageSideNav(props) {
|
|
|
213
200
|
React__default.default.createElement("div", { className: `${settings.prefix}--bmrg-advantage-sidenav-item-tag` },
|
|
214
201
|
"Tools",
|
|
215
202
|
React__default.default.createElement(react.Tag, { size: "sm", title: "BETA", type: "high-contrast" }, "BETA")))) : null,
|
|
216
|
-
agentAssistantStudioLink ? (React__default.default.createElement(react.SideNavLink, { "data-testid": "sidenav-agent-assistant-studio-link",
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
}
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
}
|
|
227
|
-
|
|
228
|
-
handleDocumentCollectionsClick();
|
|
229
|
-
} }, "Document Collections")) : null,
|
|
203
|
+
agentAssistantStudioLink ? (React__default.default.createElement(react.SideNavLink, { "data-testid": "sidenav-agent-assistant-studio-link",
|
|
204
|
+
// isActive={
|
|
205
|
+
// (agentStudioPath && windowLocation.href.includes(`/launchpad${agentStudioPath}`)) ||
|
|
206
|
+
// (agenticAppsPath && windowLocation.href.includes(`/launchpad${agenticAppsPath}`))
|
|
207
|
+
// }
|
|
208
|
+
className: `${settings.prefix}--bmrg-advantage-sidenav__inactive-link` , disabled: Boolean(!AssistantStudioLink), renderIcon: icons.IntentRequestCreate }, "Agent & Assistant Studio")) : null,
|
|
209
|
+
agentAssistantLibraryLink ? (React__default.default.createElement(react.SideNavLink, { "data-testid": "sidenav-agent-assistant-library-link", renderIcon: icons.Folders,
|
|
210
|
+
//href={agentAssistantLibraryLink}
|
|
211
|
+
className: `${settings.prefix}--bmrg-advantage-sidenav__inactive-link` , disabled: Boolean(!AssistantStudioLink) }, "Agent & Assistant Library")) : null,
|
|
212
|
+
documentCollectionsLink ? (React__default.default.createElement(react.SideNavLink, { "data-testid": "sidenav-document-collections-link",
|
|
213
|
+
//isActive={isDocumentCollectionsActive}
|
|
214
|
+
renderIcon: icons.DocumentMultiple_02, className: `${settings.prefix}--bmrg-advantage-sidenav__inactive-link` , disabled: Boolean(!AssistantStudioLink) }, "Document Collections")) : null,
|
|
230
215
|
showSecondDivider ? React__default.default.createElement(react.SideNavDivider, null) : null,
|
|
231
|
-
catalogNavlink ? (React__default.default.createElement(react.SideNavLink, { "data-testid": "sidenav-catalog-link", isActive:
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
settingsLink ? (React__default.default.createElement(react.SideNavLink, { "data-testid": "sidenav-settings-link", renderIcon: icons.Settings, href: settingsLink, onClick: (e) => {
|
|
216
|
+
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,
|
|
217
|
+
settingsLink ? (React__default.default.createElement(react.SideNavLink, { "data-testid": "sidenav-settings-link", renderIcon: icons.Settings, href: settingsLink,
|
|
218
|
+
//className={!AssistantStudioLink ? `${prefix}--bmrg-advantage-sidenav__inactive-link` : ""}
|
|
219
|
+
//disabled={Boolean(!AssistantStudioLink)}
|
|
220
|
+
onClick: (e) => {
|
|
237
221
|
handleSettingsClick();
|
|
238
222
|
} }, "Settings")) : null,
|
|
239
223
|
adminNavlink ? (React__default.default.createElement(react.SideNavLink, { "data-testid": "sidenav-admin-link", href: adminNavlink, renderIcon: icons.LicenseThirdParty }, "Admin")) : null),
|
|
@@ -5,6 +5,9 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
5
5
|
var React = require('react');
|
|
6
6
|
var react = require('@carbon/react');
|
|
7
7
|
var icons = require('@carbon/react/icons');
|
|
8
|
+
var core = require('@dnd-kit/core');
|
|
9
|
+
var sortable = require('@dnd-kit/sortable');
|
|
10
|
+
var utilities = require('@dnd-kit/utilities');
|
|
8
11
|
var cx = require('classnames');
|
|
9
12
|
var TooltipHover = require('../TooltipHover/TooltipHover.js');
|
|
10
13
|
var accessibility = require('../../tools/accessibility.js');
|
|
@@ -20,7 +23,7 @@ IBM Confidential
|
|
|
20
23
|
694970X, 69497O0
|
|
21
24
|
© Copyright IBM Corp. 2022, 2024
|
|
22
25
|
*/
|
|
23
|
-
function CreatableComponent({ buttonClassName = `${settings.prefix}--bmrg-creatable__button`, buttonContent = "Add", buttonProps, createKeyValuePair = false, disabled, id, initialValues: externalInitialValues, invalid, invalidText, helperText, key, keyHelperText, keyLabel, keyLabelText, keyPlaceholder, label, labelText = "", max, nonDeletable = false, onKeyBlur, onValueBlur, onInputBlur, onChange, placeholder, tagProps, tagType = "teal", textInputProps, tooltipClassName = `${settings.prefix}--bmrg-creatable__tooltip`, tooltipContent, tooltipProps = { direction: "top" }, type = "text", valueHelperText, valueLabel, valueLabelText, valuePlaceholder, value: externalValues, values, trimInput = false, removeOnlyFirst = false, }) {
|
|
26
|
+
function CreatableComponent({ buttonClassName = `${settings.prefix}--bmrg-creatable__button`, buttonContent = "Add", buttonProps, createKeyValuePair = false, disabled, id, initialValues: externalInitialValues, invalid, invalidText, helperText, key, keyHelperText, keyLabel, keyLabelText, keyPlaceholder, label, labelText = "", max, nonDeletable = false, onKeyBlur, onValueBlur, onInputBlur, onChange, placeholder, reorderable, tagProps, tagType = "teal", textInputProps, tooltipClassName = `${settings.prefix}--bmrg-creatable__tooltip`, tooltipContent, tooltipProps = { direction: "top" }, type = "text", valueHelperText, valueLabel, valueLabelText, valuePlaceholder, value: externalValues, values, trimInput = false, removeOnlyFirst = false, }) {
|
|
24
27
|
const [keyValue, setKeyValue] = React.useState("");
|
|
25
28
|
const [value, setValue] = React.useState("");
|
|
26
29
|
const [input, setInput] = React.useState("");
|
|
@@ -128,6 +131,21 @@ function CreatableComponent({ buttonClassName = `${settings.prefix}--bmrg-creata
|
|
|
128
131
|
if (onChange)
|
|
129
132
|
onChange(items);
|
|
130
133
|
};
|
|
134
|
+
const sensors = core.useSensors(core.useSensor(core.PointerSensor, {
|
|
135
|
+
activationConstraint: { distance: 5 },
|
|
136
|
+
}));
|
|
137
|
+
function handleDragEnd(event) {
|
|
138
|
+
const { active, over } = event;
|
|
139
|
+
if (over && active.id !== over.id) {
|
|
140
|
+
const oldIndex = tagItems.indexOf(active.id);
|
|
141
|
+
const newIndex = tagItems.indexOf(over.id);
|
|
142
|
+
const reorderedItems = sortable.arrayMove(tagItems, oldIndex, newIndex);
|
|
143
|
+
setCreatedItems(reorderedItems);
|
|
144
|
+
if (onChange) {
|
|
145
|
+
onChange(reorderedItems);
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
}
|
|
131
149
|
return (React__default.default.createElement("div", { key: key, className: `${settings.prefix}--bmrg-creatable` },
|
|
132
150
|
React__default.default.createElement("div", { className: `${settings.prefix}--bmrg-creatable__input` },
|
|
133
151
|
createKeyValuePair ? (React__default.default.createElement("div", { className: `${settings.prefix}--bmrg-creatable__key-value-inputs` },
|
|
@@ -149,9 +167,20 @@ function CreatableComponent({ buttonClassName = `${settings.prefix}--bmrg-creata
|
|
|
149
167
|
React__default.default.createElement(TooltipHover.default, { ...tooltipProps, tooltipText: tooltipContent },
|
|
150
168
|
React__default.default.createElement(icons.Information, { size: 16, fill: "currentColor" }))))), onBlur: onInputBlur, onChange: onInputChange, placeholder: placeholder, ref: inputRef, type: type, value: input, ...textInputProps })),
|
|
151
169
|
React__default.default.createElement(react.Button, { className: createButtonClassName, disabled: isAddButtonDisabled, onClick: addValue, iconDescription: "Add", renderIcon: icons.Add, size: "md", type: "button", ...buttonProps }, buttonContent)),
|
|
152
|
-
|
|
170
|
+
reorderable ? (React__default.default.createElement(core.DndContext, { sensors: disabled ? [] : sensors, collisionDetection: core.closestCenter, onDragEnd: handleDragEnd },
|
|
171
|
+
React__default.default.createElement(sortable.SortableContext, { items: tagsToShow, strategy: sortable.verticalListSortingStrategy },
|
|
172
|
+
React__default.default.createElement("div", { className: `${settings.prefix}--bmrg-creatable__tags--reorderable` }, tagsToShow.map((item, index) => (React__default.default.createElement(ReorderableTag, { key: `${item}-${index}`, disabled: disabled, initialTagItems: initialTagItems, item: item, nonDeletable: nonDeletable, removeValue: removeValue, tagProps: tagProps, tagType: tagType }))))))) : (React__default.default.createElement("div", { className: `${settings.prefix}--bmrg-creatable__tags` }, tagsToShow.map((item, index) => (React__default.default.createElement(react.Tag, { key: `${item}-${index}`, disabled: disabled, type: tagType, onClick: nonDeletable && initialTagItems.includes(item) ? undefined : () => removeValue(item), onKeyDown: nonDeletable && initialTagItems.includes(item)
|
|
153
173
|
? undefined
|
|
154
|
-
: (e) => accessibility.isAccessibleKeyDownEvent(e) && removeValue(item), filter: !nonDeletable || (nonDeletable && !initialTagItems.includes(item)), ...tagProps }, item))))));
|
|
174
|
+
: (e) => accessibility.isAccessibleKeyDownEvent(e) && removeValue(item), filter: !nonDeletable || (nonDeletable && !initialTagItems.includes(item)), ...tagProps }, item)))))));
|
|
175
|
+
}
|
|
176
|
+
function ReorderableTag({ disabled, initialTagItems, item, nonDeletable, removeValue, tagProps, tagType, }) {
|
|
177
|
+
const { attributes, listeners, setNodeRef, transform, transition } = sortable.useSortable({ id: item });
|
|
178
|
+
const style = {
|
|
179
|
+
transform: utilities.CSS.Transform.toString(transform),
|
|
180
|
+
transition,
|
|
181
|
+
};
|
|
182
|
+
return (React__default.default.createElement("div", { ref: setNodeRef, ...attributes, ...(!disabled ? listeners : {}), style: style },
|
|
183
|
+
React__default.default.createElement(react.DismissibleTag, { disabled: disabled, type: tagType, onClose: nonDeletable && initialTagItems.includes(item) ? undefined : () => removeValue(item), renderIcon: icons.Draggable, title: "", text: item, ...tagProps })));
|
|
155
184
|
}
|
|
156
185
|
|
|
157
186
|
exports.default = CreatableComponent;
|
|
@@ -117,9 +117,18 @@ function DataDrivenInput(props) {
|
|
|
117
117
|
Component = Creatable$1;
|
|
118
118
|
componentProps = {
|
|
119
119
|
...allInputProps,
|
|
120
|
-
createKeyValuePair: type === DataDrivenInputTypes.CREATABLE_TYPES.CREATABLE_PAIR ||
|
|
120
|
+
createKeyValuePair: type === DataDrivenInputTypes.CREATABLE_TYPES.CREATABLE_PAIR ||
|
|
121
|
+
type === DataDrivenInputTypes.CREATABLE_TYPES.CREATABLE_PAIR_NON_DELETABLE ||
|
|
122
|
+
type === DataDrivenInputTypes.CREATABLE_TYPES.CREATABLE_PAIR_REORDERABLE ||
|
|
123
|
+
type === DataDrivenInputTypes.CREATABLE_TYPES.CREATABLE_PAIR_REORDERABLE_NON_DELETABLE,
|
|
121
124
|
nonDeletable: type === DataDrivenInputTypes.CREATABLE_TYPES.CREATABLE_SINGLE_NON_DELETABLE ||
|
|
122
|
-
type === DataDrivenInputTypes.CREATABLE_TYPES.
|
|
125
|
+
type === DataDrivenInputTypes.CREATABLE_TYPES.CREATABLE_SINGLE_REORDERABLE_NON_DELETABLE ||
|
|
126
|
+
type === DataDrivenInputTypes.CREATABLE_TYPES.CREATABLE_PAIR_NON_DELETABLE ||
|
|
127
|
+
type === DataDrivenInputTypes.CREATABLE_TYPES.CREATABLE_PAIR_REORDERABLE_NON_DELETABLE,
|
|
128
|
+
reorderable: type === DataDrivenInputTypes.CREATABLE_TYPES.CREATABLE_SINGLE_REORDERABLE ||
|
|
129
|
+
type === DataDrivenInputTypes.CREATABLE_TYPES.CREATABLE_SINGLE_REORDERABLE_NON_DELETABLE ||
|
|
130
|
+
type === DataDrivenInputTypes.CREATABLE_TYPES.CREATABLE_PAIR_REORDERABLE ||
|
|
131
|
+
type === DataDrivenInputTypes.CREATABLE_TYPES.CREATABLE_PAIR_REORDERABLE_NON_DELETABLE,
|
|
123
132
|
invalid: invalidInput,
|
|
124
133
|
invalidText: invalidTextMessage,
|
|
125
134
|
placeholder,
|
|
@@ -134,7 +134,13 @@ async function handleGoverningSelectChange({ formikProps, input, inputs, isInput
|
|
|
134
134
|
/** Erase value of governed inputs */
|
|
135
135
|
if (inputsGovernedByCurrentOne.length) {
|
|
136
136
|
await inputsGovernedByCurrentOne.forEach(async (input) => {
|
|
137
|
-
await handleGoverningSelectChange({
|
|
137
|
+
await handleGoverningSelectChange({
|
|
138
|
+
formikProps,
|
|
139
|
+
input,
|
|
140
|
+
inputs,
|
|
141
|
+
isInputBeingChanged: false,
|
|
142
|
+
selectedItem: null,
|
|
143
|
+
});
|
|
138
144
|
});
|
|
139
145
|
}
|
|
140
146
|
// only the top governing select should display warnings if changed and reset touched status for governed ones
|
|
@@ -226,8 +232,12 @@ function generateYupAst({ inputs, allowCustomPropertySyntax, customPropertySynta
|
|
|
226
232
|
if (inputType === DataDrivenInputTypes.MULTI_SELECT_TYPES.MULTI_SELECT ||
|
|
227
233
|
inputType === DataDrivenInputTypes.CREATABLE_TYPES.CREATABLE_SINGLE ||
|
|
228
234
|
inputType === DataDrivenInputTypes.CREATABLE_TYPES.CREATABLE_SINGLE_NON_DELETABLE ||
|
|
235
|
+
inputType === DataDrivenInputTypes.CREATABLE_TYPES.CREATABLE_SINGLE_REORDERABLE ||
|
|
236
|
+
inputType === DataDrivenInputTypes.CREATABLE_TYPES.CREATABLE_SINGLE_REORDERABLE_NON_DELETABLE ||
|
|
229
237
|
inputType === DataDrivenInputTypes.CREATABLE_TYPES.CREATABLE_PAIR ||
|
|
230
238
|
inputType === DataDrivenInputTypes.CREATABLE_TYPES.CREATABLE_PAIR_NON_DELETABLE ||
|
|
239
|
+
inputType === DataDrivenInputTypes.CREATABLE_TYPES.CREATABLE_PAIR_REORDERABLE ||
|
|
240
|
+
inputType === DataDrivenInputTypes.CREATABLE_TYPES.CREATABLE_PAIR_REORDERABLE_NON_DELETABLE ||
|
|
231
241
|
inputType === DataDrivenInputTypes.CHECKBOX_TYPES.CHECKBOX) {
|
|
232
242
|
if (useCSVforArrays) {
|
|
233
243
|
yupValidationArray.push(["yup.string"]);
|
|
@@ -62,7 +62,7 @@ const MenuAriaLabelRecord = {
|
|
|
62
62
|
const headerButtonClassNames = "cds--btn--icon-only cds--header__action cds--btn cds--btn--primary cds--btn--icon-only cds--btn cds--btn--primary";
|
|
63
63
|
const instanceCheckMarkContainerClass = "instance-checkmark-style-container";
|
|
64
64
|
function Header(props) {
|
|
65
|
-
const { analyticsHelpers, productName, baseEnvUrl, baseServicesUrl, carbonTheme = "g10", className, createJoinTeamTrigger, history, isLaunchpad = false, isLoadingTeamSwitcher, isSuccessTeamSwitcher, setIsSuccessTeamSwitcher, navLinks, platform, prefixName = "", refetchUser, refetchNavigation, rightPanel, skipToContentProps, templateMeteringEvent, trackEvent, triggerEvent, user, userTeams, userTeamsAssets, } = props;
|
|
65
|
+
const { analyticsHelpers, productName, baseEnvUrl, baseServicesUrl, carbonTheme = "g10", className, createJoinTeamTrigger, enableTeamSwitcher = true, history, isLaunchpad = false, isLoadingTeamSwitcher, isSuccessTeamSwitcher, setIsSuccessTeamSwitcher, navLinks, platform, prefixName = "", refetchUser, refetchNavigation, rightPanel, skipToContentProps, templateMeteringEvent, trackEvent, triggerEvent, user, userTeams, userTeamsAssets, } = props;
|
|
66
66
|
const hasUserTeams = Boolean(userTeams);
|
|
67
67
|
const userTeamsUrl = servicesConfig.serviceUrl.getUserTeamsServices({ baseServicesUrl });
|
|
68
68
|
const teamsQuery = reactQuery.useQuery({
|
|
@@ -70,6 +70,7 @@ function Header(props) {
|
|
|
70
70
|
queryFn: servicesConfig.resolver.query(userTeamsUrl, null),
|
|
71
71
|
enabled: !hasUserTeams && Boolean(baseServicesUrl),
|
|
72
72
|
});
|
|
73
|
+
const showTeamSwitcher = enableTeamSwitcher && Boolean(user);
|
|
73
74
|
return (React__default.default.createElement(React__default.default.Fragment, null,
|
|
74
75
|
React__default.default.createElement(react.Theme, { theme: carbonTheme },
|
|
75
76
|
React__default.default.createElement(react.Header, { "aria-label": "App navigation header", className: className },
|
|
@@ -80,7 +81,7 @@ function Header(props) {
|
|
|
80
81
|
? 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)))
|
|
81
82
|
: null),
|
|
82
83
|
React__default.default.createElement(react.HeaderGlobalBar, null,
|
|
83
|
-
React__default.default.createElement(HeaderTeamSwitcher.default, { analyticsHelpers: analyticsHelpers, baseServicesUrl: baseServicesUrl, createJoinTeamTrigger: createJoinTeamTrigger, history: history, isLaunchpad: isLaunchpad, isLoadingTeamSwitcher: isLoadingTeamSwitcher, isSuccessTeamSwitcher: isSuccessTeamSwitcher, setIsSuccessTeamSwitcher: setIsSuccessTeamSwitcher, menuAriaLabelRecord: MenuAriaLabelRecord.TeamSwitcher, menuButtonId: MenuButtonId.TeamSwitcher, menuListId: MenuListId.TeamSwitcher, navigationPlatform: platform, refetchUser: refetchUser, refetchNavigation: refetchNavigation, teamsQuery: teamsQuery, trackEvent: trackEvent, user: user, userTeams: userTeams }),
|
|
84
|
+
showTeamSwitcher ? (React__default.default.createElement(HeaderTeamSwitcher.default, { analyticsHelpers: analyticsHelpers, baseServicesUrl: baseServicesUrl, createJoinTeamTrigger: createJoinTeamTrigger, history: history, isLaunchpad: isLaunchpad, isLoadingTeamSwitcher: isLoadingTeamSwitcher, isSuccessTeamSwitcher: isSuccessTeamSwitcher, setIsSuccessTeamSwitcher: setIsSuccessTeamSwitcher, menuAriaLabelRecord: MenuAriaLabelRecord.TeamSwitcher, menuButtonId: MenuButtonId.TeamSwitcher, menuListId: MenuListId.TeamSwitcher, navigationPlatform: platform, refetchUser: refetchUser, refetchNavigation: refetchNavigation, teamsQuery: teamsQuery, trackEvent: trackEvent, user: user, userTeams: userTeams })) : null,
|
|
84
85
|
props?.instanceSwitcherEnabled && (React__default.default.createElement(InstanceSwitcherMenu, { enabled: Boolean(props.instanceSwitcherEnabled), menuItems: platform?.instances })),
|
|
85
86
|
React__default.default.createElement(RequestsMenu, { baseEnvUrl: baseEnvUrl, enabled: Boolean(props.requestSummary), summary: props.requestSummary }),
|
|
86
87
|
React__default.default.createElement(NotificationsMenu, { baseEnvUrl: baseEnvUrl, baseServicesUrl: baseServicesUrl, enabled: Boolean(props.enableNotifications), countEnabled: Boolean(props.enableNotificationsCount) }),
|
|
@@ -11,6 +11,7 @@ var HeaderMenu = require('./HeaderMenu.js');
|
|
|
11
11
|
var servicesConfig = require('../../config/servicesConfig.js');
|
|
12
12
|
var settings = require('../../internal/settings.js');
|
|
13
13
|
var UserType = require('../../constants/UserType.js');
|
|
14
|
+
var TeamTypes = require('../../constants/TeamTypes.js');
|
|
14
15
|
|
|
15
16
|
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
16
17
|
|
|
@@ -52,6 +53,7 @@ function HeaderTeamSwitcher({ analyticsHelpers, baseServicesUrl, createJoinTeamT
|
|
|
52
53
|
const showSelectTeamPurpose = navigationPlatform?.requireTeamPurpose;
|
|
53
54
|
const createTeamButtonText = showSelectTeamPurpose ? "Create Team" : "Create or Join Team";
|
|
54
55
|
const userTeamInstanceSwitcherDefault = user?.teamInstanceSwitcherDefault;
|
|
56
|
+
const hasUpdatedDefaultTeamRef = React__default.default.useRef(false);
|
|
55
57
|
const teamLink = ({ teamId }) => {
|
|
56
58
|
return `${navigationPlatform.baseEnvUrl}/launchpad/teams/${teamId}`;
|
|
57
59
|
};
|
|
@@ -90,7 +92,9 @@ function HeaderTeamSwitcher({ analyticsHelpers, baseServicesUrl, createJoinTeamT
|
|
|
90
92
|
const userHasTeams = userHasPersonalTeam || userHasAccountTeams || userHasStandardTeams;
|
|
91
93
|
const handleSelectTeam = async ({ team }) => {
|
|
92
94
|
setSelectedTeam(team);
|
|
93
|
-
if (!userTeamInstanceSwitcherDefault
|
|
95
|
+
if (!userTeamInstanceSwitcherDefault &&
|
|
96
|
+
!hasUpdatedDefaultTeamRef.current) {
|
|
97
|
+
hasUpdatedDefaultTeamRef.current = true;
|
|
94
98
|
const body = {
|
|
95
99
|
teamInstanceSwitcherDefault: team.id,
|
|
96
100
|
};
|
|
@@ -98,6 +102,9 @@ function HeaderTeamSwitcher({ analyticsHelpers, baseServicesUrl, createJoinTeamT
|
|
|
98
102
|
}
|
|
99
103
|
};
|
|
100
104
|
const handleNoTeamsToSelect = async () => {
|
|
105
|
+
if (hasUpdatedDefaultTeamRef.current)
|
|
106
|
+
return;
|
|
107
|
+
hasUpdatedDefaultTeamRef.current = true;
|
|
101
108
|
const body = {
|
|
102
109
|
teamInstanceSwitcherDefault: null,
|
|
103
110
|
};
|
|
@@ -147,6 +154,9 @@ function HeaderTeamSwitcher({ analyticsHelpers, baseServicesUrl, createJoinTeamT
|
|
|
147
154
|
teamsQuery?.data?.personalTeam?.length === 0))) {
|
|
148
155
|
handleNoTeamsToSelect();
|
|
149
156
|
}
|
|
157
|
+
else if (userTeamInstanceSwitcherDefault === null) {
|
|
158
|
+
setSelectedTeam(null);
|
|
159
|
+
}
|
|
150
160
|
}, [
|
|
151
161
|
baseServicesUrl,
|
|
152
162
|
hasUserTeams,
|
|
@@ -223,33 +233,58 @@ function HeaderTeamSwitcher({ analyticsHelpers, baseServicesUrl, createJoinTeamT
|
|
|
223
233
|
standardTeams = teamsQuery?.data?.standardTeams ?? [];
|
|
224
234
|
personalTeam = teamsQuery?.data?.personalTeam ?? [];
|
|
225
235
|
}
|
|
226
|
-
let
|
|
227
|
-
|
|
236
|
+
let newPersonalTeam = personalTeam.length > 0
|
|
237
|
+
? personalTeam.map((personalTeam) => ({
|
|
238
|
+
...personalTeam,
|
|
239
|
+
type: TeamTypes.TEAM_TYPES.PERSONAL,
|
|
240
|
+
nameToDisplay: personalTeam.displayName ? personalTeam.displayName : personalTeam.name,
|
|
241
|
+
}))
|
|
242
|
+
: [];
|
|
243
|
+
let newAccountTeams = [];
|
|
244
|
+
let newStandardTeams = [];
|
|
228
245
|
if (accountTeams?.length > 0) {
|
|
229
|
-
|
|
246
|
+
newAccountTeams = accountTeams.map((team) => {
|
|
230
247
|
let newProjectTeams = [];
|
|
231
248
|
if (team.projectTeams && team.projectTeams.length > 0) {
|
|
232
|
-
newProjectTeams = team.projectTeams?.map((
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
249
|
+
newProjectTeams = team.projectTeams?.map((projectTeam) => {
|
|
250
|
+
return {
|
|
251
|
+
...projectTeam,
|
|
252
|
+
nameToDisplay: projectTeam.displayName ? projectTeam.displayName : projectTeam.name,
|
|
253
|
+
};
|
|
254
|
+
});
|
|
236
255
|
}
|
|
237
256
|
return {
|
|
238
257
|
...team,
|
|
239
258
|
nameToDisplay: team.displayName ? team.displayName : team.name,
|
|
259
|
+
type: TeamTypes.TEAM_TYPES.ACCOUNT,
|
|
240
260
|
projectTeams: sortBy__default.default(newProjectTeams, ["nameToDisplay"]),
|
|
241
261
|
};
|
|
242
262
|
});
|
|
243
|
-
sortedAccountTeamsWithNamesToDisplay = sortBy__default.default(newAccountTeams, ["nameToDisplay"]);
|
|
244
263
|
}
|
|
245
264
|
if (standardTeams?.length > 0) {
|
|
246
|
-
|
|
265
|
+
newStandardTeams = standardTeams.map((team) => {
|
|
247
266
|
return {
|
|
248
267
|
...team,
|
|
268
|
+
type: TeamTypes.TEAM_TYPES.STANDARD,
|
|
249
269
|
nameToDisplay: team.displayName ? team.displayName : team.name,
|
|
250
270
|
};
|
|
251
271
|
});
|
|
252
|
-
|
|
272
|
+
}
|
|
273
|
+
let allTeams = newPersonalTeam.concat(newAccountTeams, newStandardTeams);
|
|
274
|
+
const order = { [TeamTypes.TEAM_TYPES.PERSONAL]: 1, [TeamTypes.TEAM_TYPES.ACCOUNT]: 2, [TeamTypes.TEAM_TYPES.STANDARD]: 3 };
|
|
275
|
+
allTeams = sortBy__default.default(allTeams, [(team) => order[team.type], "nameToDisplay"]);
|
|
276
|
+
if (selectedTeam) {
|
|
277
|
+
const selectedTeamIndex = allTeams.findIndex((team, index) => {
|
|
278
|
+
if (team.id === selectedTeam.id) {
|
|
279
|
+
return true;
|
|
280
|
+
}
|
|
281
|
+
else if (Array.isArray(team.projectTeams) && team.projectTeams?.length > 0) {
|
|
282
|
+
return team.projectTeams.some((projectTeam) => projectTeam.id === selectedTeam.id);
|
|
283
|
+
}
|
|
284
|
+
return false;
|
|
285
|
+
});
|
|
286
|
+
const [removedTeam] = allTeams.splice(selectedTeamIndex, 1);
|
|
287
|
+
allTeams.unshift(removedTeam);
|
|
253
288
|
}
|
|
254
289
|
let selectedTeamName = selectedTeam?.displayName
|
|
255
290
|
? selectedTeam.displayName
|
|
@@ -271,79 +306,72 @@ function HeaderTeamSwitcher({ analyticsHelpers, baseServicesUrl, createJoinTeamT
|
|
|
271
306
|
React__default.default.createElement("div", { className: headerTeamSwitcherCreateTeamButtonClassname },
|
|
272
307
|
React__default.default.createElement("span", { className: headerTeamSwitcherCreateTeamButtonTextClassname }, createTeamButtonText),
|
|
273
308
|
React__default.default.createElement(icons.AddAlt, { className: headerTeamSwitcherCreateTeamButtonIconClassname })))),
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
const teamName = team.displayName ? team.displayName : team.name;
|
|
309
|
+
allTeams.map((team) => {
|
|
310
|
+
if (Boolean(team?.id)) {
|
|
277
311
|
const isTeamSelected = team.id === selectedTeam?.id;
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
+
if (team.type === TeamTypes.TEAM_TYPES.ACCOUNT) {
|
|
313
|
+
const isSubmenuOpen = team.id === openAccountSubmenuId;
|
|
314
|
+
const projectTeams = team.projectTeams;
|
|
315
|
+
const existProjectTeams = Array.isArray(projectTeams) && projectTeams.length > 0;
|
|
316
|
+
let selectedProjectTeamIndex = -1;
|
|
317
|
+
if (existProjectTeams) {
|
|
318
|
+
selectedProjectTeamIndex = projectTeams.findIndex((team) => team.id === selectedTeam?.id);
|
|
319
|
+
}
|
|
320
|
+
const isProjectTeamSelected = selectedProjectTeamIndex >= 0;
|
|
321
|
+
const isMenuSelected = isTeamSelected || isProjectTeamSelected;
|
|
322
|
+
if (existProjectTeams && isProjectTeamSelected) {
|
|
323
|
+
const [removedTeam] = projectTeams.splice(selectedProjectTeamIndex, 1);
|
|
324
|
+
projectTeams.unshift(removedTeam);
|
|
325
|
+
}
|
|
326
|
+
return (React__default.default.createElement("div", { key: team.id, id: `${team.id}-account-menu` },
|
|
327
|
+
React__default.default.createElement(react.HeaderMenuItem, { "aria-expanded": isSubmenuOpen, "aria-selected": isMenuSelected, className: headerDropdownMenuItemAccountContainerClassname, onClick: (e) => handleOpenAccountSubmenu({ e, id: team.id }),
|
|
328
|
+
// eslint-disable-next-line no-script-url
|
|
329
|
+
href: "javascript:void(0)", "data-testid": "header-team-switcher-menu-account-accordion" },
|
|
330
|
+
React__default.default.createElement("div", { className: headerDropdownMenuItemAccountClassname },
|
|
331
|
+
React__default.default.createElement("div", { className: headerDropdownMenuItemTextIconClassname },
|
|
332
|
+
React__default.default.createElement("span", { title: team.nameToDisplay, className: headerDropdownMenuItemTextClassname }, team.nameToDisplay),
|
|
333
|
+
isMenuSelected ? (React__default.default.createElement(icons.CheckmarkFilled, { className: headerDropdownMenuItemIconClassname })) : null),
|
|
334
|
+
React__default.default.createElement("div", { className: headerDropdownMenuItemAccountIconsClassname },
|
|
335
|
+
React__default.default.createElement(icons.GroupAccount, { className: headerDropdownMenuItemAccountGroupIconClassname }),
|
|
336
|
+
React__default.default.createElement(icons.ChevronDown, { className: headerDropdownMenuItemAccountChevronIconClassname })))),
|
|
337
|
+
React__default.default.createElement("div", { id: `${team.id}-account-submenu`, key: `${team.id}-account-submenu`, "aria-expanded": isSubmenuOpen, className: headerDropdownMenuItemAccountSubmenuClassname },
|
|
338
|
+
React__default.default.createElement(react.HeaderMenuItem, { key: `${team.id}-menu-item`, id: `${team.id}-account-menu-item`, "aria-selected": isTeamSelected, className: headerDropdownMenuItemContainerClassname, onClick: () => {
|
|
339
|
+
handleTeamClick({ team, type: "account" });
|
|
340
|
+
}, "data-testid": "header-team-switcher-menu-account-accordion-item",
|
|
341
|
+
// eslint-disable-next-line no-script-url
|
|
342
|
+
href: "javascript:void(0)" },
|
|
343
|
+
React__default.default.createElement("div", { className: headerDropdownMenuItemClassname, style: { paddingLeft: "1rem" } },
|
|
344
|
+
React__default.default.createElement("span", { title: team.nameToDisplay, className: headerDropdownMenuItemTextClassname }, "Account Page"),
|
|
345
|
+
isTeamSelected ? (React__default.default.createElement(icons.CheckmarkFilled, { className: headerDropdownMenuItemIconClassname })) : null)),
|
|
346
|
+
projectTeams && projectTeams.length > 0
|
|
347
|
+
? projectTeams.map((team) => {
|
|
348
|
+
const isTeamSelected = team.id === selectedTeam?.id;
|
|
349
|
+
return (React__default.default.createElement("div", { key: team.id, id: `${team.id}-project-menu-item` },
|
|
350
|
+
React__default.default.createElement(react.HeaderMenuItem, { "aria-selected": isTeamSelected, className: headerDropdownMenuItemContainerClassname, onClick: () => {
|
|
351
|
+
handleTeamClick({ team, type: "project" });
|
|
352
|
+
}, "data-testid": "header-team-switcher-menu-account-accordion-item",
|
|
353
|
+
// eslint-disable-next-line no-script-url
|
|
354
|
+
href: "javascript:void(0)" },
|
|
355
|
+
React__default.default.createElement("div", { className: headerDropdownMenuItemClassname, style: { paddingLeft: "1rem" } },
|
|
356
|
+
React__default.default.createElement("span", { title: team.nameToDisplay, className: headerDropdownMenuItemTextClassname }, team.nameToDisplay),
|
|
357
|
+
isTeamSelected ? (React__default.default.createElement(icons.CheckmarkFilled, { className: headerDropdownMenuItemIconClassname })) : null))));
|
|
358
|
+
})
|
|
359
|
+
: null)));
|
|
360
|
+
}
|
|
361
|
+
else {
|
|
362
|
+
return (React__default.default.createElement("div", { key: team.id, id: `${team.id}-${team.type}-menu-item` },
|
|
363
|
+
React__default.default.createElement(react.HeaderMenuItem, { "aria-selected": isTeamSelected, className: headerDropdownMenuItemContainerClassname, onClick: () => {
|
|
364
|
+
handleTeamClick({ team, type: team.type ?? "" });
|
|
365
|
+
}, "data-testid": "header-team-switcher-menu-item",
|
|
312
366
|
// eslint-disable-next-line no-script-url
|
|
313
367
|
href: "javascript:void(0)" },
|
|
314
|
-
React__default.default.createElement("div", { className: headerDropdownMenuItemClassname
|
|
315
|
-
React__default.default.createElement("span", { title: team.nameToDisplay, className: headerDropdownMenuItemTextClassname },
|
|
316
|
-
isTeamSelected ?
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
React__default.default.createElement(react.HeaderMenuItem, { "aria-selected": isTeamSelected, className: headerDropdownMenuItemContainerClassname, onClick: () => {
|
|
322
|
-
handleTeamClick({ team, type: "project" });
|
|
323
|
-
}, "data-testid": "header-team-switcher-menu-account-accordion-item",
|
|
324
|
-
// eslint-disable-next-line no-script-url
|
|
325
|
-
href: "javascript:void(0)" },
|
|
326
|
-
React__default.default.createElement("div", { className: headerDropdownMenuItemClassname, style: { paddingLeft: "1rem" } },
|
|
327
|
-
React__default.default.createElement("span", { title: team.nameToDisplay, className: headerDropdownMenuItemTextClassname }, team.nameToDisplay),
|
|
328
|
-
isTeamSelected ? (React__default.default.createElement(icons.CheckmarkFilled, { className: headerDropdownMenuItemIconClassname })) : null))));
|
|
329
|
-
})
|
|
330
|
-
: null)));
|
|
331
|
-
})
|
|
332
|
-
: null,
|
|
333
|
-
standardTeams.length > 0
|
|
334
|
-
? sortedStandardTeamsWithNamesToDisplay.map((team) => {
|
|
335
|
-
const isTeamSelected = team.id === selectedTeam?.id;
|
|
336
|
-
return (React__default.default.createElement("div", { key: team.id, id: `${team.id}-standard-menu-item` },
|
|
337
|
-
React__default.default.createElement(react.HeaderMenuItem, { "aria-selected": isTeamSelected, className: headerDropdownMenuItemContainerClassname, onClick: () => {
|
|
338
|
-
handleTeamClick({ team, type: "standard" });
|
|
339
|
-
}, "data-testid": "header-team-switcher-menu-item",
|
|
340
|
-
// eslint-disable-next-line no-script-url
|
|
341
|
-
href: "javascript:void(0)" },
|
|
342
|
-
React__default.default.createElement("div", { className: headerDropdownMenuItemClassname },
|
|
343
|
-
React__default.default.createElement("span", { title: team.nameToDisplay, className: headerDropdownMenuItemTextClassname }, team.nameToDisplay),
|
|
344
|
-
isTeamSelected ? React__default.default.createElement(icons.CheckmarkFilled, { className: headerDropdownMenuItemIconClassname }) : null))));
|
|
345
|
-
})
|
|
346
|
-
: null))));
|
|
368
|
+
React__default.default.createElement("div", { className: headerDropdownMenuItemClassname },
|
|
369
|
+
React__default.default.createElement("span", { title: team.nameToDisplay, className: headerDropdownMenuItemTextClassname }, team.nameToDisplay),
|
|
370
|
+
isTeamSelected ? React__default.default.createElement(icons.CheckmarkFilled, { className: headerDropdownMenuItemIconClassname }) : null))));
|
|
371
|
+
}
|
|
372
|
+
}
|
|
373
|
+
return null;
|
|
374
|
+
})))));
|
|
347
375
|
}
|
|
348
376
|
return null;
|
|
349
377
|
}
|