@bigbinary/neeto-molecules 4.0.92 → 4.0.94

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.
@@ -1,307 +1,59 @@
1
1
  'use strict';
2
2
 
3
3
  var _defineProperty = require('@babel/runtime/helpers/defineProperty');
4
- var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
5
- var React = require('react');
6
4
  var neetoCist = require('@bigbinary/neeto-cist');
7
5
  var constants = require('@bigbinary/neeto-commons-frontend/constants');
8
6
  var reactUtils = require('@bigbinary/neeto-commons-frontend/react-utils');
9
7
  var NoData = require('@bigbinary/neetoui/NoData');
10
- var Table = require('@bigbinary/neetoui/Table');
11
- var Typography = require('@bigbinary/neetoui/Typography');
12
8
  var Spinner = require('@bigbinary/neetoui/Spinner');
9
+ var Pagination = require('@bigbinary/neetoui/Pagination');
13
10
  var reactI18next = require('react-i18next');
14
11
  var Container = require('./Container.js');
15
12
  var Header = require('./Header.js');
16
- var SubHeader = require('./SubHeader.js');
17
- var TableWrapper = require('./TableWrapper.js');
18
- var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
19
- var Pane = require('@bigbinary/neetoui/Pane');
20
- var jsxRuntime = require('react/jsx-runtime');
21
- var i18next = require('i18next');
13
+ var classnames = require('classnames');
22
14
  var utils = require('@bigbinary/neeto-commons-frontend/utils');
23
- var Button = require('@bigbinary/neetoui/Button');
15
+ var Typography = require('@bigbinary/neetoui/Typography');
16
+ var User = require('@bigbinary/neeto-icons/User');
17
+ var UserAdd = require('@bigbinary/neeto-icons/UserAdd');
18
+ var UserCircle = require('@bigbinary/neeto-icons/UserCircle');
19
+ var UserRemove = require('@bigbinary/neeto-icons/UserRemove');
20
+ var UserSettings = require('@bigbinary/neeto-icons/UserSettings');
21
+ var CustomDomain = require('@bigbinary/neeto-icons/CustomDomain');
22
+ var GoogleCalendar = require('@bigbinary/neeto-icons/misc/GoogleCalendar');
23
+ var Zoom = require('@bigbinary/neeto-icons/misc/Zoom');
24
+ var Stripe = require('@bigbinary/neeto-icons/misc/Stripe');
25
+ var StripeTypeface = require('@bigbinary/neeto-icons/misc/StripeTypeface');
26
+ var ramda = require('ramda');
27
+ var initializers = require('@bigbinary/neeto-commons-frontend/initializers');
28
+ var jsxRuntime = require('react/jsx-runtime');
24
29
  var reactQuery = require('@tanstack/react-query');
25
30
  var axios = require('axios');
26
- require('classnames');
31
+ var React = require('react');
27
32
  require('./index-JY2zVpnv.js');
28
33
  require('./_commonjsHelpers-BJu3ubxk.js');
29
34
  require('./inject-css-B6qYtOJe.js');
35
+ require('@babel/runtime/helpers/objectWithoutProperties');
30
36
  require('./Breadcrumbs.js');
31
37
  require('@bigbinary/neeto-commons-frontend/utils/general');
32
38
  require('react-router-dom');
33
39
  require('./HelpPopover.js');
34
40
  require('@bigbinary/neeto-icons/Help');
41
+ require('@bigbinary/neetoui/Button');
35
42
  require('@bigbinary/neetoui/Popover');
36
43
  require('./MoreDropdown.js');
37
44
  require('@bigbinary/neeto-icons/MenuHorizontal');
38
45
  require('@bigbinary/neeto-icons/MenuVertical');
39
46
  require('@bigbinary/neetoui/Dropdown');
40
47
  require('@bigbinary/neetoui/Tooltip');
41
- require('ramda');
42
48
  require('./Search.js');
49
+ require('@babel/runtime/helpers/slicedToArray');
43
50
  require('@bigbinary/neeto-commons-frontend/react-utils/useFuncDebounce');
44
51
  require('@bigbinary/neeto-commons-frontend/react-utils/useQueryParams');
45
52
  require('@bigbinary/neeto-commons-frontend/react-utils/useUpdateEffect');
46
53
  require('@bigbinary/neeto-icons/Search');
47
54
  require('@bigbinary/neetoui/Input');
