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