@bigbinary/neeto-team-members-frontend 4.5.25 → 4.6.0-beta4
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/app/javascript/src/translations/en.json +18 -4
- package/dist/Groups.js +2 -2
- package/dist/ManageMember.js +9 -7
- package/dist/ManageMember.js.map +1 -1
- package/dist/MembersInvite.js +250 -0
- package/dist/MembersInvite.js.map +1 -0
- package/dist/{Permissions-BzrTU6IK.js → Permissions-Dz8dLK2T.js} +4 -4
- package/dist/{Permissions-BzrTU6IK.js.map → Permissions-Dz8dLK2T.js.map} +1 -1
- package/dist/Profile.js +1 -1
- package/dist/Roles.js +4 -4
- package/dist/Roles.js.map +1 -1
- package/dist/{RolesRadioGroup-CWk-AXHw.js → RolesRadioGroup-Bx1tBk7i.js} +19 -5
- package/dist/RolesRadioGroup-Bx1tBk7i.js.map +1 -0
- package/dist/{RolesRadioGroup-Dj_Yp_69.js → RolesRadioGroup-uBXbN2fZ.js} +18 -6
- package/dist/RolesRadioGroup-uBXbN2fZ.js.map +1 -0
- package/dist/RolesRadioGroup.js +3 -2
- package/dist/RolesRadioGroup.js.map +1 -1
- package/dist/TeamMembers.js +7 -5
- package/dist/TeamMembers.js.map +1 -1
- package/dist/cjs/Groups.js +12 -12
- package/dist/cjs/Groups.js.map +1 -1
- package/dist/cjs/ManageMember.js +9 -7
- package/dist/cjs/ManageMember.js.map +1 -1
- package/dist/cjs/MembersDropdown.js +8 -8
- package/dist/cjs/MembersDropdown.js.map +1 -1
- package/dist/cjs/MembersInvite.js +272 -0
- package/dist/cjs/MembersInvite.js.map +1 -0
- package/dist/cjs/Permissions.js +1 -1
- package/dist/cjs/Profile.js +9 -9
- package/dist/cjs/Profile.js.map +1 -1
- package/dist/cjs/Roles.js +27 -27
- package/dist/cjs/Roles.js.map +1 -1
- package/dist/cjs/RolesRadioGroup.js +3 -2
- package/dist/cjs/RolesRadioGroup.js.map +1 -1
- package/dist/cjs/TeamMembers.js +26 -24
- package/dist/cjs/TeamMembers.js.map +1 -1
- package/dist/cjs/TeamsAndMembersDropdown.js +14 -14
- package/dist/cjs/TeamsAndMembersDropdown.js.map +1 -1
- package/dist/cjs/TeamsDropdown.js +4 -4
- package/dist/cjs/TeamsDropdown.js.map +1 -1
- package/dist/cjs/constants.js +1 -1
- package/dist/cjs/hooks.js +3 -3
- package/dist/cjs/index.js +14 -10
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/utils.js +2 -2
- package/dist/{constants-BdTiHt55.js → constants-Bv0kiGjC.js} +3 -2
- package/dist/constants-Bv0kiGjC.js.map +1 -0
- package/dist/{constants-CVJk8LWV.js → constants-CoKdUpNz.js} +3 -2
- package/dist/constants-CoKdUpNz.js.map +1 -0
- package/dist/constants.js +1 -1
- package/dist/hooks.js +3 -3
- package/dist/{index-CvR0tAN3.js → index-13ZcJhTR.js} +213 -40
- package/dist/index-13ZcJhTR.js.map +1 -0
- package/dist/{index-CMMrjr6R.js → index-7t984CiR.js} +222 -49
- package/dist/index-7t984CiR.js.map +1 -0
- package/dist/{index-CWyeI4Kz.js → index-B0Vfgumn.js} +6 -6
- package/dist/{index-CWyeI4Kz.js.map → index-B0Vfgumn.js.map} +1 -1
- package/dist/{index-Dvjcz-b3.js → index-ChnZuzES.js} +2 -2
- package/dist/{index-Dvjcz-b3.js.map → index-ChnZuzES.js.map} +1 -1
- package/dist/{index-DJU85TIs.js → index-PGu8HL2J.js} +3 -3
- package/dist/{index-DJU85TIs.js.map → index-PGu8HL2J.js.map} +1 -1
- package/dist/index.js +11 -8
- package/dist/index.js.map +1 -1
- package/dist/{useMembersSidenav-DZL248nl.js → useMembersSidenav-BNprHDYJ.js} +2 -2
- package/dist/{useMembersSidenav-DZL248nl.js.map → useMembersSidenav-BNprHDYJ.js.map} +1 -1
- package/dist/{useMembersSidenav-DoqlX-eu.js → useMembersSidenav-BtH5hu6v.js} +2 -2
- package/dist/{useMembersSidenav-DoqlX-eu.js.map → useMembersSidenav-BtH5hu6v.js.map} +1 -1
- package/dist/{useTeamsApi-CsIY4EOv.js → useTeamsApi-B3QBs2O9.js} +2 -2
- package/dist/{useTeamsApi-CsIY4EOv.js.map → useTeamsApi-B3QBs2O9.js.map} +1 -1
- package/dist/{useTeamsApi-DA7o82Wl.js → useTeamsApi-C90SlWkS.js} +2 -2
- package/dist/{useTeamsApi-DA7o82Wl.js.map → useTeamsApi-C90SlWkS.js.map} +1 -1
- package/dist/utils.js +2 -2
- package/package.json +4 -4
- package/dist/RolesRadioGroup-CWk-AXHw.js.map +0 -1
- package/dist/RolesRadioGroup-Dj_Yp_69.js.map +0 -1
- package/dist/constants-BdTiHt55.js.map +0 -1
- package/dist/constants-CVJk8LWV.js.map +0 -1
- package/dist/index-CMMrjr6R.js.map +0 -1
- package/dist/index-CvR0tAN3.js.map +0 -1
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
4
4
|
var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
|
|
5
|
-
var
|
|
5
|
+
var React = require('react');
|
|
6
6
|
var classnames = require('classnames');
|
|
7
7
|
var initializers = require('@bigbinary/neeto-commons-frontend/initializers');
|
|
8
8
|
var utils = require('@bigbinary/neeto-commons-frontend/utils');
|
|
@@ -17,8 +17,8 @@ var ActionBlock = require('@bigbinary/neetoui/formik/ActionBlock');
|
|
|
17
17
|
var Form = require('@bigbinary/neetoui/formik/Form');
|
|
18
18
|
var ramda = require('ramda');
|
|
19
19
|
var reactI18next = require('react-i18next');
|
|
20
|
-
var index = require('./index-
|
|
21
|
-
var useTeamsApi = require('./useTeamsApi-
|
|
20
|
+
var index = require('./index-B0Vfgumn.js');
|
|
21
|
+
var useTeamsApi = require('./useTeamsApi-C90SlWkS.js');
|
|
22
22
|
var injectCss = require('./inject-css-vQvjPR2x.js');
|
|
23
23
|
var formik = require('formik');
|
|
24
24
|
var neetoCist = require('@bigbinary/neeto-cist');
|
|
@@ -26,15 +26,22 @@ var Checkbox = require('@bigbinary/neetoui/Checkbox');
|
|
|
26
26
|
var Tooltip = require('@bigbinary/neetoui/Tooltip');
|
|
27
27
|
var Select = require('@bigbinary/neetoui/formik/Select');
|
|
28
28
|
var Switch = require('@bigbinary/neetoui/formik/Switch');
|
|
29
|
-
var RolesRadioGroup = require('./RolesRadioGroup-
|
|
29
|
+
var RolesRadioGroup = require('./RolesRadioGroup-Bx1tBk7i.js');
|
|
30
30
|
var jsxRuntime = require('react/jsx-runtime');
|
|
31
31
|
var constants = require('@bigbinary/neeto-commons-frontend/constants');
|
|
32
|
+
var reactUtils = require('@bigbinary/neeto-commons-frontend/react-utils');
|
|
33
|
+
var MenuHorizontal = require('@bigbinary/neeto-icons/MenuHorizontal');
|
|
34
|
+
var CopyToClipboardButton = require('@bigbinary/neeto-molecules/CopyToClipboardButton');
|
|
35
|
+
var Dropdown = require('@bigbinary/neetoui/Dropdown');
|
|
36
|
+
var reactQuery = require('@tanstack/react-query');
|
|
37
|
+
var axios = require('axios');
|
|
38
|
+
var constants$1 = require('./constants-CoKdUpNz.js');
|
|
39
|
+
var Label = require('@bigbinary/neetoui/Label');
|
|
32
40
|
var MultiEmailInput = require('@bigbinary/neetoui/formik/MultiEmailInput');
|
|
33
41
|
var Input = require('@bigbinary/neetoui/formik/Input');
|
|
34
42
|
var i18next = require('i18next');
|
|
35
43
|
var MoreDropdown = require('@bigbinary/neeto-molecules/MoreDropdown');
|
|
36
44
|
var Avatar = require('@bigbinary/neetoui/Avatar');
|
|
37
|
-
var Dropdown = require('@bigbinary/neetoui/Dropdown');
|
|
38
45
|
|
|
39
46
|
var _getQueryParams = utils.getQueryParams(),
|
|
40
47
|
page = _getQueryParams.page,
|
|
@@ -60,9 +67,9 @@ var DEFAULT_SELECTED_ROWS = {
|
|
|
60
67
|
};
|
|
61
68
|
var TEAM_MEMBERS_HIDDEN_COLUMNS = "TEAM_MEMBERS_TABLE_HIDDEN_COLUMNS";
|
|
62
69
|
|
|
63
|
-
function ownKeys$
|
|
64
|
-
function _objectSpread$
|
|
65
|
-
var MenuItem = Dropdown.MenuItem;
|
|
70
|
+
function ownKeys$2(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
71
|
+
function _objectSpread$2(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$2(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$2(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
72
|
+
var MenuItem$1 = Dropdown.MenuItem;
|
|
66
73
|
var renderNameColumn = function renderNameColumn(_ref) {
|
|
67
74
|
var config = _ref.config,
|
|
68
75
|
handleUpdateRole = _ref.handleUpdateRole,
|
|
@@ -118,7 +125,7 @@ var renderDropdownButton = function renderDropdownButton(_ref2) {
|
|
|
118
125
|
}
|
|
119
126
|
},
|
|
120
127
|
menuTopChildren: /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
121
|
-
children: [/*#__PURE__*/jsxRuntime.jsx(MenuItem.Button, {
|
|
128
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(MenuItem$1.Button, {
|
|
122
129
|
className: "ntm-dropdown__button",
|
|
123
130
|
"data-cy": "ntm-edit-member-button",
|
|
124
131
|
size: "small",
|
|
@@ -126,7 +133,7 @@ var renderDropdownButton = function renderDropdownButton(_ref2) {
|
|
|
126
133
|
return handleUpdateRole(tableData);
|
|
127
134
|
},
|
|
128
135
|
children: i18next.t("neetoTeamMembers.common.edit")
|
|
129
|
-
}), config === null || config === void 0 || (_config$table = config.table) === null || _config$table === void 0 || (_config$table$dropdow = _config$table.dropdownProps) === null || _config$table$dropdow === void 0 ? void 0 : _config$table$dropdow.call(_config$table, tableData), /*#__PURE__*/jsxRuntime.jsx(MenuItem.Button, {
|
|
136
|
+
}), config === null || config === void 0 || (_config$table = config.table) === null || _config$table === void 0 || (_config$table$dropdow = _config$table.dropdownProps) === null || _config$table$dropdow === void 0 ? void 0 : _config$table$dropdow.call(_config$table, tableData), /*#__PURE__*/jsxRuntime.jsx(MenuItem$1.Button, {
|
|
130
137
|
className: "ntm-dropdown__button",
|
|
131
138
|
"data-cy": "ntm-deactivate-member-button",
|
|
132
139
|
size: "small",
|
|
@@ -150,7 +157,7 @@ var getDefaultAlertMessage = function getDefaultAlertMessage(_ref4) {
|
|
|
150
157
|
var member = _ref4.member;
|
|
151
158
|
return /*#__PURE__*/jsxRuntime.jsx(reactI18next.Trans, {
|
|
152
159
|
i18nKey: "neetoTeamMembers.alerts.messages.removeMember",
|
|
153
|
-
values: _objectSpread$
|
|
160
|
+
values: _objectSpread$2(_objectSpread$2({}, constants.SINGULAR), {}, {
|
|
154
161
|
person: member === null || member === void 0 ? void 0 : member.displayName
|
|
155
162
|
})
|
|
156
163
|
});
|
|
@@ -342,7 +349,7 @@ var AppList = function AppList(_ref) {
|
|
|
342
349
|
savedStateRef = _ref.savedStateRef;
|
|
343
350
|
var _useTranslation = reactI18next.useTranslation(),
|
|
344
351
|
t = _useTranslation.t;
|
|
345
|
-
var _useState =
|
|
352
|
+
var _useState = React.useState(savedStateRef.current.isAppListEnabled),
|
|
346
353
|
_useState2 = _slicedToArray(_useState, 2),
|
|
347
354
|
isAppListEnabled = _useState2[0],
|
|
348
355
|
setIsAppListEnabled = _useState2[1];
|
|
@@ -355,7 +362,7 @@ var AppList = function AppList(_ref) {
|
|
|
355
362
|
setFieldValue = _useFormikContext.setFieldValue;
|
|
356
363
|
var selectedEmail = ramda.pluck("value", emails);
|
|
357
364
|
var isManageProductsLinkEnabled = ((_globalProps$user = initializers.globalProps.user) === null || _globalProps$user === void 0 ? void 0 : _globalProps$user.isOwner) && Object.keys(globalRoles).length >= 3;
|
|
358
|
-
|
|
365
|
+
React.useEffect(function () {
|
|
359
366
|
if (savedStateRef.current.isAppListEnabled !== isAppListEnabled) {
|
|
360
367
|
appRoles === null || appRoles === void 0 || appRoles.forEach(function (appRole, index) {
|
|
361
368
|
var _globalProps$appName;
|
|
@@ -542,6 +549,150 @@ var Confirmation = function Confirmation() {
|
|
|
542
549
|
});
|
|
543
550
|
};
|
|
544
551
|
|
|
552
|
+
var fetch = function fetch() {
|
|
553
|
+
return axios.get("".concat(constants$1.BASE_URL, "/api/v1/invite_links"));
|
|
554
|
+
};
|
|
555
|
+
var create = function create(payload) {
|
|
556
|
+
return axios.post("".concat(constants$1.BASE_URL, "/api/v1/invite_links"), {
|
|
557
|
+
inviteLink: payload
|
|
558
|
+
});
|
|
559
|
+
};
|
|
560
|
+
var regenerate = function regenerate(inviteLinkId, payload) {
|
|
561
|
+
return axios.put("".concat(constants$1.BASE_URL, "/api/v1/invite_links/").concat(inviteLinkId), {
|
|
562
|
+
inviteLink: payload
|
|
563
|
+
});
|
|
564
|
+
};
|
|
565
|
+
var inviteLinksApi = {
|
|
566
|
+
fetch: fetch,
|
|
567
|
+
create: create,
|
|
568
|
+
regenerate: regenerate
|
|
569
|
+
};
|
|
570
|
+
|
|
571
|
+
function ownKeys$1(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
572
|
+
function _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$1(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
573
|
+
var useFetchInviteLinks = function useFetchInviteLinks() {
|
|
574
|
+
return reactQuery.useQuery({
|
|
575
|
+
queryKey: [constants$1.QUERY_KEYS.INVITATION_LINK],
|
|
576
|
+
queryFn: function queryFn() {
|
|
577
|
+
return inviteLinksApi.fetch();
|
|
578
|
+
}
|
|
579
|
+
});
|
|
580
|
+
};
|
|
581
|
+
var useCreateInviteLinks = function useCreateInviteLinks() {
|
|
582
|
+
var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
583
|
+
return reactUtils.useMutationWithInvalidation(function (payload) {
|
|
584
|
+
return inviteLinksApi.create(payload);
|
|
585
|
+
}, _objectSpread$1({
|
|
586
|
+
keysToInvalidate: [[constants$1.QUERY_KEYS.INVITATION_LINK]]
|
|
587
|
+
}, options));
|
|
588
|
+
};
|
|
589
|
+
var useRegenerateInviteLink = function useRegenerateInviteLink() {
|
|
590
|
+
return reactUtils.useMutationWithInvalidation(function (_ref) {
|
|
591
|
+
var inviteLinkId = _ref.inviteLinkId,
|
|
592
|
+
payload = _ref.payload;
|
|
593
|
+
return inviteLinksApi.regenerate(inviteLinkId, payload);
|
|
594
|
+
}, {
|
|
595
|
+
keysToInvalidate: [[constants$1.QUERY_KEYS.INVITATION_LINK]]
|
|
596
|
+
});
|
|
597
|
+
};
|
|
598
|
+
|
|
599
|
+
var Menu = Dropdown.Menu,
|
|
600
|
+
MenuItem = Dropdown.MenuItem;
|
|
601
|
+
var MenuItemButton = MenuItem.Button;
|
|
602
|
+
var InviteLink = function InviteLink(_ref) {
|
|
603
|
+
var _inviteLinks$, _inviteLinks$2, _inviteLinks$3, _inviteLinks$4, _inviteLinks$5, _inviteLinks$6;
|
|
604
|
+
var t = _ref.t,
|
|
605
|
+
roles = _ref.roles;
|
|
606
|
+
var _useCreateInviteLinks = useCreateInviteLinks(),
|
|
607
|
+
createInviteLink = _useCreateInviteLinks.mutate,
|
|
608
|
+
isCreateLinkPending = _useCreateInviteLinks.isPending;
|
|
609
|
+
var _useRegenerateInviteL = useRegenerateInviteLink(),
|
|
610
|
+
regenerateLink = _useRegenerateInviteL.mutate;
|
|
611
|
+
var _useFetchInviteLinks = useFetchInviteLinks(),
|
|
612
|
+
_useFetchInviteLinks$ = _useFetchInviteLinks.data,
|
|
613
|
+
_useFetchInviteLinks$2 = _useFetchInviteLinks$ === void 0 ? {} : _useFetchInviteLinks$,
|
|
614
|
+
_useFetchInviteLinks$3 = _useFetchInviteLinks$2.inviteLinks,
|
|
615
|
+
inviteLinks = _useFetchInviteLinks$3 === void 0 ? [] : _useFetchInviteLinks$3,
|
|
616
|
+
isFetchLinkLoading = _useFetchInviteLinks.isLoading;
|
|
617
|
+
var _useFormikContext = formik.useFormikContext(),
|
|
618
|
+
values = _useFormikContext.values;
|
|
619
|
+
var isInviteLinkEmpty = !isFetchLinkLoading && ramda.isEmpty(inviteLinks);
|
|
620
|
+
var handleRegenerate = function handleRegenerate() {
|
|
621
|
+
var _findBy = neetoCist.findBy({
|
|
622
|
+
name: values.role
|
|
623
|
+
}, roles),
|
|
624
|
+
roleId = _findBy.id;
|
|
625
|
+
if (ramda.isEmpty(inviteLinks)) createInviteLink({
|
|
626
|
+
organizationRoleId: roleId
|
|
627
|
+
});
|
|
628
|
+
regenerateLink({
|
|
629
|
+
inviteLinkId: inviteLinks[0].id,
|
|
630
|
+
payload: {
|
|
631
|
+
organizationRoleId: roleId
|
|
632
|
+
}
|
|
633
|
+
});
|
|
634
|
+
};
|
|
635
|
+
if (isFetchLinkLoading || isCreateLinkPending) {
|
|
636
|
+
return /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
637
|
+
className: "neeto-ui-w-full flex justify-center items-center",
|
|
638
|
+
children: /*#__PURE__*/jsxRuntime.jsx(Spinner, {
|
|
639
|
+
size: "large"
|
|
640
|
+
})
|
|
641
|
+
});
|
|
642
|
+
}
|
|
643
|
+
return /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
644
|
+
className: "neeto-ui-w-full space-y-2",
|
|
645
|
+
children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
646
|
+
className: "flex items-center space-x-1",
|
|
647
|
+
children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
648
|
+
className: "neeto-ui-rounded-md neeto-ui-border-gray-300 neeto-ui-bg-gray-50 relative flex min-w-0 flex-grow items-center truncate border leading-none",
|
|
649
|
+
children: [/*#__PURE__*/jsxRuntime.jsx("div", {
|
|
650
|
+
className: "relative min-w-0 flex-grow truncate p-2 leading-none",
|
|
651
|
+
children: !isInviteLinkEmpty && RolesRadioGroup.getInviteURL(inviteLinks === null || inviteLinks === void 0 || (_inviteLinks$ = inviteLinks[0]) === null || _inviteLinks$ === void 0 ? void 0 : _inviteLinks$.token)
|
|
652
|
+
}), isInviteLinkEmpty ? /*#__PURE__*/jsxRuntime.jsx(Button, {
|
|
653
|
+
className: "rounded-l-none",
|
|
654
|
+
label: t("neetoTeamMembers.buttons.generateLink"),
|
|
655
|
+
onClick: handleRegenerate
|
|
656
|
+
}) : /*#__PURE__*/jsxRuntime.jsx(CopyToClipboardButton, {
|
|
657
|
+
className: "rounded-l-none",
|
|
658
|
+
label: t("neetoTeamMembers.buttons.copyLink"),
|
|
659
|
+
value: RolesRadioGroup.getInviteURL(inviteLinks === null || inviteLinks === void 0 || (_inviteLinks$2 = inviteLinks[0]) === null || _inviteLinks$2 === void 0 ? void 0 : _inviteLinks$2.token)
|
|
660
|
+
})]
|
|
661
|
+
}), !isInviteLinkEmpty && /*#__PURE__*/jsxRuntime.jsx(Dropdown, {
|
|
662
|
+
buttonStyle: "text",
|
|
663
|
+
icon: MenuHorizontal,
|
|
664
|
+
children: /*#__PURE__*/jsxRuntime.jsx(Menu, {
|
|
665
|
+
children: /*#__PURE__*/jsxRuntime.jsx(MenuItem, {
|
|
666
|
+
children: /*#__PURE__*/jsxRuntime.jsx(MenuItemButton, {
|
|
667
|
+
onClick: handleRegenerate,
|
|
668
|
+
children: t("neetoTeamMembers.buttons.regenerateLink")
|
|
669
|
+
})
|
|
670
|
+
})
|
|
671
|
+
})
|
|
672
|
+
})]
|
|
673
|
+
}), /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
674
|
+
children: !isInviteLinkEmpty && /*#__PURE__*/jsxRuntime.jsx(Typography, {
|
|
675
|
+
className: "leading-relaxed neeto-ui-text-gray-500",
|
|
676
|
+
style: "body3",
|
|
677
|
+
children: /*#__PURE__*/jsxRuntime.jsx(reactI18next.Trans, {
|
|
678
|
+
components: {
|
|
679
|
+
strong: /*#__PURE__*/jsxRuntime.jsx("strong", {})
|
|
680
|
+
},
|
|
681
|
+
i18nKey: "neetoTeamMembers.alerts.messages.inviteLink",
|
|
682
|
+
values: {
|
|
683
|
+
expiryDays: RolesRadioGroup.remainingExpiryDays(inviteLinks === null || inviteLinks === void 0 || (_inviteLinks$3 = inviteLinks[0]) === null || _inviteLinks$3 === void 0 ? void 0 : _inviteLinks$3.expiresAt),
|
|
684
|
+
role: inviteLinks === null || inviteLinks === void 0 || (_inviteLinks$4 = inviteLinks[0]) === null || _inviteLinks$4 === void 0 || (_inviteLinks$4 = _inviteLinks$4.organizationRole) === null || _inviteLinks$4 === void 0 ? void 0 : _inviteLinks$4.name,
|
|
685
|
+
inviteLimit: inviteLinks === null || inviteLinks === void 0 || (_inviteLinks$5 = inviteLinks[0]) === null || _inviteLinks$5 === void 0 ? void 0 : _inviteLinks$5.inviteLimit,
|
|
686
|
+
appName: initializers.globalProps.appName,
|
|
687
|
+
emailDomain: inviteLinks === null || inviteLinks === void 0 || (_inviteLinks$6 = inviteLinks[0]) === null || _inviteLinks$6 === void 0 ? void 0 : _inviteLinks$6.domain
|
|
688
|
+
}
|
|
689
|
+
})
|
|
690
|
+
})
|
|
691
|
+
})]
|
|
692
|
+
});
|
|
693
|
+
};
|
|
694
|
+
var InviteLink$1 = reactUtils.withT(InviteLink);
|
|
695
|
+
|
|
545
696
|
var MultipleEmailInput = function MultipleEmailInput(_ref) {
|
|
546
697
|
var _head;
|
|
547
698
|
var _ref$emails = _ref.emails,
|
|
@@ -549,6 +700,8 @@ var MultipleEmailInput = function MultipleEmailInput(_ref) {
|
|
|
549
700
|
innerRef = _ref.innerRef,
|
|
550
701
|
_ref$selectedMember = _ref.selectedMember,
|
|
551
702
|
selectedMember = _ref$selectedMember === void 0 ? null : _ref$selectedMember;
|
|
703
|
+
_ref.setCurrentPage;
|
|
704
|
+
var isInviteLinkFeatureEnabled = false;
|
|
552
705
|
var _useTranslation = reactI18next.useTranslation(),
|
|
553
706
|
t = _useTranslation.t;
|
|
554
707
|
var _useFormikContext = formik.useFormikContext(),
|
|
@@ -579,16 +732,24 @@ var MultipleEmailInput = function MultipleEmailInput(_ref) {
|
|
|
579
732
|
})
|
|
580
733
|
}),
|
|
581
734
|
onChange: handleInputChange
|
|
582
|
-
}) : /*#__PURE__*/jsxRuntime.
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
735
|
+
}) : /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
736
|
+
children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
737
|
+
className: "flex items-center justify-between pb-2",
|
|
738
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(Label, {
|
|
739
|
+
required: true,
|
|
740
|
+
children: t("neetoTeamMembers.common.email", constants.PLURAL)
|
|
741
|
+
}), isInviteLinkFeatureEnabled]
|
|
742
|
+
}), /*#__PURE__*/jsxRuntime.jsx(MultiEmailInput, {
|
|
743
|
+
required: true,
|
|
744
|
+
counter: RolesRadioGroup.COUNTER_PROPS,
|
|
745
|
+
"data-cy": "ntm-manage-member-email-input",
|
|
746
|
+
filterInvalidEmails: RolesRadioGroup.FILTER_INVALID_EMAILS,
|
|
747
|
+
helpText: t("neetoTeamMembers.helpers.enterMultipleEmails"),
|
|
748
|
+
label: "",
|
|
749
|
+
name: "emails",
|
|
750
|
+
placeholder: t("neetoTeamMembers.placeholders.email"),
|
|
751
|
+
ref: innerRef
|
|
752
|
+
})]
|
|
592
753
|
})
|
|
593
754
|
});
|
|
594
755
|
};
|
|
@@ -626,7 +787,7 @@ var ManageMember = function ManageMember(_ref) {
|
|
|
626
787
|
componentConfig = _ref$componentConfig === void 0 ? {} : _ref$componentConfig;
|
|
627
788
|
var _useTranslation = reactI18next.useTranslation(),
|
|
628
789
|
t = _useTranslation.t;
|
|
629
|
-
var _useState =
|
|
790
|
+
var _useState = React.useState(false),
|
|
630
791
|
_useState2 = _slicedToArray(_useState, 2),
|
|
631
792
|
isCreationStatusPollingEnabled = _useState2[0],
|
|
632
793
|
setIsCreationStatusPollingEnabled = _useState2[1];
|
|
@@ -636,17 +797,17 @@ var ManageMember = function ManageMember(_ref) {
|
|
|
636
797
|
enabled: isViewPermissionGranted
|
|
637
798
|
}),
|
|
638
799
|
team = _useFetchMembers.data;
|
|
639
|
-
var _useState3 =
|
|
800
|
+
var _useState3 = React.useState(RolesRadioGroup.FORM_PAGES.MAIN),
|
|
640
801
|
_useState4 = _slicedToArray(_useState3, 2),
|
|
641
802
|
currentPage = _useState4[0],
|
|
642
803
|
setCurrentPage = _useState4[1];
|
|
643
|
-
var formReference =
|
|
644
|
-
var inputReference =
|
|
645
|
-
var appListSavedStateReference =
|
|
804
|
+
var formReference = React.useRef(null);
|
|
805
|
+
var inputReference = React.useRef(null);
|
|
806
|
+
var appListSavedStateReference = React.useRef({
|
|
646
807
|
isAppListEnabled: true
|
|
647
808
|
});
|
|
648
|
-
var shouldSkipAppListPage =
|
|
649
|
-
var formikValues =
|
|
809
|
+
var shouldSkipAppListPage = React.useRef(false);
|
|
810
|
+
var formikValues = React.useRef(null);
|
|
650
811
|
var manageMemberComponentConfig = _objectSpread(_objectSpread({}, RolesRadioGroup.DEFAULT_COMPONENT_CONFIG), {}, {
|
|
651
812
|
initialFocusRef: inputReference
|
|
652
813
|
}, componentConfig);
|
|
@@ -698,7 +859,7 @@ var ManageMember = function ManageMember(_ref) {
|
|
|
698
859
|
enabled: isCreationStatusPollingEnabled
|
|
699
860
|
}),
|
|
700
861
|
creationStatus = _useMembersCreationSt.data;
|
|
701
|
-
|
|
862
|
+
React.useEffect(function () {
|
|
702
863
|
var _config$createMember;
|
|
703
864
|
var _ref3 = creationStatus || {},
|
|
704
865
|
isCompleted = _ref3.isCompleted,
|
|
@@ -747,9 +908,7 @@ var ManageMember = function ManageMember(_ref) {
|
|
|
747
908
|
};
|
|
748
909
|
var isProcessing = isCreatingMember || isUpdatingMember || isRolesLoading || isGlobalRolesLoading;
|
|
749
910
|
var handleAddMember = function handleAddMember(values) {
|
|
750
|
-
selectedMember ?
|
|
751
|
-
// @ts-ignore
|
|
752
|
-
updateMember({
|
|
911
|
+
selectedMember ? updateMember({
|
|
753
912
|
id: selectedMember.id,
|
|
754
913
|
payload: RolesRadioGroup.renderPayload(values, selectedMember)
|
|
755
914
|
}) : createMember(RolesRadioGroup.renderPayload(values));
|
|
@@ -768,17 +927,30 @@ var ManageMember = function ManageMember(_ref) {
|
|
|
768
927
|
}
|
|
769
928
|
};
|
|
770
929
|
var handleBackButton = function handleBackButton() {
|
|
771
|
-
if (currentPage === RolesRadioGroup.FORM_PAGES.APP_LIST || shouldSkipAppListPage.current) {
|
|
930
|
+
if (currentPage === RolesRadioGroup.FORM_PAGES.APP_LIST || shouldSkipAppListPage.current || currentPage === RolesRadioGroup.FORM_PAGES.INVITE_LINK) {
|
|
772
931
|
setCurrentPage(RolesRadioGroup.FORM_PAGES.MAIN);
|
|
773
932
|
} else if (currentPage === RolesRadioGroup.FORM_PAGES.CONFIRMATION) {
|
|
774
933
|
setCurrentPage(RolesRadioGroup.FORM_PAGES.APP_LIST);
|
|
775
934
|
}
|
|
776
935
|
};
|
|
777
936
|
var getTitle = function getTitle() {
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
|
|
781
|
-
|
|
937
|
+
var memberLabel = initializers.taxonomies.member.singular;
|
|
938
|
+
if (selectedMember) {
|
|
939
|
+
return t("neetoTeamMembers.common.edit_", {
|
|
940
|
+
what: memberLabel
|
|
941
|
+
});
|
|
942
|
+
}
|
|
943
|
+
return currentPage === RolesRadioGroup.FORM_PAGES.INVITE_LINK ? t("neetoTeamMembers.common.inviteViaLink") : t("neetoTeamMembers.common.addNew_", {
|
|
944
|
+
what: memberLabel
|
|
945
|
+
});
|
|
946
|
+
};
|
|
947
|
+
var renderRolesRadioGroup = function renderRolesRadioGroup(role) {
|
|
948
|
+
return /*#__PURE__*/jsxRuntime.jsx(RolesRadioGroup.RolesRadioGroup, {
|
|
949
|
+
config: config,
|
|
950
|
+
globalRoles: globalRoles,
|
|
951
|
+
role: role,
|
|
952
|
+
isEdit: !!selectedMember,
|
|
953
|
+
roles: filteredRoles
|
|
782
954
|
});
|
|
783
955
|
};
|
|
784
956
|
var renderFormPage = function renderFormPage(page, emails, role) {
|
|
@@ -791,14 +963,9 @@ var ManageMember = function ManageMember(_ref) {
|
|
|
791
963
|
}), /*#__PURE__*/jsxRuntime.jsx(MultipleEmailInput, {
|
|
792
964
|
emails: emails,
|
|
793
965
|
selectedMember: selectedMember,
|
|
966
|
+
setCurrentPage: setCurrentPage,
|
|
794
967
|
innerRef: inputReference
|
|
795
|
-
}),
|
|
796
|
-
config: config,
|
|
797
|
-
globalRoles: globalRoles,
|
|
798
|
-
role: role,
|
|
799
|
-
isEdit: !!selectedMember,
|
|
800
|
-
roles: filteredRoles
|
|
801
|
-
}), (_config$additionalFie = config.additionalFields) === null || _config$additionalFie === void 0 ? void 0 : _config$additionalFie.component]
|
|
968
|
+
}), renderRolesRadioGroup(role), (_config$additionalFie = config.additionalFields) === null || _config$additionalFie === void 0 ? void 0 : _config$additionalFie.component]
|
|
802
969
|
});
|
|
803
970
|
case RolesRadioGroup.FORM_PAGES.APP_LIST:
|
|
804
971
|
return /*#__PURE__*/jsxRuntime.jsx(AppList, {
|
|
@@ -807,6 +974,12 @@ var ManageMember = function ManageMember(_ref) {
|
|
|
807
974
|
});
|
|
808
975
|
case RolesRadioGroup.FORM_PAGES.CONFIRMATION:
|
|
809
976
|
return /*#__PURE__*/jsxRuntime.jsx(Confirmation, {});
|
|
977
|
+
case RolesRadioGroup.FORM_PAGES.INVITE_LINK:
|
|
978
|
+
return /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
979
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(InviteLink$1, {
|
|
980
|
+
roles: filteredRoles
|
|
981
|
+
}), renderRolesRadioGroup(role)]
|
|
982
|
+
});
|
|
810
983
|
default:
|
|
811
984
|
return null;
|
|
812
985
|
}
|
|
@@ -878,16 +1051,16 @@ var ManageMember = function ManageMember(_ref) {
|
|
|
878
1051
|
count: emails.length
|
|
879
1052
|
})]
|
|
880
1053
|
}), renderFormPage(currentPage, emails, role)]
|
|
881
|
-
})), /*#__PURE__*/jsxRuntime.jsx(Component.Footer, _objectSpread(_objectSpread({}, manageMemberComponentConfig.footerProps), {}, {
|
|
1054
|
+
})), currentPage !== RolesRadioGroup.FORM_PAGES.INVITE_LINK && /*#__PURE__*/jsxRuntime.jsx(Component.Footer, _objectSpread(_objectSpread({}, manageMemberComponentConfig.footerProps), {}, {
|
|
882
1055
|
className: classnames(["ntm-members-form__footer", (_manageMemberComponen3 = manageMemberComponentConfig.footerProps) === null || _manageMemberComponen3 === void 0 ? void 0 : _manageMemberComponen3.className]),
|
|
883
1056
|
children: /*#__PURE__*/jsxRuntime.jsx(ActionBlock, {
|
|
884
|
-
isSubmitting: isProcessing || isCreationStatusPollingEnabled,
|
|
885
1057
|
cancelButtonProps: {
|
|
886
1058
|
"data-cy": "ntm-manage-member-cancel-button",
|
|
887
1059
|
onClick: function onClick() {
|
|
888
1060
|
return handleClose(false);
|
|
889
1061
|
}
|
|
890
1062
|
},
|
|
1063
|
+
isSubmitting: isProcessing || isCreationStatusPollingEnabled,
|
|
891
1064
|
submitButtonProps: {
|
|
892
1065
|
"data-cy": isLastPage ? "ntm-manage-member-submit-button" : "ntm-manage-member-continue-button",
|
|
893
1066
|
label: isLastPage ? t("neetoTeamMembers.buttons.saveChanges") : t("neetoTeamMembers.buttons.continue"),
|
|
@@ -915,4 +1088,4 @@ exports.getFilteredRoles = getFilteredRoles;
|
|
|
915
1088
|
exports.handlePageChange = handlePageChange;
|
|
916
1089
|
exports.renderPaginationProps = renderPaginationProps;
|
|
917
1090
|
exports.renderUpdateAlert = renderUpdateAlert;
|
|
918
|
-
//# sourceMappingURL=index-
|
|
1091
|
+
//# sourceMappingURL=index-7t984CiR.js.map
|