48
- require('@bigbinary/neeto-icons/Column');
49
- require('./Columns-DHPNrFgq.js');
50
- require('@babel/runtime/helpers/toConsumableArray');
51
- require('@dnd-kit/core');
52
- require('@dnd-kit/sortable');
53
- require('@bigbinary/neetoui/Checkbox');
54
- require('@bigbinary/neetoui/Label');
55
- require('@bigbinary/neeto-icons/Reorder');
56
- require('@bigbinary/neeto-commons-frontend/react-utils/useMutationWithInvalidation');
57
- require('@bigbinary/neeto-icons/Download');
58
- require('@bigbinary/neeto-filters-frontend/Filters');
59
- require('@bigbinary/neeto-icons/Filter');
60
-
61
- var LabelledDetail = function LabelledDetail(_ref) {
62
- var label = _ref.label,
63
- value = _ref.value;
64
- return /*#__PURE__*/jsxRuntime.jsx(Typography, {
65
- className: "mb-4",
66
- style: "body2",
67
- children: /*#__PURE__*/jsxRuntime.jsx(reactI18next.Trans, {
68
- components: {
69
- strong: /*#__PURE__*/jsxRuntime.jsx("strong", {})
70
- },
71
- i18nKey: "neetoMolecules.auditLogs.additionalDetails.".concat(label),
72
- values: {
73
- value: value
74
- }
75
- })
76
- });
77
- };
78
-
79
- var DATE_FORMATS = {
80
- "%d/%m/%Y": "DD/MM/YYYY",
81
- "%m/%d/%Y": "MM/DD/YYYY",
82
- "%Y/%m/%d": "YYYY/MM/DD"
83
- };
84
- var DETAILS_KEYS = {
85
- AFFECTED_EMAIL: "affectedEmail",
86
- ERROR_MESSAGE: "errorMessage",
87
- NAME: "name",
88
- ORGANIZATION_ROLE: "organizationRole",
89
- GENERIC_DETAILS: "details",
90
- ADDED_PERMISSIONS: "addedPermissions",
91
- REMOVED_PERMISSIONS: "removedPermissions"
92
- };
93
- var EMAILS_TABLE_COLUMN_DATA = [{
94
- title: i18next.t("neetoMolecules.auditLogs.details.emails.title"),
95
- key: "email",
96
- dataIndex: "email"
97
- }];
98
- var CHANGELOG_COLUMN_DATA = [{
99
- title: i18next.t("neetoMolecules.auditLogs.details.changelog.field"),
100
- key: "field",
101
- dataIndex: "field",
102
- ellipsis: false
103
- }, {
104
- title: i18next.t("neetoMolecules.auditLogs.details.changelog.from"),
105
- key: "from",
106
- dataIndex: "from",
107
- width: "38%",
108
- ellipsis: false
109
- }, {
110
- title: i18next.t("neetoMolecules.auditLogs.details.changelog.to"),
111
- key: "to",
112
- dataIndex: "to",
113
- width: "38%",
114
- ellipsis: false
115
- }];
116
-
117
- var formatToFromValue = function formatToFromValue(value) {
118
- if (value === true) {
119
- return i18next.t("neetoMolecules.auditLogs.details.changelog.true");
120
- }
121
- if (value === false) {
122
- return i18next.t("neetoMolecules.auditLogs.details.changelog.false");
123
- }
124
- if (value === null) return "-";
125
- return value;
126
- };
127
- var transformDateFormat = function transformDateFormat(rawDateFormat) {
128
- return DATE_FORMATS[rawDateFormat];
129
- };
130
- var getFormattedValue = function getFormattedValue(field, value) {
131
- return field === "dateFormat" ? transformDateFormat(value) : formatToFromValue(value);
132
- };
133
- var formatEmails = function formatEmails(emails) {
134
- return emails.map(function (email) {
135
- return {
136
- email: email
137
- };
138
- });
139
- };
140
- var formatChangeLog = function formatChangeLog(changes) {
141
- return Object.entries(changes).map(function (_ref) {
142
- var _ref2 = _slicedToArray(_ref, 2),
143
- field = _ref2[0],
144
- _ref2$ = _ref2[1],
145
- from = _ref2$.from,
146
- to = _ref2$.to;
147
- var formattedField = neetoCist._humanize(field);
148
- return {
149
- field: formattedField,
150
- from: getFormattedValue(field, from),
151
- to: getFormattedValue(field, to)
152
- };
153
- });
154
- };
155
- var getFullName = function getFullName(firstName) {
156
- var lastName = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "";
157
- return "".concat(firstName, " ").concat(lastName).trim();
158
- };
159
- var getLabel = function getLabel(_ref3) {
160
- var firstName = _ref3.firstName,
161
- lastName = _ref3.lastName,
162
- organizationRole = _ref3.organizationRole;
163
- if (firstName || lastName) {
164
- return DETAILS_KEYS.NAME;
165
- }
166
- if (organizationRole) {
167
- return DETAILS_KEYS.ORGANIZATION_ROLE;
168
- }
169
- return DETAILS_KEYS.GENERIC_DETAILS;
170
- };
171
- var formatPermissionsChangeLog = function formatPermissionsChangeLog(_ref4) {
172
- var from = _ref4.from,
173
- to = _ref4.to;
174
- return [{
175
- field: i18next.t("neetoMolecules.auditLogs.details.permissions.description"),
176
- from: getFormattedValue("description", from),
177
- to: getFormattedValue("description", to)
178
- }];
179
- };
180
- var transformPermissions = function transformPermissions(permissions) {
181
- return permissions.map(function (permission) {
182
- var humanizedParts = permission.split(".").map(neetoCist._humanize);
183
- return humanizedParts.join(" - ");
184
- }).join(", ");
185
- };
186
-
187
- var GenericChangelog = function GenericChangelog(_ref) {
188
- var details = _ref.details;
189
- var _useTranslation = reactI18next.useTranslation(),
190
- t = _useTranslation.t;
191
- var _details$email = details.email,
192
- email = _details$email === void 0 ? "" : _details$email,
193
- _details$changes = details.changes,
194
- changes = _details$changes === void 0 ? {} : _details$changes,
195
- _details$errorMessage = details.errorMessage,
196
- errorMessage = _details$errorMessage === void 0 ? "" : _details$errorMessage,
197
- status = details.status;
198
- return /*#__PURE__*/jsxRuntime.jsxs("div", {
199
- children: [/*#__PURE__*/jsxRuntime.jsx(LabelledDetail, {
200
- label: DETAILS_KEYS.AFFECTED_EMAIL,
201
- value: email
202
- }), neetoCist.isNotEmpty(changes) && status === "success" ? /*#__PURE__*/jsxRuntime.jsx("div", {
203
- className: "w-full min-w-0 max-w-full",
204
- children: /*#__PURE__*/jsxRuntime.jsx(Table, {
205
- columnData: CHANGELOG_COLUMN_DATA,
206
- enableColumnFreeze: false,
207
- enableColumnResize: false,
208
- rowData: formatChangeLog(changes),
209
- scroll: {
210
- x: "100%"
211
- }
212
- })
213
- }) : /*#__PURE__*/jsxRuntime.jsx(LabelledDetail, {
214
- label: DETAILS_KEYS.ERROR_MESSAGE,
215
- value: errorMessage || t("neetoMolecules.auditLogs.noError")
216
- })]
217
- });
218
- };
219
-
220
- var PermissionsChangelog = function PermissionsChangelog(_ref) {
221
- var details = _ref.details;
222
- var _details$description = details.description,
223
- description = _details$description === void 0 ? {} : _details$description,
224
- _details$organization = details.organizationRole,
225
- organizationRole = _details$organization === void 0 ? "" : _details$organization,
226
- _details$addedPermiss = details.addedPermissions,
227
- addedPermissions = _details$addedPermiss === void 0 ? [] : _details$addedPermiss,
228
- _details$removedPermi = details.removedPermissions,
229
- removedPermissions = _details$removedPermi === void 0 ? [] : _details$removedPermi;
230
- return /*#__PURE__*/jsxRuntime.jsxs("div", {
231
- children: [/*#__PURE__*/jsxRuntime.jsx(LabelledDetail, {
232
- label: DETAILS_KEYS.ORGANIZATION_ROLE,
233
- value: organizationRole
234
- }), neetoCist.isNotEmpty(addedPermissions) && /*#__PURE__*/jsxRuntime.jsx(LabelledDetail, {
235
- label: DETAILS_KEYS.ADDED_PERMISSIONS,
236
- value: transformPermissions(addedPermissions)
237
- }), neetoCist.isNotEmpty(removedPermissions) && /*#__PURE__*/jsxRuntime.jsx(LabelledDetail, {
238
- label: DETAILS_KEYS.REMOVED_PERMISSIONS,
239
- value: transformPermissions(removedPermissions)
240
- }), neetoCist.isNotEmpty(description) && /*#__PURE__*/jsxRuntime.jsx("div", {
241
- className: "w-full min-w-0 max-w-full",
242
- children: /*#__PURE__*/jsxRuntime.jsx(Table, {
243
- columnData: CHANGELOG_COLUMN_DATA,
244
- enableColumnFreeze: false,
245
- enableColumnResize: false,
246
- rowData: formatPermissionsChangeLog(description),
247
- scroll: {
248
- x: "100%"
249
- }
250
- })
251
- })]
252
- });
253
- };
254
-
255
- var Emails = function Emails(_ref) {
256
- var details = _ref.details;
257
- var _useTranslation = reactI18next.useTranslation(),
258
- t = _useTranslation.t;
259
- var _details$emails = details.emails,
260
- emails = _details$emails === void 0 ? [] : _details$emails,
261
- status = details.status,
262
- _details$errorMessage = details.errorMessage,
263
- errorMessage = _details$errorMessage === void 0 ? "" : _details$errorMessage;
264
- return /*#__PURE__*/jsxRuntime.jsx(jsxRuntime.Fragment, {
265
- children: neetoCist.isNotEmpty(emails) && status === "success" ? /*#__PURE__*/jsxRuntime.jsx("div", {
266
- className: "w-full min-w-0 max-w-full",
267
- children: /*#__PURE__*/jsxRuntime.jsx(Table, {
268
- columns: EMAILS_TABLE_COLUMN_DATA,
269
- enableColumnFreeze: false,
270
- enableColumnResize: false,
271
- loading: false,
272
- rowData: formatEmails(emails),
273
- scroll: {
274
- x: "100%"
275
- }
276
- })
277
- }) : /*#__PURE__*/jsxRuntime.jsx(LabelledDetail, {
278
- label: DETAILS_KEYS.ERROR_MESSAGE,
279
- value: errorMessage || t("neetoMolecules.auditLogs.noError")
280
- })
281
- });
282
- };
283
-
284
- var GenericDetails = function GenericDetails(_ref) {
285
- var details = _ref.details;
286
- var _details$firstName = details.firstName,
287
- firstName = _details$firstName === void 0 ? "" : _details$firstName,
288
- _details$lastName = details.lastName,
289
- lastName = _details$lastName === void 0 ? "" : _details$lastName,
290
- _details$organization = details.organizationRole,
291
- organizationRole = _details$organization === void 0 ? "" : _details$organization;
292
- var name = getFullName(firstName, lastName);
293
- var label = getLabel({
294
- firstName: firstName,
295
- lastName: lastName,
296
- organizationRole: organizationRole
297
- });
298
- var value = name || organizationRole || JSON.stringify(details);
299
- return /*#__PURE__*/jsxRuntime.jsx(LabelledDetail, {
300
- label: label,
301
- value: value
302
- });
303
- };
304
55
 
