@bigbinary/neeto-team-members-frontend 5.0.64 → 5.0.65
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/.ready +1 -1
- package/dist/Groups.js +1 -1
- package/dist/ManageMember.js +50 -991
- package/dist/ManageMember.js.map +1 -1
- package/dist/TeamMembers.js +172 -12
- package/dist/TeamMembers.js.map +1 -1
- package/dist/cjs/ManageMember.js +51 -1015
- package/dist/cjs/ManageMember.js.map +1 -1
- package/dist/cjs/TeamMembers.js +184 -23
- package/dist/cjs/TeamMembers.js.map +1 -1
- package/dist/cjs/index.js +2 -4
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/v2/ManageMember.js +43 -1048
- package/dist/cjs/v2/ManageMember.js.map +1 -1
- package/dist/cjs/v2/TeamMembers.js +21 -27
- package/dist/cjs/v2/TeamMembers.js.map +1 -1
- package/dist/cjs/v2/hooks.js +15 -185
- package/dist/cjs/v2/hooks.js.map +1 -1
- package/dist/cjs/v2/index.js +6 -12
- package/dist/cjs/v2/index.js.map +1 -1
- package/dist/constants-FEDmfINW.js +29 -0
- package/dist/constants-FEDmfINW.js.map +1 -0
- package/dist/constants-il7hAfM-.js +34 -0
- package/dist/constants-il7hAfM-.js.map +1 -0
- package/dist/hooks.js +1 -1
- package/dist/index-BV7WfESJ.js +1331 -0
- package/dist/index-BV7WfESJ.js.map +1 -0
- package/dist/index-CXQ1YglX.js +1287 -0
- package/dist/index-CXQ1YglX.js.map +1 -0
- package/dist/index-DDd97MZJ.js +1253 -0
- package/dist/index-DDd97MZJ.js.map +1 -0
- package/dist/index-DP1rSXzI.js +1272 -0
- package/dist/index-DP1rSXzI.js.map +1 -0
- package/dist/index.js +2 -4
- package/dist/index.js.map +1 -1
- package/dist/{useTeams-C9N2TJY-.js → useTeams-DDkhfivj.js} +81 -13
- package/dist/useTeams-DDkhfivj.js.map +1 -0
- package/dist/{useTeams-Bw4eltN1.js → useTeams-DpZbszj9.js} +73 -6
- package/dist/useTeams-DpZbszj9.js.map +1 -0
- package/dist/{useTeamsApi-DkgWqw-g.js → useTeamsApi-CGY9oJqn.js} +2 -2
- package/dist/{useTeamsApi-DkgWqw-g.js.map → useTeamsApi-CGY9oJqn.js.map} +1 -1
- package/dist/utils.js +1 -1
- package/dist/v2/Groups.js +1 -1
- package/dist/v2/ManageMember.js +42 -1041
- package/dist/v2/ManageMember.js.map +1 -1
- package/dist/v2/TeamMembers.js +6 -12
- package/dist/v2/TeamMembers.js.map +1 -1
- package/dist/v2/hooks.js +14 -183
- package/dist/v2/hooks.js.map +1 -1
- package/dist/v2/index.js +6 -12
- package/dist/v2/index.js.map +1 -1
- package/dist/v2/utils.js +1 -1
- package/package.json +1 -1
- package/dist/useTeams-Bw4eltN1.js.map +0 -1
- package/dist/useTeams-C9N2TJY-.js.map +0 -1
- package/dist/utils-3WlshQ9e.js +0 -312
- package/dist/utils-3WlshQ9e.js.map +0 -1
- package/dist/utils-BFRNzhia.js +0 -318
- package/dist/utils-BFRNzhia.js.map +0 -1
- package/dist/utils-CgwJI9pk.js +0 -334
- package/dist/utils-CgwJI9pk.js.map +0 -1
- package/dist/utils-DEOuQRcK.js +0 -300
- package/dist/utils-DEOuQRcK.js.map +0 -1
package/dist/utils-DEOuQRcK.js
DELETED
|
@@ -1,300 +0,0 @@
|
|
|
1
|
-
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
2
|
-
import { Avatar, Typography } from '@bigbinary/neeto-atoms';
|
|
3
|
-
import { DropdownMenuItem } from '@bigbinary/neeto-atoms/primitives';
|
|
4
|
-
import i18next from 'i18next';
|
|
5
|
-
import { Users } from 'lucide-react';
|
|
6
|
-
import { isNotEmpty, toLabelAndValue } from '@bigbinary/neeto-cist';
|
|
7
|
-
import { DEFAULT_PAGE_SIZE, DEFAULT_PAGE_INDEX, SINGULAR } from '@bigbinary/neeto-commons-frontend/v2/constants';
|
|
8
|
-
import { taxonomies } from '@bigbinary/neeto-commons-frontend/v2/initializers';
|
|
9
|
-
import { getQueryParams, buildUrl, hyphenize } from '@bigbinary/neeto-commons-frontend/v2/utils';
|
|
10
|
-
import MoreDropdown from '@bigbinary/neeto-molecules/v2/MoreDropdown';
|
|
11
|
-
import { clamp, curry, mergeLeft, filter, identical, not, assoc } from 'ramda';
|
|
12
|
-
import { Trans } from 'react-i18next';
|
|
13
|
-
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
14
|
-
|
|
15
|
-
var _getQueryParams = getQueryParams(),
|
|
16
|
-
page = _getQueryParams.page,
|
|
17
|
-
pageSize = _getQueryParams.pageSize;
|
|
18
|
-
var DEFAULT_RADIX = 10;
|
|
19
|
-
var DEFAULT_IS_OPEN_VALUES = {
|
|
20
|
-
menuBar: false,
|
|
21
|
-
manageMember: false,
|
|
22
|
-
alert: false
|
|
23
|
-
};
|
|
24
|
-
var DEFAULT_FILTER_VALUES = {
|
|
25
|
-
page: clamp(1, Infinity, parseInt(page)) || DEFAULT_PAGE_INDEX,
|
|
26
|
-
pageSize: clamp(10, 100, parseInt(pageSize)) || DEFAULT_PAGE_SIZE,
|
|
27
|
-
sortBy: undefined,
|
|
28
|
-
orderBy: undefined,
|
|
29
|
-
neetoFilters: []
|
|
30
|
-
};
|
|
31
|
-
var DEFAULT_SELECTED_ROWS = {
|
|
32
|
-
active: [],
|
|
33
|
-
emails: [],
|
|
34
|
-
keys: [],
|
|
35
|
-
displayNames: []
|
|
36
|
-
};
|
|
37
|
-
|
|
38
|
-
function ownKeys(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; }
|
|
39
|
-
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
40
|
-
var renderNameColumn = function renderNameColumn(_ref) {
|
|
41
|
-
var config = _ref.config,
|
|
42
|
-
handleUpdateRole = _ref.handleUpdateRole,
|
|
43
|
-
handleUpdateStatus = _ref.handleUpdateStatus,
|
|
44
|
-
tableData = _ref.tableData;
|
|
45
|
-
var name = tableData.displayName,
|
|
46
|
-
imageUrl = tableData.profileImageUrl;
|
|
47
|
-
return /*#__PURE__*/jsxs("div", {
|
|
48
|
-
className: "flex w-full justify-between gap-3",
|
|
49
|
-
children: [/*#__PURE__*/jsxs("div", {
|
|
50
|
-
className: "flex items-center gap-2",
|
|
51
|
-
children: [/*#__PURE__*/jsx(Avatar, {
|
|
52
|
-
className: "size-8",
|
|
53
|
-
user: {
|
|
54
|
-
name: name,
|
|
55
|
-
imageUrl: imageUrl
|
|
56
|
-
}
|
|
57
|
-
}), /*#__PURE__*/jsx(Typography, {
|
|
58
|
-
className: "whitespace-normal",
|
|
59
|
-
"data-testid": "ntm-member-name-".concat(hyphenize(name)),
|
|
60
|
-
variant: "body3",
|
|
61
|
-
children: name
|
|
62
|
-
})]
|
|
63
|
-
}), renderDropdownButton({
|
|
64
|
-
config: config,
|
|
65
|
-
handleUpdateRole: handleUpdateRole,
|
|
66
|
-
handleUpdateStatus: handleUpdateStatus,
|
|
67
|
-
tableData: tableData
|
|
68
|
-
})]
|
|
69
|
-
});
|
|
70
|
-
};
|
|
71
|
-
var renderDropdownButton = function renderDropdownButton(_ref2) {
|
|
72
|
-
var _config$table, _config$table$dropdow;
|
|
73
|
-
var config = _ref2.config,
|
|
74
|
-
handleUpdateRole = _ref2.handleUpdateRole,
|
|
75
|
-
handleUpdateStatus = _ref2.handleUpdateStatus,
|
|
76
|
-
tableData = _ref2.tableData;
|
|
77
|
-
return /*#__PURE__*/jsx(MoreDropdown, {
|
|
78
|
-
isDisabled: not(config.permissions.update),
|
|
79
|
-
dropdownButtonProps: {
|
|
80
|
-
"data-testid": "ntm-members-table-row-dropdown-button",
|
|
81
|
-
tooltipProps: {
|
|
82
|
-
content: i18next.t("neetoTeamMembers.tooltips.noPermissionToEditMembers"),
|
|
83
|
-
disabled: config.permissions.update,
|
|
84
|
-
position: "top"
|
|
85
|
-
}
|
|
86
|
-
},
|
|
87
|
-
menuTopChildren: /*#__PURE__*/jsxs(Fragment, {
|
|
88
|
-
children: [/*#__PURE__*/jsx(DropdownMenuItem, {
|
|
89
|
-
className: "cursor-pointer",
|
|
90
|
-
"data-testid": "ntm-edit-member-button",
|
|
91
|
-
onClick: function onClick() {
|
|
92
|
-
return handleUpdateRole(tableData);
|
|
93
|
-
},
|
|
94
|
-
children: i18next.t("neetoTeamMembers.common.edit")
|
|
95
|
-
}), 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__*/jsx(DropdownMenuItem, {
|
|
96
|
-
className: "cursor-pointer",
|
|
97
|
-
"data-testid": "ntm-deactivate-member-button",
|
|
98
|
-
onClick: function onClick() {
|
|
99
|
-
return handleUpdateStatus(tableData);
|
|
100
|
-
},
|
|
101
|
-
children: i18next.t("neetoTeamMembers.common.remove")
|
|
102
|
-
})]
|
|
103
|
-
})
|
|
104
|
-
});
|
|
105
|
-
};
|
|
106
|
-
var getDefaultAlertTitle = function getDefaultAlertTitle(_ref3) {
|
|
107
|
-
var member = _ref3.member;
|
|
108
|
-
return member !== null && member !== void 0 && member.active ? i18next.t("neetoTeamMembers.common.remove_", {
|
|
109
|
-
what: taxonomies.member.singular
|
|
110
|
-
}) : i18next.t("neetoTeamMembers.common.activate_", {
|
|
111
|
-
what: taxonomies.member.singular
|
|
112
|
-
});
|
|
113
|
-
};
|
|
114
|
-
var getDefaultAlertMessage = function getDefaultAlertMessage(_ref4) {
|
|
115
|
-
var member = _ref4.member;
|
|
116
|
-
return /*#__PURE__*/jsx(Trans, {
|
|
117
|
-
i18nKey: "neetoTeamMembers.alerts.messages.removeMember",
|
|
118
|
-
values: _objectSpread(_objectSpread({}, SINGULAR), {}, {
|
|
119
|
-
person: member === null || member === void 0 ? void 0 : member.displayName
|
|
120
|
-
})
|
|
121
|
-
});
|
|
122
|
-
};
|
|
123
|
-
var getDefaultColumns = function getDefaultColumns(_ref5) {
|
|
124
|
-
var config = _ref5.config,
|
|
125
|
-
handleUpdateRole = _ref5.handleUpdateRole,
|
|
126
|
-
handleUpdateStatus = _ref5.handleUpdateStatus,
|
|
127
|
-
otherColumns = _ref5.otherColumns,
|
|
128
|
-
isSize = _ref5.isSize;
|
|
129
|
-
return [{
|
|
130
|
-
accessorKey: "name",
|
|
131
|
-
id: "name",
|
|
132
|
-
size: 300,
|
|
133
|
-
enablePinning: isNotEmpty(otherColumns) && !isSize("mobile"),
|
|
134
|
-
cell: function cell(_ref6) {
|
|
135
|
-
var row = _ref6.row;
|
|
136
|
-
return renderNameColumn({
|
|
137
|
-
config: config,
|
|
138
|
-
handleUpdateRole: handleUpdateRole,
|
|
139
|
-
handleUpdateStatus: handleUpdateStatus,
|
|
140
|
-
tableData: row.original
|
|
141
|
-
});
|
|
142
|
-
},
|
|
143
|
-
enableSorting: true,
|
|
144
|
-
header: i18next.t("neetoTeamMembers.common.name"),
|
|
145
|
-
enableHiding: false
|
|
146
|
-
}, {
|
|
147
|
-
accessorKey: "email",
|
|
148
|
-
id: "email",
|
|
149
|
-
enableSorting: true,
|
|
150
|
-
size: 350,
|
|
151
|
-
header: i18next.t("neetoTeamMembers.common.email", SINGULAR)
|
|
152
|
-
}, {
|
|
153
|
-
accessorKey: "role",
|
|
154
|
-
enableSorting: true,
|
|
155
|
-
size: 200,
|
|
156
|
-
header: i18next.t("neetoTeamMembers.common.role", SINGULAR)
|
|
157
|
-
}];
|
|
158
|
-
};
|
|
159
|
-
var removeExcludedRole = curry(function (excludedRoles, role) {
|
|
160
|
-
return !(excludedRoles !== null && excludedRoles !== void 0 && excludedRoles.includes(role === null || role === void 0 ? void 0 : role.name));
|
|
161
|
-
});
|
|
162
|
-
var getColumnData = function getColumnData(_ref7) {
|
|
163
|
-
var _config$otherColumns;
|
|
164
|
-
var config = _ref7.config,
|
|
165
|
-
handleUpdateRole = _ref7.handleUpdateRole,
|
|
166
|
-
handleUpdateStatus = _ref7.handleUpdateStatus,
|
|
167
|
-
isSize = _ref7.isSize;
|
|
168
|
-
var otherColumns = (_config$otherColumns = config === null || config === void 0 ? void 0 : config.otherColumns) !== null && _config$otherColumns !== void 0 ? _config$otherColumns : [];
|
|
169
|
-
var defaultColumns = getDefaultColumns({
|
|
170
|
-
config: config,
|
|
171
|
-
handleUpdateRole: handleUpdateRole,
|
|
172
|
-
handleUpdateStatus: handleUpdateStatus,
|
|
173
|
-
otherColumns: otherColumns,
|
|
174
|
-
isSize: isSize
|
|
175
|
-
});
|
|
176
|
-
var columns = defaultColumns.map(function (column) {
|
|
177
|
-
var otherColumn = otherColumns.find(function (col) {
|
|
178
|
-
return identical(col.accessorKey || col.id, column.accessorKey || column.id);
|
|
179
|
-
});
|
|
180
|
-
return otherColumn || column;
|
|
181
|
-
});
|
|
182
|
-
otherColumns.forEach(function (otherColumn) {
|
|
183
|
-
var key = otherColumn.accessorKey || otherColumn.id;
|
|
184
|
-
var exists = columns.find(function (col) {
|
|
185
|
-
return identical(col.accessorKey || col.id, key);
|
|
186
|
-
});
|
|
187
|
-
if (!exists) columns.push(otherColumn);
|
|
188
|
-
});
|
|
189
|
-
return columns;
|
|
190
|
-
};
|
|
191
|
-
var renderUpdateAlert = function renderUpdateAlert(field, props) {
|
|
192
|
-
var _config$alert;
|
|
193
|
-
var config = props.config,
|
|
194
|
-
member = props.member;
|
|
195
|
-
if (config !== null && config !== void 0 && (_config$alert = config.alert) !== null && _config$alert !== void 0 && _config$alert[field]) {
|
|
196
|
-
var _config$alert2;
|
|
197
|
-
return (_config$alert2 = config.alert) === null || _config$alert2 === void 0 ? void 0 : _config$alert2[field]({
|
|
198
|
-
active: member === null || member === void 0 ? void 0 : member.active,
|
|
199
|
-
id: member === null || member === void 0 ? void 0 : member.id,
|
|
200
|
-
name: member === null || member === void 0 ? void 0 : member.displayName
|
|
201
|
-
});
|
|
202
|
-
}
|
|
203
|
-
return field === "title" ? getDefaultAlertTitle(props) : getDefaultAlertMessage(props);
|
|
204
|
-
};
|
|
205
|
-
var handlePageChange = function handlePageChange(setFilters, history) {
|
|
206
|
-
return function (page, pageSize) {
|
|
207
|
-
var searchParams = getQueryParams({
|
|
208
|
-
toCamelCase: false
|
|
209
|
-
});
|
|
210
|
-
history.replace(buildUrl(window.location.pathname, mergeLeft({
|
|
211
|
-
page: page,
|
|
212
|
-
page_size: pageSize
|
|
213
|
-
}, searchParams)));
|
|
214
|
-
setFilters(mergeLeft({
|
|
215
|
-
page: page,
|
|
216
|
-
pageSize: pageSize
|
|
217
|
-
}));
|
|
218
|
-
};
|
|
219
|
-
};
|
|
220
|
-
var defaultNeetoFiltersColumns = function defaultNeetoFiltersColumns() {
|
|
221
|
-
return [{
|
|
222
|
-
key: "email",
|
|
223
|
-
label: i18next.t("neetoTeamMembers.common.email", SINGULAR),
|
|
224
|
-
model: "User",
|
|
225
|
-
node: "email",
|
|
226
|
-
showRuleSelector: true,
|
|
227
|
-
type: "text"
|
|
228
|
-
}, {
|
|
229
|
-
key: "name",
|
|
230
|
-
label: i18next.t("neetoTeamMembers.common.name"),
|
|
231
|
-
model: "User",
|
|
232
|
-
node: "first_name,last_name",
|
|
233
|
-
type: "text",
|
|
234
|
-
values: ""
|
|
235
|
-
}, {
|
|
236
|
-
key: "role",
|
|
237
|
-
label: i18next.t("neetoTeamMembers.common.role", SINGULAR),
|
|
238
|
-
model: "OrganizationRole",
|
|
239
|
-
node: "organization_role.name",
|
|
240
|
-
type: "multi_option",
|
|
241
|
-
values: []
|
|
242
|
-
}];
|
|
243
|
-
};
|
|
244
|
-
var buildFilterColumns = function buildFilterColumns(_ref8) {
|
|
245
|
-
var _ref8$options = _ref8.options,
|
|
246
|
-
_ref8$options$emails = _ref8$options.emails,
|
|
247
|
-
emails = _ref8$options$emails === void 0 ? [] : _ref8$options$emails,
|
|
248
|
-
_ref8$options$organiz = _ref8$options.organizationRoles,
|
|
249
|
-
organizationRoles = _ref8$options$organiz === void 0 ? [] : _ref8$options$organiz,
|
|
250
|
-
_ref8$emailConfig = _ref8.emailConfig,
|
|
251
|
-
setSearchTerm = _ref8$emailConfig.setSearchTerm,
|
|
252
|
-
isLoading = _ref8$emailConfig.isLoading;
|
|
253
|
-
var columnValues = {
|
|
254
|
-
email: emails.map(toLabelAndValue),
|
|
255
|
-
role: organizationRoles.map(toLabelAndValue)
|
|
256
|
-
};
|
|
257
|
-
return defaultNeetoFiltersColumns().map(function (column) {
|
|
258
|
-
var values = columnValues[column.key];
|
|
259
|
-
if (column.key === "role") return assoc("values", values, column);
|
|
260
|
-
var emailConfig = {
|
|
261
|
-
values: values,
|
|
262
|
-
isLoading: isLoading,
|
|
263
|
-
onInputChange: setSearchTerm
|
|
264
|
-
};
|
|
265
|
-
return mergeLeft(emailConfig, column);
|
|
266
|
-
});
|
|
267
|
-
};
|
|
268
|
-
var getFilteredRoles = function getFilteredRoles() {
|
|
269
|
-
var roles = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
270
|
-
var config = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
271
|
-
return filter(removeExcludedRole(config === null || config === void 0 ? void 0 : config.excludedRoles), roles);
|
|
272
|
-
};
|
|
273
|
-
var generateNoDataContent = function generateNoDataContent(_ref9) {
|
|
274
|
-
var buttonProps = _ref9.buttonProps;
|
|
275
|
-
var disabled = buttonProps.disabled,
|
|
276
|
-
onClick = buttonProps.onClick;
|
|
277
|
-
var noDataTitle = i18next.t("neetoTeamMembers.common.memberEmptyTitle", {
|
|
278
|
-
what: taxonomies.member.plural
|
|
279
|
-
});
|
|
280
|
-
var noDataDescription = i18next.t("neetoTeamMembers.common.memberEmptyDescription", {
|
|
281
|
-
what: taxonomies.member.plural
|
|
282
|
-
});
|
|
283
|
-
var noDataButtonProps = {
|
|
284
|
-
"data-testid": "ntm-add-member-button",
|
|
285
|
-
disabled: disabled,
|
|
286
|
-
label: i18next.t("neetoTeamMembers.common.addNew_", {
|
|
287
|
-
what: taxonomies.member.singular
|
|
288
|
-
}),
|
|
289
|
-
onClick: onClick
|
|
290
|
-
};
|
|
291
|
-
return {
|
|
292
|
-
noDataTitle: noDataTitle,
|
|
293
|
-
noDataDescription: noDataDescription,
|
|
294
|
-
noDataIcon: Users,
|
|
295
|
-
noDataButtonProps: noDataButtonProps
|
|
296
|
-
};
|
|
297
|
-
};
|
|
298
|
-
|
|
299
|
-
export { DEFAULT_FILTER_VALUES as D, DEFAULT_IS_OPEN_VALUES as a, buildFilterColumns as b, DEFAULT_SELECTED_ROWS as c, defaultNeetoFiltersColumns as d, getColumnData as e, generateNoDataContent as f, getFilteredRoles as g, handlePageChange as h, DEFAULT_RADIX as i, renderUpdateAlert as r };
|
|
300
|
-
//# sourceMappingURL=utils-DEOuQRcK.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils-DEOuQRcK.js","sources":["../app/javascript/src/v2/components/TeamMembers/constants.js","../app/javascript/src/v2/components/TeamMembers/utils.jsx"],"sourcesContent":["import {\n DEFAULT_PAGE_INDEX,\n DEFAULT_PAGE_SIZE,\n} from \"neetocommons/v2/constants\";\nimport { getQueryParams } from \"neetocommons/v2/utils\";\nimport { clamp } from \"ramda\";\n\nconst { page, pageSize } = getQueryParams();\n\nexport const DEFAULT_RADIX = 10;\n\nexport const DEFAULT_IS_OPEN_VALUES = {\n menuBar: false,\n manageMember: false,\n alert: false,\n};\n\nexport const DEFAULT_FILTER_VALUES = {\n page: clamp(1, Infinity, parseInt(page)) || DEFAULT_PAGE_INDEX,\n pageSize: clamp(10, 100, parseInt(pageSize)) || DEFAULT_PAGE_SIZE,\n sortBy: undefined,\n orderBy: undefined,\n neetoFilters: [],\n};\n\nexport const DEFAULT_SELECTED_ROWS = {\n active: [],\n emails: [],\n keys: [],\n displayNames: [],\n};\n\nexport const TEAM_MEMBERS_HIDDEN_COLUMNS = \"TEAM_MEMBERS_TABLE_HIDDEN_COLUMNS\";\n","import { Avatar, Typography } from \"@bigbinary/neeto-atoms\";\nimport { DropdownMenuItem } from \"@bigbinary/neeto-atoms/primitives\";\nimport i18next from \"i18next\";\nimport { Users } from \"lucide-react\";\nimport { isNotEmpty, toLabelAndValue } from \"neetocist\";\nimport { SINGULAR } from \"neetocommons/v2/constants\";\nimport { taxonomies } from \"neetocommons/v2/initializers\";\nimport { buildUrl, getQueryParams, hyphenize } from \"neetocommons/v2/utils\";\nimport MoreDropdown from \"neetomolecules/v2/MoreDropdown\";\nimport { assoc, curry, filter, identical, mergeLeft, not } from \"ramda\";\nimport { Trans } from \"react-i18next\";\n\nimport { DEFAULT_RADIX } from \"./constants\";\n\nconst renderNameColumn = ({\n config,\n handleUpdateRole,\n handleUpdateStatus,\n tableData,\n}) => {\n const { displayName: name, profileImageUrl: imageUrl } = tableData;\n\n return (\n <div className=\"flex w-full justify-between gap-3\">\n <div className=\"flex items-center gap-2\">\n <Avatar className=\"size-8\" user={{ name, imageUrl }} />\n <Typography\n className=\"whitespace-normal\"\n data-testid={`ntm-member-name-${hyphenize(name)}`}\n variant=\"body3\"\n >\n {name}\n </Typography>\n </div>\n {renderDropdownButton({\n config,\n handleUpdateRole,\n handleUpdateStatus,\n tableData,\n })}\n </div>\n );\n};\n\nconst renderDropdownButton = ({\n config,\n handleUpdateRole,\n handleUpdateStatus,\n tableData,\n}) => (\n <MoreDropdown\n isDisabled={not(config.permissions.update)}\n dropdownButtonProps={{\n \"data-testid\": \"ntm-members-table-row-dropdown-button\",\n tooltipProps: {\n content: i18next.t(\n \"neetoTeamMembers.tooltips.noPermissionToEditMembers\"\n ),\n disabled: config.permissions.update,\n position: \"top\",\n },\n }}\n menuTopChildren={\n <>\n <DropdownMenuItem\n className=\"cursor-pointer\"\n data-testid=\"ntm-edit-member-button\"\n onClick={() => handleUpdateRole(tableData)}\n >\n {i18next.t(\"neetoTeamMembers.common.edit\")}\n </DropdownMenuItem>\n {config?.table?.dropdownProps?.(tableData)}\n <DropdownMenuItem\n className=\"cursor-pointer\"\n data-testid=\"ntm-deactivate-member-button\"\n onClick={() => handleUpdateStatus(tableData)}\n >\n {i18next.t(\"neetoTeamMembers.common.remove\")}\n </DropdownMenuItem>\n </>\n }\n />\n);\n\nconst getDefaultAlertTitle = ({ member }) =>\n member?.active\n ? i18next.t(\"neetoTeamMembers.common.remove_\", {\n what: taxonomies.member.singular,\n })\n : i18next.t(\"neetoTeamMembers.common.activate_\", {\n what: taxonomies.member.singular,\n });\n\nconst getDefaultAlertMessage = ({ member }) => (\n <Trans\n i18nKey=\"neetoTeamMembers.alerts.messages.removeMember\"\n values={{ ...SINGULAR, person: member?.displayName }}\n />\n);\n\nconst getDefaultColumns = ({\n config,\n handleUpdateRole,\n handleUpdateStatus,\n otherColumns,\n isSize,\n}) => [\n {\n accessorKey: \"name\",\n id: \"name\",\n size: 300,\n enablePinning: isNotEmpty(otherColumns) && !isSize(\"mobile\"),\n cell: ({ row }) =>\n renderNameColumn({\n config,\n handleUpdateRole,\n handleUpdateStatus,\n tableData: row.original,\n }),\n enableSorting: true,\n header: i18next.t(\"neetoTeamMembers.common.name\"),\n enableHiding: false,\n },\n {\n accessorKey: \"email\",\n id: \"email\",\n enableSorting: true,\n size: 350,\n header: i18next.t(\"neetoTeamMembers.common.email\", SINGULAR),\n },\n {\n accessorKey: \"role\",\n enableSorting: true,\n size: 200,\n header: i18next.t(\"neetoTeamMembers.common.role\", SINGULAR),\n },\n];\n\nconst removeExcludedRole = curry(\n (excludedRoles, role) => !excludedRoles?.includes(role?.name)\n);\n\nexport const getColumnData = ({\n config,\n handleUpdateRole,\n handleUpdateStatus,\n isSize,\n}) => {\n const otherColumns = config?.otherColumns ?? [];\n const defaultColumns = getDefaultColumns({\n config,\n handleUpdateRole,\n handleUpdateStatus,\n otherColumns,\n isSize,\n });\n\n const columns = defaultColumns.map(column => {\n const otherColumn = otherColumns.find(col =>\n identical(col.accessorKey || col.id, column.accessorKey || column.id)\n );\n\n return otherColumn || column;\n });\n\n otherColumns.forEach(otherColumn => {\n const key = otherColumn.accessorKey || otherColumn.id;\n const exists = columns.find(col =>\n identical(col.accessorKey || col.id, key)\n );\n if (!exists) columns.push(otherColumn);\n });\n\n return columns;\n};\n\nexport const renderUpdateAlert = (field, props) => {\n const { config, member } = props;\n\n if (config?.alert?.[field]) {\n return config.alert?.[field]({\n active: member?.active,\n id: member?.id,\n name: member?.displayName,\n });\n }\n\n return field === \"title\"\n ? getDefaultAlertTitle(props)\n : getDefaultAlertMessage(props);\n};\n\nexport const handlePageChange = (setFilters, history) => (page, pageSize) => {\n const searchParams = getQueryParams({ toCamelCase: false });\n history.replace(\n buildUrl(\n window.location.pathname,\n mergeLeft({ page, page_size: pageSize }, searchParams)\n )\n );\n setFilters(mergeLeft({ page, pageSize }));\n};\n\nexport const renderPaginationProps = size => ({\n pageSize: parseInt(size, DEFAULT_RADIX),\n});\n\nexport const defaultNeetoFiltersColumns = () => [\n {\n key: \"email\",\n label: i18next.t(\"neetoTeamMembers.common.email\", SINGULAR),\n model: \"User\",\n node: \"email\",\n showRuleSelector: true,\n type: \"text\",\n },\n {\n key: \"name\",\n label: i18next.t(\"neetoTeamMembers.common.name\"),\n model: \"User\",\n node: \"first_name,last_name\",\n type: \"text\",\n values: \"\",\n },\n {\n key: \"role\",\n label: i18next.t(\"neetoTeamMembers.common.role\", SINGULAR),\n model: \"OrganizationRole\",\n node: \"organization_role.name\",\n type: \"multi_option\",\n values: [],\n },\n];\n\nexport const buildFilterColumns = ({\n options: { emails = [], organizationRoles = [] },\n emailConfig: { setSearchTerm, isLoading },\n}) => {\n const columnValues = {\n email: emails.map(toLabelAndValue),\n role: organizationRoles.map(toLabelAndValue),\n };\n\n return defaultNeetoFiltersColumns().map(column => {\n const values = columnValues[column.key];\n if (column.key === \"role\") return assoc(\"values\", values, column);\n\n const emailConfig = {\n values,\n isLoading,\n onInputChange: setSearchTerm,\n };\n\n return mergeLeft(emailConfig, column);\n });\n};\n\nexport const getFilteredRoles = (roles = [], config = {}) =>\n filter(removeExcludedRole(config?.excludedRoles), roles);\n\nexport const generateNoDataContent = ({ buttonProps }) => {\n const { disabled, onClick } = buttonProps;\n\n const noDataTitle = i18next.t(\"neetoTeamMembers.common.memberEmptyTitle\", {\n what: taxonomies.member.plural,\n });\n\n const noDataDescription = i18next.t(\n \"neetoTeamMembers.common.memberEmptyDescription\",\n { what: taxonomies.member.plural }\n );\n\n const noDataButtonProps = {\n \"data-testid\": \"ntm-add-member-button\",\n disabled,\n label: i18next.t(\"neetoTeamMembers.common.addNew_\", {\n what: taxonomies.member.singular,\n }),\n onClick,\n };\n\n return {\n noDataTitle,\n noDataDescription,\n noDataIcon: Users,\n noDataButtonProps,\n };\n};\n"],"names":["_getQueryParams","getQueryParams","page","pageSize","DEFAULT_RADIX","DEFAULT_IS_OPEN_VALUES","menuBar","manageMember","alert","DEFAULT_FILTER_VALUES","clamp","Infinity","parseInt","DEFAULT_PAGE_INDEX","DEFAULT_PAGE_SIZE","sortBy","undefined","orderBy","neetoFilters","DEFAULT_SELECTED_ROWS","active","emails","keys","displayNames","renderNameColumn","_ref","config","handleUpdateRole","handleUpdateStatus","tableData","name","displayName","imageUrl","profileImageUrl","_jsxs","className","children","_jsx","Avatar","user","Typography","concat","hyphenize","variant","renderDropdownButton","_ref2","_config$table","_config$table$dropdow","MoreDropdown","isDisabled","not","permissions","update","dropdownButtonProps","tooltipProps","content","i18next","t","disabled","position","menuTopChildren","_Fragment","DropdownMenuItem","onClick","table","dropdownProps","call","getDefaultAlertTitle","_ref3","member","what","taxonomies","singular","getDefaultAlertMessage","_ref4","Trans","i18nKey","values","_objectSpread","SINGULAR","person","getDefaultColumns","_ref5","otherColumns","isSize","accessorKey","id","size","enablePinning","isNotEmpty","cell","_ref6","row","original","enableSorting","header","enableHiding","removeExcludedRole","curry","excludedRoles","role","includes","getColumnData","_ref7","_config$otherColumns","defaultColumns","columns","map","column","otherColumn","find","col","identical","forEach","key","exists","push","renderUpdateAlert","field","props","_config$alert","_config$alert2","handlePageChange","setFilters","history","searchParams","toCamelCase","replace","buildUrl","window","location","pathname","mergeLeft","page_size","defaultNeetoFiltersColumns","label","model","node","showRuleSelector","type","buildFilterColumns","_ref8","_ref8$options","options","_ref8$options$emails","_ref8$options$organiz","organizationRoles","_ref8$emailConfig","emailConfig","setSearchTerm","isLoading","columnValues","email","toLabelAndValue","assoc","onInputChange","getFilteredRoles","roles","arguments","length","filter","generateNoDataContent","_ref9","buttonProps","noDataTitle","plural","noDataDescription","noDataButtonProps","noDataIcon","Users"],"mappings":"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"}
|