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