56
+ var _AUDIT_ICON_MAP;
305
57
  var AUDIT_LOGS_QUERY_KEY = "audit-logs";
306
58
  var ACTIONS = {
307
59
  INVITED_USERS: "invitedUsers",
@@ -311,131 +63,345 @@ var ACTIONS = {
311
63
  UPDATED_USER_PROFILE: "updatedUserProfile",
312
64
  CREATED_ROLE: "createdRole",
313
65
  UPDATED_ROLE: "updatedRole",
314
- DELETED_ROLE: "deletedRole"
66
+ DELETED_ROLE: "deletedRole",
67
+ CONNECTED_GOOGLE_CALENDER: "connectedGoogleCalendar",
68
+ DISCONNECTED_GOOGLE_CALENDER: "disconnectedGoogleCalendar",
69
+ CONNECTED_STRIPE_ACCOUNT: "connectedStripeAccount",
70
+ DISCONNECTED_STRIPE_ACCOUNT: "disconnectedStripeAccount",
71
+ CONNECTED_ZOOM_INTEGRATION: "connectedZoomIntegration",
72
+ DISCONNECTED_ZOOM_INTEGRATION: "disconnectedZoomIntegration",
73
+ CONNECTED_CUSTOM_DOMAIN: "connectedCustomDomain"
315
74
  };
316
- var ADDITIONAL_DETAILS_KEYS = {
317
- ACTION: "action",
318
- PERFORMED_BY: "performedBy",
319
- PERFORMED_AT: "performedAt",
320
- PRODUCT: "product"
75
+ var AUDIT_ICON_MAP = (_AUDIT_ICON_MAP = {}, _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_AUDIT_ICON_MAP, ACTIONS.INVITED_USERS, UserCircle), ACTIONS.USER_SIGNED_UP, UserAdd), ACTIONS.UPDATED_USER, User), ACTIONS.BULK_UPDATE_USERS, User), ACTIONS.UPDATED_USER_PROFILE, UserSettings), ACTIONS.CREATED_ROLE, UserAdd), ACTIONS.UPDATED_ROLE, UserSettings), ACTIONS.DELETED_ROLE, UserRemove), ACTIONS.CONNECTED_GOOGLE_CALENDER, GoogleCalendar), ACTIONS.DISCONNECTED_GOOGLE_CALENDER, GoogleCalendar), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_AUDIT_ICON_MAP, ACTIONS.CONNECTED_STRIPE_ACCOUNT, StripeTypeface), ACTIONS.DISCONNECTED_STRIPE_ACCOUNT, Stripe), ACTIONS.CONNECTED_ZOOM_INTEGRATION, Zoom), ACTIONS.DISCONNECTED_ZOOM_INTEGRATION, Zoom), ACTIONS.CONNECTED_CUSTOM_DOMAIN, CustomDomain));
76
+ var AUDIT_LOGS_PAGE_SIZE = 12;
77
+
78
+ function ownKeys$3(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; }
79
+ function _objectSpread$3(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$3(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$3(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
80
+ var Trans = function Trans(_ref) {
81
+ var i18nKey = _ref.i18nKey,
82
+ _ref$additionalValues = _ref.additionalValues,
83
+ additionalValues = _ref$additionalValues === void 0 ? {} : _ref$additionalValues,
84
+ _ref$additionalCompon = _ref.additionalComponents,
85
+ additionalComponents = _ref$additionalCompon === void 0 ? {} : _ref$additionalCompon;
86
+ return /*#__PURE__*/jsxRuntime.jsx(reactI18next.Trans, {
87
+ i18nKey: i18nKey,
88
+ components: _objectSpread$3({
89
+ Code: /*#__PURE__*/jsxRuntime.jsx(Typography, {
90
+ className: "neeto-ui-rounded-md neeto-ui-bg-gray-100 p-1",
91
+ component: "code",
92
+ style: "body3"
93
+ }),
94
+ Semibold: /*#__PURE__*/jsxRuntime.jsx(Typography, {
95
+ className: "n inline-block text-sm font-medium",
96
+ component: "p"
97
+ })
98
+ }, additionalComponents),
99
+ values: _objectSpread$3({
100
+ productSuffix: initializers.globalProps.appName
101
+ }, additionalValues)
102
+ });
321
103
  };
322
- var DETAILS_COMPONENT_MAP = _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, ACTIONS.INVITED_USERS, Emails), ACTIONS.BULK_UPDATE_USERS, Emails), ACTIONS.USER_SIGNED_UP, GenericDetails), ACTIONS.UPDATED_USER, GenericChangelog), ACTIONS.UPDATED_USER_PROFILE, GenericChangelog), ACTIONS.CREATED_ROLE, GenericDetails), ACTIONS.UPDATED_ROLE, PermissionsChangelog), ACTIONS.DELETED_ROLE, GenericDetails);
323
104
 
324
- var _excluded$1 = ["status"];
325
- function ownKeys$2(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
326
- function _objectSpread$2(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$2(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$2(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
105
+ var formatChangedFields = function formatChangedFields(changes) {
106
+ var fields = Object.keys(changes).map(function (field, index) {
107
+ var change = changes[field];
108
+ var element;
109
+ if (change && neetoCist.isPresent(change.from)) {
110
+ element = /*#__PURE__*/jsxRuntime.jsx("span", {
111
+ children: /*#__PURE__*/jsxRuntime.jsx(Trans, {
112
+ i18nKey: "neetoMolecules.auditLogs.text.updatedFieldsWithPreviousValue",
113
+ additionalValues: {
114
+ field: neetoCist.humanize(field),
115
+ from: change.from,
116
+ to: change.to
117
+ }
118
+ })
119
+ }, field);
120
+ } else {
121
+ element = /*#__PURE__*/jsxRuntime.jsx("span", {
122
+ children: /*#__PURE__*/jsxRuntime.jsx(Trans, {
123
+ additionalValues: {
124
+ field: neetoCist.humanize(field),
125
+ to: change.to
126
+ },
127
+ i18nKey: "neetoMolecules.auditLogs.text.updatedFieldsWithNewValue"
128
+ })
129
+ }, field);
130
+ }
131
+ return index > 0 ? [/*#__PURE__*/jsxRuntime.jsx("span", {
132
+ children: ", "
133
+ }, "sep-".concat(field)), element] : element;
134
+ });
135
+ return fields.flat();
136
+ };
327
137
  var transformAction = function transformAction(action) {
328
138
  return neetoCist.snakeToCamelCase(action.replace("audit_logs.organization.", ""));
329
139
  };
330
- var transformLogsForTable = function transformLogsForTable(logs) {
331
- return logs.map(function (_ref) {
332
- var id = _ref.id,
333
- action = _ref.key,
334
- _ref$metadata = _ref.metadata,
335
- status = _ref$metadata.status,
336
- restOfMetadata = _objectWithoutProperties(_ref$metadata, _excluded$1),
337
- _ref$performer$name = _ref.performer.name,
338
- performedBy = _ref$performer$name === void 0 ? "" : _ref$performer$name,
339
- performedAt = _ref.updatedAt;
340
- var transformedAction = transformAction(action);
341
- var formattedPerformedAt = utils.dateFormat.dateTime(performedAt);
342
- return {
343
- id: id,
344
- action: transformedAction,
345
- status: neetoCist.capitalize(status),
346
- performedAt: formattedPerformedAt,
347
- performedBy: performedBy,
348
- additionalDetails: _objectSpread$2(_objectSpread$2({}, restOfMetadata), {}, {
349
- action: transformedAction,
350
- performedAt: formattedPerformedAt,
351
- performedBy: performedBy,
352
- status: status
353
- })
354
- };
355
- });
356
- };
357
- var getColumnData = function getColumnData(handleClick) {
358
- return [{
359
- title: i18next.t("neetoMolecules.auditLogs.table.headers.action", constants.SINGULAR),
360
- key: "action",
361
- dataIndex: "action",
362
- render: function render(action, _ref2) {
363
- var additionalDetails = _ref2.additionalDetails;
364
- return /*#__PURE__*/jsxRuntime.jsx(Button, {
365
- "data-testid": "action-link-button",
366
- label: i18next.t("neetoMolecules.auditLogs.actions.".concat(action)),
367
- style: "link",
368
- onClick: function onClick() {
369
- return handleClick(additionalDetails);
140
+ var constructAuditLogText = function constructAuditLogText(_ref) {
141
+ var action = _ref.action,
142
+ performedBy = _ref.performedBy,
143
+ _ref$emails = _ref.emails,
144
+ emails = _ref$emails === void 0 ? [] : _ref$emails,
145
+ firstName = _ref.firstName,
146
+ lastName = _ref.lastName,
147
+ organizationRole = _ref.organizationRole,
148
+ email = _ref.email,
149
+ _ref$changes = _ref.changes,
150
+ changes = _ref$changes === void 0 ? {} : _ref$changes,
151
+ status = _ref.status,
152
+ message = _ref.message,
153
+ errorMessage = _ref.errorMessage,
154
+ addedPermissions = _ref.addedPermissions;
155
+ switch (action) {
156
+ case ACTIONS.INVITED_USERS:
157
+ {
158
+ if (status === "success" && neetoCist.isNotEmpty(emails)) {
159
+ var emailList = emails.join(", ");
160
+ return /*#__PURE__*/jsxRuntime.jsx(Trans, {
161
+ additionalValues: {
162
+ performedBy: performedBy,
163
+ emailList: emailList
164
+ },
165
+ i18nKey: "neetoMolecules.auditLogs.text.invitedUsers"
166
+ });
370
167
  }
371
- });
372
- },
373
- width: 200
374
- }, {
375
- title: i18next.t("neetoMolecules.auditLogs.table.headers.status"),
376
- key: "status",
377
- dataIndex: "status",
378
- width: 150
379
- }, {
380
- title: i18next.t("neetoMolecules.auditLogs.table.headers.performedBy"),
381
- key: "performedBy",
382
- dataIndex: "performedBy",
383
- width: 160
384
- }, {
385
- title: i18next.t("neetoMolecules.auditLogs.table.headers.performedAt"),
386
- key: "performedAt",
387
- dataIndex: "performedAt",
388
- width: 160
389
- }];
390
- };
391
- var getComponentForDetail = function getComponentForDetail(action) {
392
- return DETAILS_COMPONENT_MAP[action] || GenericDetails;
168
+ return /*#__PURE__*/jsxRuntime.jsx(Trans, {
169
+ additionalValues: {
170
+ performedBy: performedBy,
171
+ errorMessage: errorMessage
172
+ },
173
+ i18nKey: "neetoMolecules.auditLogs.text.invitedUsersFailed"
174
+ });
175
+ }
176
+ case ACTIONS.USER_SIGNED_UP:
177
+ {
178
+ var name = [firstName, lastName].filter(Boolean).join(" ");
179
+ var userIdentifier = name || organizationRole || email || "User";
180
+ return /*#__PURE__*/jsxRuntime.jsx(Trans, {
181
+ additionalValues: {
182
+ userIdentifier: userIdentifier
183
+ },
184
+ i18nKey: "neetoMolecules.auditLogs.text.userSignedUp"
185
+ });
186
+ }
187
+ case ACTIONS.UPDATED_USER:
188
+ {
189
+ var changedFields = formatChangedFields(changes);
190
+ var affectedUser = email || "user";
191
+ return /*#__PURE__*/jsxRuntime.jsx(Trans, {
192
+ additionalComponents: {
193
+ ChangedFields: /*#__PURE__*/jsxRuntime.jsx(jsxRuntime.Fragment, {
194
+ children: changedFields
195
+ })
196
+ },
197
+ additionalValues: {
198
+ performedBy: performedBy,
199
+ affectedUser: affectedUser,
200
+ changedFields: changedFields
201
+ },
202
+ i18nKey: "neetoMolecules.auditLogs.text.updatedUser"
203
+ });
204
+ }
205
+ case ACTIONS.BULK_UPDATE_USERS:
206
+ {
207
+ if (status === "success" && neetoCist.isNotEmpty(emails)) {
208
+ var _emailList = emails.join(", ");
209
+ return /*#__PURE__*/jsxRuntime.jsx(Trans, {
210
+ additionalValues: {
211
+ performedBy: performedBy,
212
+ emailList: _emailList,
213
+ message: message
214
+ },
215
+ i18nKey: "neetoMolecules.auditLogs.text.bulkUpdateUsers"
216
+ });
217
+ }
218
+ return /*#__PURE__*/jsxRuntime.jsx(Trans, {
219
+ additionalValues: {
220
+ performedBy: performedBy,
221
+ errorMessage: errorMessage
222
+ },
223
+ i18nKey: "neetoMolecules.auditLogs.text.bulkUpdateUsersFailed"
224
+ });
225
+ }
226
+ case ACTIONS.UPDATED_USER_PROFILE:
227
+ {
228
+ var _changedFields = formatChangedFields(changes);
229
+ return /*#__PURE__*/jsxRuntime.jsx(Trans, {
230
+ additionalComponents: {
231
+ ChangedFields: /*#__PURE__*/jsxRuntime.jsx(jsxRuntime.Fragment, {
232
+ children: _changedFields
233
+ })
234
+ },
235
+ additionalValues: {
236
+ performedBy: performedBy
237
+ },
238
+ i18nKey: "neetoMolecules.auditLogs.text.updatedUserProfile"
239
+ });
240
+ }
241
+ case ACTIONS.CREATED_ROLE:
242
+ {
243
+ var roleName = organizationRole || "role";
244
+ return /*#__PURE__*/jsxRuntime.jsx(Trans, {
245
+ additionalValues: {
246
+ performedBy: performedBy,
247
+ roleName: roleName
248
+ },
249
+ i18nKey: "neetoMolecules.auditLogs.text.createdRole"
250
+ });
251
+ }
252
+ case ACTIONS.UPDATED_ROLE:
253
+ {
254
+ var _roleName = organizationRole || "role";
255
+ var permissionsArray = ramda.values(addedPermissions).map(function (permission) {
256
+ return neetoCist.humanize(permission.split(".")[1]);
257
+ });
258
+ var addedPermissionsText = permissionsArray.join(", ");
259
+ return (
260
+ /*#__PURE__*/
261
+ // Disabling as we're using the same key for both singular and plural cases
262
+ // eslint-disable-next-line @bigbinary/neeto/no-missing-localization
263
+ jsxRuntime.jsx(Trans, {
264
+ i18nKey: "neetoMolecules.auditLogs.text.updatedRole",
265
+ additionalValues: {
266
+ performedBy: performedBy,
267
+ roleName: _roleName,
268
+ addedPermissionsText: addedPermissionsText,
269
+ count: permissionsArray.length
270
+ }
271
+ })
272
+ );
273
+ }
274
+ case ACTIONS.CONNECTED_GOOGLE_CALENDER:
275
+ {
276
+ return /*#__PURE__*/jsxRuntime.jsx(Trans, {
277
+ i18nKey: "neetoMolecules.auditLogs.text.connectedGoogleCalender",
278
+ additionalValues: {
279
+ performedBy: performedBy,
280
+ emailAddress: changes.emailAddress
281
+ }
282
+ });
283
+ }
284
+ case ACTIONS.DISCONNECTED_GOOGLE_CALENDER:
285
+ {
286
+ return /*#__PURE__*/jsxRuntime.jsx(Trans, {
287
+ additionalValues: {
288
+ performedBy: performedBy
289
+ },
290
+ i18nKey: "neetoMolecules.auditLogs.text.disconnectedGoogleCalender"
291
+ });
292
+ }
293
+ case ACTIONS.CONNECTED_STRIPE_ACCOUNT:
294
+ {
295
+ return /*#__PURE__*/jsxRuntime.jsx(Trans, {
296
+ i18nKey: "neetoMolecules.auditLogs.text.connectedStripeAccount",
297
+ additionalValues: {
298
+ performedBy: performedBy,
299
+ stripeAccountId: changes.stripeAccountId
300
+ }
301
+ });
302
+ }
303
+ case ACTIONS.DISCONNECTED_STRIPE_ACCOUNT:
304
+ {
305
+ return /*#__PURE__*/jsxRuntime.jsx(Trans, {
306
+ additionalValues: {
307
+ performedBy: performedBy
308
+ },
309
+ i18nKey: "neetoMolecules.auditLogs.text.disconnectedStripeAccount"
310
+ });
311
+ }
312
+ case ACTIONS.CONNECTED_ZOOM_INTEGRATION:
313
+ {
314
+ return /*#__PURE__*/jsxRuntime.jsx(Trans, {
315
+ i18nKey: "neetoMolecules.auditLogs.text.connectedZoomAccount",
316
+ additionalValues: {
317
+ performedBy: performedBy,
318
+ zoomAccountId: changes.zoomAccountId
319
+ }
320
+ });
321
+ }
322
+ case ACTIONS.DISCONNECTED_ZOOM_INTEGRATION:
323
+ {
324
+ return /*#__PURE__*/jsxRuntime.jsx(Trans, {
325
+ additionalValues: {
326
+ performedBy: performedBy
327
+ },
328
+ i18nKey: "neetoMolecules.auditLogs.text.disconnectedZoomAccount"
329
+ });
330
+ }
331
+ case ACTIONS.CONNECTED_CUSTOM_DOMAIN:
332
+ {
333
+ return /*#__PURE__*/jsxRuntime.jsx(Trans, {
334
+ additionalValues: {
335
+ performedBy: performedBy,
336
+ hostname: changes.hostname
337
+ },
338
+ i18nKey: "neetoMolecules.auditLogs.text.connectedCustomDomain"
339
+ });
340
+ }
341
+ case ACTIONS.DELETED_ROLE:
342
+ {
343
+ var _roleName2 = organizationRole || "role";
344
+ return /*#__PURE__*/jsxRuntime.jsx(Trans, {
345
+ additionalValues: {
346
+ performedBy: performedBy,
347
+ roleName: _roleName2
348
+ },
349
+ i18nKey: "neetoMolecules.auditLogs.text.deletedRole"
350
+ });
351
+ }
352
+ default:
353
+ {
354
+ return /*#__PURE__*/jsxRuntime.jsx(Trans, {
355
+ additionalValues: {
356
+ performedBy: performedBy
357
+ },
358
+ i18nKey: "neetoMolecules.auditLogs.text.performedAction"
359
+ });
360
+ }
361
+ }
393
362
  };
394
363
 
395
- var _excluded = ["message", "action", "performedBy", "performedAt", "via"];
396
- var AdditionalDetails = function AdditionalDetails(_ref) {
397
- var additionalDetails = _ref.additionalDetails,
398
- isOpen = _ref.isOpen,
399
- onClose = _ref.onClose;
400
- var _useTranslation = reactI18next.useTranslation(),
401
- t = _useTranslation.t;
402
- var message = additionalDetails.message,
403
- defaultAction = additionalDetails.action,
404
- performedBy = additionalDetails.performedBy,
405
- performedAt = additionalDetails.performedAt,
406
- product = additionalDetails.via,
407
- details = _objectWithoutProperties(additionalDetails, _excluded);
408
- var action = message || t("neetoMolecules.auditLogs.actions.".concat(defaultAction));
409
- var DetailComponent = getComponentForDetail(defaultAction);
410
- return /*#__PURE__*/jsxRuntime.jsxs(Pane, {
411
- isOpen: isOpen,
412
- onClose: onClose,
413
- "data-testid": "additional-details-pane",
414
- size: "large",
415
- children: [/*#__PURE__*/jsxRuntime.jsx(Pane.Header, {
416
- children: /*#__PURE__*/jsxRuntime.jsx(Typography, {
417
- style: "h2",
418
- children: t("neetoMolecules.auditLogs.additionalDetails.title")
419
- })
420
- }), /*#__PURE__*/jsxRuntime.jsx(Pane.Body, {
421
- hasFooter: false,
422
- children: /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
423
- children: [/*#__PURE__*/jsxRuntime.jsx(LabelledDetail, {
424
- label: ADDITIONAL_DETAILS_KEYS.ACTION,
425
- value: action
426
- }), /*#__PURE__*/jsxRuntime.jsx(LabelledDetail, {
427
- label: ADDITIONAL_DETAILS_KEYS.PERFORMED_BY,
428
- value: performedBy
429
- }), /*#__PURE__*/jsxRuntime.jsx(LabelledDetail, {
430
- label: ADDITIONAL_DETAILS_KEYS.PERFORMED_AT,
431
- value: performedAt
432
- }), /*#__PURE__*/jsxRuntime.jsx(LabelledDetail, {
433
- label: ADDITIONAL_DETAILS_KEYS.PRODUCT,
434
- value: neetoCist._capitalize(product)
435
- }), /*#__PURE__*/jsxRuntime.jsx(DetailComponent, {
436
- details: details
437
- })]
364
+ function ownKeys$2(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
365
+ function _objectSpread$2(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$2(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$2(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
366
+ var Card = function Card(_ref) {
367
+ var auditLog = _ref.auditLog,
368
+ index = _ref.index,
369
+ totalCount = _ref.totalCount;
370
+ var key = auditLog.key,
371
+ metadata = auditLog.metadata,
372
+ performer = auditLog.performer,
373
+ updatedAt = auditLog.updatedAt;
374
+ var action = transformAction(key);
375
+ var performedBy = (performer === null || performer === void 0 ? void 0 : performer.name) || "";
376
+ var performedAt = utils.dateFormat.dateTime(updatedAt);
377
+ var auditText = constructAuditLogText(_objectSpread$2({
378
+ action: action,
379
+ performedBy: performedBy
380
+ }, metadata));
381
+ var Icon = AUDIT_ICON_MAP[action];
382
+ return /*#__PURE__*/jsxRuntime.jsxs("div", {
383
+ className: classnames("align-items-center neeto-ui-border-gray-200 flex w-full gap-x-4 border-b border-l border-r p-3", {
384
+ "rounded-t-md border-t": index === 0,
385
+ "rounded-b-md": index === totalCount - 1
386
+ }),
387
+ children: [/*#__PURE__*/jsxRuntime.jsx("div", {
388
+ className: "neeto-ui-rounded-full neeto-ui-bg-gray-100 flex size-10 flex-shrink-0 items-center justify-center",
389
+ children: /*#__PURE__*/jsxRuntime.jsx(Icon, {
390
+ className: "neeto-ui-text-gray-600 flex-shrink-0",
391
+ size: 22
438
392
  })
393
+ }), /*#__PURE__*/jsxRuntime.jsxs("div", {
394
+ className: "flex flex-col gap-y-2",
395
+ children: [/*#__PURE__*/jsxRuntime.jsx(Typography, {
396
+ component: "span",
397
+ lineHeight: "normal",
398
+ style: "body2",
399
+ children: auditText
400
+ }), /*#__PURE__*/jsxRuntime.jsx(Typography, {
401
+ className: "neeto-ui-text-gray-500 m-0",
402
+ style: "body3",
403
+ children: performedAt
404
+ })]
439
405
  })]
440
406
  });
441
407
  };
@@ -469,14 +435,6 @@ var AuditLogs = function AuditLogs(_ref) {
469
435
  var headerProps = _ref.headerProps,
470
436
  noDataHelpText = _ref.noDataHelpText,
471
437
  noDataTitle = _ref.noDataTitle;
472
- var _useState = React.useState(false),
473
- _useState2 = _slicedToArray(_useState, 2),
474
- isAdditionalDetailsPaneOpen = _useState2[0],
475
- setIsAdditionalDetailsPaneOpen = _useState2[1];
476
- var _useState3 = React.useState({}),
477
- _useState4 = _slicedToArray(_useState3, 2),
478
- additionalDetails = _useState4[0],
479
- setAdditionalDetails = _useState4[1];
480
438
  var _useTranslation = reactI18next.useTranslation(),
481
439
  t = _useTranslation.t;
482
440
  var _useQueryParams = reactUtils.useQueryParams(),
@@ -484,7 +442,8 @@ var AuditLogs = function AuditLogs(_ref) {
484
442
  page = _useQueryParams$page === void 0 ? constants.DEFAULT_PAGE_INDEX : _useQueryParams$page;
485
443
  var _useFetchAuditLogs = useFetchAuditLogs({
486
444
  params: {
487
- page: page
445
+ page: page,
446
+ pageSize: AUDIT_LOGS_PAGE_SIZE
488
447
  }
489
448
  }),
490
449
  _useFetchAuditLogs$da = _useFetchAuditLogs.data,
@@ -495,54 +454,37 @@ var AuditLogs = function AuditLogs(_ref) {
495
454
  totalCount = _useFetchAuditLogs$da4 === void 0 ? 0 : _useFetchAuditLogs$da4,
496
455
  isLoading = _useFetchAuditLogs.isLoading,
497
456
  isFetching = _useFetchAuditLogs.isFetching;
498
- var handleClick = function handleClick(additionalDetails) {
499
- setIsAdditionalDetailsPaneOpen(true);
500
- setAdditionalDetails(additionalDetails);
501
- };
502
- var handleClose = function handleClose() {
503
- setIsAdditionalDetailsPaneOpen(false);
504
- setAdditionalDetails({});
505
- };
506
- if (isLoading) {
457
+ if (isLoading || isFetching) {
507
458
  return /*#__PURE__*/jsxRuntime.jsx("div", {
508
459
  className: "flex h-full w-full items-center justify-center",
509
460
  children: /*#__PURE__*/jsxRuntime.jsx(Spinner, {})
510
461
  });
511
462
  }
512
463
  return /*#__PURE__*/jsxRuntime.jsxs(Container, {
464
+ className: "relative",
513
465
  children: [/*#__PURE__*/jsxRuntime.jsx(Header, _objectSpread({
514
466
  title: t("neetoMolecules.auditLogs.title")
515
- }, headerProps)), /*#__PURE__*/jsxRuntime.jsx(SubHeader, {
516
- leftActionBlock: neetoCist.isPresent(auditLogs) && /*#__PURE__*/jsxRuntime.jsx(Typography, {
517
- weight: "semibold",
518
- children: t("neetoMolecules.auditLogs.logsCount", {
519
- count: totalCount
520
- })
467
+ }, headerProps)), neetoCist.isPresent(auditLogs) ? /*#__PURE__*/jsxRuntime.jsx("div", {
468
+ className: "w-full",
469
+ children: auditLogs.map(function (auditLog, index) {
470
+ return /*#__PURE__*/React.createElement(Card, {
471
+ auditLog: auditLog,
472
+ index: index,
473
+ key: auditLog.id,
474
+ totalCount: auditLogs.length
475
+ });
521
476
  })
522
- }), /*#__PURE__*/jsxRuntime.jsx(TableWrapper, {
523
- className: "mt-5",
524
- hasPagination: totalCount > constants.DEFAULT_PAGE_SIZE,
525
- children: neetoCist.isPresent(auditLogs) ? /*#__PURE__*/jsxRuntime.jsx(Table, {
526
- totalCount: totalCount,
527
- fixedHeight: true,
528
- columnData: getColumnData(handleClick),
529
- currentPageNumber: parseInt(page),
530
- "data-testid": "audit-logs-table",
531
- defaultPageSize: constants.DEFAULT_PAGE_SIZE,
532
- enableColumnFreeze: false,
533
- loading: isFetching,
534
- rowData: transformLogsForTable(auditLogs)
535
- }) : /*#__PURE__*/jsxRuntime.jsx("div", {
536
- className: "flex h-full w-full items-center justify-center",
537
- children: /*#__PURE__*/jsxRuntime.jsx(NoData, {
538
- helpText: noDataHelpText,
539
- title: noDataTitle || t("neetoMolecules.auditLogs.noData")
540
- })
477
+ }) : /*#__PURE__*/jsxRuntime.jsx("div", {
478
+ className: "flex h-full w-full items-center justify-center",
479
+ children: /*#__PURE__*/jsxRuntime.jsx(NoData, {
480
+ helpText: noDataHelpText,
481
+ title: noDataTitle || t("neetoMolecules.auditLogs.noData")
541
482
  })
542
- }), /*#__PURE__*/jsxRuntime.jsx(AdditionalDetails, {
543
- additionalDetails: additionalDetails,
544
- isOpen: isAdditionalDetailsPaneOpen,
545
- onClose: handleClose
483
+ }), /*#__PURE__*/jsxRuntime.jsx(Pagination, {
484
+ className: "neeto-ui-bg-white fixed bottom-5 right-6",
485
+ count: totalCount,
486
+ pageNo: parseInt(page),
487
+ pageSize: AUDIT_LOGS_PAGE_SIZE
546
488
  })]
547
489
  });
548
490
  };