@bigbinary/neeto-molecules 4.1.0-beta1 → 4.1.0
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/AuditLogs.js +193 -63
- package/dist/AuditLogs.js.map +1 -1
- package/dist/Breadcrumbs.js +40 -24
- package/dist/Breadcrumbs.js.map +1 -1
- package/dist/BrowserSupport.js +17 -8
- package/dist/BrowserSupport.js.map +1 -1
- package/dist/Builder.js +16 -23
- package/dist/Builder.js.map +1 -1
- package/dist/CalendarView.js +35 -11
- package/dist/CalendarView.js.map +1 -1
- package/dist/CardLayout.js +0 -1
- package/dist/CardLayout.js.map +1 -1
- package/dist/{Chevron-Dtxc2piW.js → Chevron-DOz710Ei.js} +23 -20
- package/dist/Chevron-DOz710Ei.js.map +1 -0
- package/dist/Codeblock.js +3 -5
- package/dist/Codeblock.js.map +1 -1
- package/dist/{Columns-CsOYfWFt.js → Columns-D51hN86M.js} +8 -9
- package/dist/Columns-D51hN86M.js.map +1 -0
- package/dist/Columns.js +1 -1
- package/dist/ConfigurePageSidebar.js +3 -3
- package/dist/ConfigurePageSidebar.js.map +1 -1
- package/dist/ConfirmationModal.js +2 -2
- package/dist/ConfirmationModal.js.map +1 -1
- package/dist/CopyToClipboardButton.js +12 -7
- package/dist/CopyToClipboardButton.js.map +1 -1
- package/dist/DeleteArchiveModal.js +5 -7
- package/dist/DeleteArchiveModal.js.map +1 -1
- package/dist/DeviceIncompatibilityMessage.js +0 -1
- package/dist/DeviceIncompatibilityMessage.js.map +1 -1
- package/dist/DocumentEditor.js +3 -3
- package/dist/DocumentEditor.js.map +1 -1
- package/dist/DynamicVariables.js +5 -7
- package/dist/DynamicVariables.js.map +1 -1
- package/dist/EmailForm.js +107 -124
- package/dist/EmailForm.js.map +1 -1
- package/dist/EmailPreview.js +90 -73
- package/dist/EmailPreview.js.map +1 -1
- package/dist/EmojiPicker.js +6 -1
- package/dist/EmojiPicker.js.map +1 -1
- package/dist/EmojiReactions.js +1 -1
- package/dist/EmojiReactions.js.map +1 -1
- package/dist/ErrorPage.js +7 -5
- package/dist/ErrorPage.js.map +1 -1
- package/dist/FileUpload.js +14 -14
- package/dist/FileUpload.js.map +1 -1
- package/dist/FinderModal.js +61 -74
- package/dist/FinderModal.js.map +1 -1
- package/dist/FloatingActionMenu.js +233 -190
- package/dist/FloatingActionMenu.js.map +1 -1
- package/dist/Header.js +2 -4
- package/dist/Header.js.map +1 -1
- package/dist/HelpPopover.js +2 -6
- package/dist/HelpPopover.js.map +1 -1
- package/dist/IconPicker.js +2 -3
- package/dist/IconPicker.js.map +1 -1
- package/dist/InlineInput.js +6 -2
- package/dist/InlineInput.js.map +1 -1
- package/dist/Insights.js +3 -6
- package/dist/Insights.js.map +1 -1
- package/dist/IntegrationCard.js +10 -12
- package/dist/IntegrationCard.js.map +1 -1
- package/dist/IpRestriction.js +11 -13
- package/dist/IpRestriction.js.map +1 -1
- package/dist/KeyboardShortcuts.js +3 -4
- package/dist/KeyboardShortcuts.js.map +1 -1
- package/dist/LoginPage.js +4 -9
- package/dist/LoginPage.js.map +1 -1
- package/dist/MadeWith.js +1 -2
- package/dist/MadeWith.js.map +1 -1
- package/dist/MenuBar.js +10 -8
- package/dist/MenuBar.js.map +1 -1
- package/dist/Metadata.js +5 -8
- package/dist/Metadata.js.map +1 -1
- package/dist/MobilePreviewHeader.js +1 -1
- package/dist/MobilePreviewHeader.js.map +1 -1
- package/dist/MoreDropdown.js +1 -2
- package/dist/MoreDropdown.js.map +1 -1
- package/dist/NavigationHeader.js +4 -8
- package/dist/NavigationHeader.js.map +1 -1
- package/dist/NeetoWidget.js +2 -3
- package/dist/NeetoWidget.js.map +1 -1
- package/dist/Onboarding.js +2 -10
- package/dist/Onboarding.js.map +1 -1
- package/dist/OptionFields.js +6 -22
- package/dist/OptionFields.js.map +1 -1
- package/dist/PageLoader.js +1 -1
- package/dist/PageLoader.js.map +1 -1
- package/dist/PhoneNumber.js +0 -1
- package/dist/PhoneNumber.js.map +1 -1
- package/dist/ProductEmbed.js +35 -36
- package/dist/ProductEmbed.js.map +1 -1
- package/dist/PublishBlock.js +11 -22
- package/dist/PublishBlock.js.map +1 -1
- package/dist/PublishYourItem.js +2 -2
- package/dist/PublishYourItem.js.map +1 -1
- package/dist/Rename.js +18 -17
- package/dist/Rename.js.map +1 -1
- package/dist/Schedule.js +120 -69
- package/dist/Schedule.js.map +1 -1
- package/dist/SendToFields.js +31 -23
- package/dist/SendToFields.js.map +1 -1
- package/dist/SessionEnvironment.js +2 -8
- package/dist/SessionEnvironment.js.map +1 -1
- package/dist/Settings.js +8 -9
- package/dist/Settings.js.map +1 -1
- package/dist/ShareRecordingPane.js +6 -6
- package/dist/ShareRecordingPane.js.map +1 -1
- package/dist/ShareViaEmail.js +6 -9
- package/dist/ShareViaEmail.js.map +1 -1
- package/dist/ShareViaLink.js +6 -22
- package/dist/ShareViaLink.js.map +1 -1
- package/dist/Sidebar.js +24 -20
- package/dist/Sidebar.js.map +1 -1
- package/dist/StatusDropdown.js +7 -10
- package/dist/StatusDropdown.js.map +1 -1
- package/dist/StickyRibbonsContainer.js +3 -3
- package/dist/StickyRibbonsContainer.js.map +1 -1
- package/dist/SubHeader.js +12 -15
- package/dist/SubHeader.js.map +1 -1
- package/dist/Taxonomy.js +4 -6
- package/dist/Taxonomy.js.map +1 -1
- package/dist/ToggleFeatureCard.js +18 -24
- package/dist/ToggleFeatureCard.js.map +1 -1
- package/dist/VersionHistory.js +1 -3
- package/dist/VersionHistory.js.map +1 -1
- package/dist/cjs/AuditLogs.js +190 -60
- package/dist/cjs/AuditLogs.js.map +1 -1
- package/dist/cjs/Breadcrumbs.js +40 -24
- package/dist/cjs/Breadcrumbs.js.map +1 -1
- package/dist/cjs/BrowserSupport.js +17 -8
- package/dist/cjs/BrowserSupport.js.map +1 -1
- package/dist/cjs/Builder.js +16 -23
- package/dist/cjs/Builder.js.map +1 -1
- package/dist/cjs/CalendarView.js +35 -11
- package/dist/cjs/CalendarView.js.map +1 -1
- package/dist/cjs/CardLayout.js +0 -1
- package/dist/cjs/CardLayout.js.map +1 -1
- package/dist/cjs/{Chevron-DzdbGPJI.js → Chevron-brQURuT5.js} +23 -20
- package/dist/cjs/Chevron-brQURuT5.js.map +1 -0
- package/dist/cjs/Codeblock.js +3 -5
- package/dist/cjs/Codeblock.js.map +1 -1
- package/dist/cjs/{Columns-DHPNrFgq.js → Columns-7xltEL2z.js} +8 -9
- package/dist/cjs/Columns-7xltEL2z.js.map +1 -0
- package/dist/cjs/Columns.js +1 -1
- package/dist/cjs/ConfigurePageSidebar.js +3 -3
- package/dist/cjs/ConfigurePageSidebar.js.map +1 -1
- package/dist/cjs/ConfirmationModal.js +2 -2
- package/dist/cjs/ConfirmationModal.js.map +1 -1
- package/dist/cjs/CopyToClipboardButton.js +11 -6
- package/dist/cjs/CopyToClipboardButton.js.map +1 -1
- package/dist/cjs/DeleteArchiveModal.js +5 -7
- package/dist/cjs/DeleteArchiveModal.js.map +1 -1
- package/dist/cjs/DeviceIncompatibilityMessage.js +0 -1
- package/dist/cjs/DeviceIncompatibilityMessage.js.map +1 -1
- package/dist/cjs/DocumentEditor.js +3 -3
- package/dist/cjs/DocumentEditor.js.map +1 -1
- package/dist/cjs/DynamicVariables.js +5 -7
- package/dist/cjs/DynamicVariables.js.map +1 -1
- package/dist/cjs/EmailForm.js +105 -122
- package/dist/cjs/EmailForm.js.map +1 -1
- package/dist/cjs/EmailPreview.js +108 -73
- package/dist/cjs/EmailPreview.js.map +1 -1
- package/dist/cjs/EmojiPicker.js +6 -1
- package/dist/cjs/EmojiPicker.js.map +1 -1
- package/dist/cjs/EmojiReactions.js +1 -1
- package/dist/cjs/EmojiReactions.js.map +1 -1
- package/dist/cjs/ErrorPage.js +7 -5
- package/dist/cjs/ErrorPage.js.map +1 -1
- package/dist/cjs/FileUpload.js +13 -13
- package/dist/cjs/FileUpload.js.map +1 -1
- package/dist/cjs/FinderModal.js +59 -72
- package/dist/cjs/FinderModal.js.map +1 -1
- package/dist/cjs/FloatingActionMenu.js +232 -189
- package/dist/cjs/FloatingActionMenu.js.map +1 -1
- package/dist/cjs/Header.js +2 -4
- package/dist/cjs/Header.js.map +1 -1
- package/dist/cjs/HelpPopover.js +2 -6
- package/dist/cjs/HelpPopover.js.map +1 -1
- package/dist/cjs/IconPicker.js +2 -3
- package/dist/cjs/IconPicker.js.map +1 -1
- package/dist/cjs/InlineInput.js +6 -2
- package/dist/cjs/InlineInput.js.map +1 -1
- package/dist/cjs/Insights.js +3 -6
- package/dist/cjs/Insights.js.map +1 -1
- package/dist/cjs/IntegrationCard.js +9 -11
- package/dist/cjs/IntegrationCard.js.map +1 -1
- package/dist/cjs/IpRestriction.js +11 -13
- package/dist/cjs/IpRestriction.js.map +1 -1
- package/dist/cjs/KeyboardShortcuts.js +3 -4
- package/dist/cjs/KeyboardShortcuts.js.map +1 -1
- package/dist/cjs/LoginPage.js +4 -9
- package/dist/cjs/LoginPage.js.map +1 -1
- package/dist/cjs/MadeWith.js +1 -2
- package/dist/cjs/MadeWith.js.map +1 -1
- package/dist/cjs/MenuBar.js +10 -8
- package/dist/cjs/MenuBar.js.map +1 -1
- package/dist/cjs/Metadata.js +5 -8
- package/dist/cjs/Metadata.js.map +1 -1
- package/dist/cjs/MobilePreviewHeader.js +1 -1
- package/dist/cjs/MobilePreviewHeader.js.map +1 -1
- package/dist/cjs/MoreDropdown.js +1 -2
- package/dist/cjs/MoreDropdown.js.map +1 -1
- package/dist/cjs/NavigationHeader.js +4 -8
- package/dist/cjs/NavigationHeader.js.map +1 -1
- package/dist/cjs/NeetoWidget.js +2 -3
- package/dist/cjs/NeetoWidget.js.map +1 -1
- package/dist/cjs/Onboarding.js +2 -10
- package/dist/cjs/Onboarding.js.map +1 -1
- package/dist/cjs/OptionFields.js +6 -22
- package/dist/cjs/OptionFields.js.map +1 -1
- package/dist/cjs/PageLoader.js +1 -1
- package/dist/cjs/PageLoader.js.map +1 -1
- package/dist/cjs/PhoneNumber.js +0 -1
- package/dist/cjs/PhoneNumber.js.map +1 -1
- package/dist/cjs/ProductEmbed.js +35 -36
- package/dist/cjs/ProductEmbed.js.map +1 -1
- package/dist/cjs/PublishBlock.js +11 -22
- package/dist/cjs/PublishBlock.js.map +1 -1
- package/dist/cjs/PublishYourItem.js +2 -2
- package/dist/cjs/PublishYourItem.js.map +1 -1
- package/dist/cjs/Rename.js +18 -17
- package/dist/cjs/Rename.js.map +1 -1
- package/dist/cjs/Schedule.js +119 -68
- package/dist/cjs/Schedule.js.map +1 -1
- package/dist/cjs/SendToFields.js +31 -23
- package/dist/cjs/SendToFields.js.map +1 -1
- package/dist/cjs/SessionEnvironment.js +2 -8
- package/dist/cjs/SessionEnvironment.js.map +1 -1
- package/dist/cjs/Settings.js +8 -9
- package/dist/cjs/Settings.js.map +1 -1
- package/dist/cjs/ShareRecordingPane.js +6 -6
- package/dist/cjs/ShareRecordingPane.js.map +1 -1
- package/dist/cjs/ShareViaEmail.js +6 -9
- package/dist/cjs/ShareViaEmail.js.map +1 -1
- package/dist/cjs/ShareViaLink.js +6 -22
- package/dist/cjs/ShareViaLink.js.map +1 -1
- package/dist/cjs/Sidebar.js +24 -20
- package/dist/cjs/Sidebar.js.map +1 -1
- package/dist/cjs/StatusDropdown.js +6 -9
- package/dist/cjs/StatusDropdown.js.map +1 -1
- package/dist/cjs/StickyRibbonsContainer.js +3 -3
- package/dist/cjs/StickyRibbonsContainer.js.map +1 -1
- package/dist/cjs/SubHeader.js +12 -15
- package/dist/cjs/SubHeader.js.map +1 -1
- package/dist/cjs/Taxonomy.js +4 -6
- package/dist/cjs/Taxonomy.js.map +1 -1
- package/dist/cjs/ToggleFeatureCard.js +17 -23
- package/dist/cjs/ToggleFeatureCard.js.map +1 -1
- package/dist/cjs/VersionHistory.js +1 -3
- package/dist/cjs/VersionHistory.js.map +1 -1
- package/package.json +5 -5
- package/src/translations/ar.json +52 -14
- package/src/translations/bg.json +52 -14
- package/src/translations/ca.json +53 -15
- package/src/translations/cs.json +52 -14
- package/src/translations/da.json +52 -14
- package/src/translations/de.json +52 -14
- package/src/translations/en.json +51 -15
- package/src/translations/es-MX.json +53 -15
- package/src/translations/es.json +52 -14
- package/src/translations/et.json +52 -14
- package/src/translations/fi.json +53 -15
- package/src/translations/fil.json +53 -15
- package/src/translations/fr.json +52 -14
- package/src/translations/he.json +52 -14
- package/src/translations/hi.json +52 -14
- package/src/translations/hr.json +53 -15
- package/src/translations/id.json +53 -15
- package/src/translations/it.json +53 -15
- package/src/translations/ja.json +53 -15
- package/src/translations/ko.json +52 -14
- package/src/translations/nl.json +53 -15
- package/src/translations/pl.json +53 -15
- package/src/translations/pt-BR.json +53 -15
- package/src/translations/pt.json +53 -15
- package/src/translations/ro.json +53 -15
- package/src/translations/ru.json +51 -13
- package/src/translations/sk.json +52 -14
- package/src/translations/sl.json +52 -14
- package/src/translations/sv.json +53 -15
- package/src/translations/th.json +53 -15
- package/src/translations/tr.json +53 -15
- package/src/translations/uk.json +51 -13
- package/src/translations/vi.json +50 -12
- package/src/translations/zh-CN.json +50 -12
- package/src/translations/zh-TW.json +50 -12
- package/types/EmailForm.d.ts +5 -3
- package/types/FinderModal.d.ts +0 -8
- package/types/IntegrationCard.d.ts +1 -1
- package/types/Rename.d.ts +2 -0
- package/types/Settings.d.ts +2 -2
- package/types/ShareViaLink.d.ts +2 -2
- package/types/SubHeader.d.ts +2 -2
- package/types/ToggleFeatureCard.d.ts +3 -3
- package/dist/Chevron-Dtxc2piW.js.map +0 -1
- package/dist/Columns-CsOYfWFt.js.map +0 -1
- package/dist/cjs/Chevron-DzdbGPJI.js.map +0 -1
- package/dist/cjs/Columns-DHPNrFgq.js.map +0 -1
package/dist/AuditLogs.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
2
|
+
import { useMemo, createElement } from 'react';
|
|
3
|
+
import { snakeToCamelCase, isPresent, isNotEmpty, humanize } from '@bigbinary/neeto-cist';
|
|
4
|
+
import { LANGUAGE_OPTIONS, DEFAULT_STALE_TIME, DEFAULT_PAGE_INDEX } from '@bigbinary/neeto-commons-frontend/constants';
|
|
4
5
|
import { useQueryParams } from '@bigbinary/neeto-commons-frontend/react-utils';
|
|
5
6
|
import NoData from '@bigbinary/neetoui/NoData';
|
|
6
7
|
import Spinner from '@bigbinary/neetoui/Spinner';
|
|
@@ -17,20 +18,20 @@ import UserCircle from '@bigbinary/neeto-icons/UserCircle';
|
|
|
17
18
|
import UserRemove from '@bigbinary/neeto-icons/UserRemove';
|
|
18
19
|
import UserSettings from '@bigbinary/neeto-icons/UserSettings';
|
|
19
20
|
import CustomDomain from '@bigbinary/neeto-icons/CustomDomain';
|
|
21
|
+
import ApiKeys from '@bigbinary/neeto-icons/ApiKeys';
|
|
20
22
|
import GoogleCalendar from '@bigbinary/neeto-icons/misc/GoogleCalendar';
|
|
21
23
|
import Zoom from '@bigbinary/neeto-icons/misc/Zoom';
|
|
22
24
|
import Stripe from '@bigbinary/neeto-icons/misc/Stripe';
|
|
23
25
|
import StripeTypeface from '@bigbinary/neeto-icons/misc/StripeTypeface';
|
|
24
|
-
import {
|
|
26
|
+
import { indexBy, prop, identity } from 'ramda';
|
|
27
|
+
import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
|
|
25
28
|
import { globalProps } from '@bigbinary/neeto-commons-frontend/initializers';
|
|
26
29
|
import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
|
|
27
30
|
import { useQuery } from '@tanstack/react-query';
|
|
28
31
|
import axios from 'axios';
|
|
29
|
-
import { createElement } from 'react';
|
|
30
32
|
import './index-DAYCJu79.js';
|
|
31
33
|
import './_commonjsHelpers-BFTU3MAI.js';
|
|
32
34
|
import './inject-css-C2dztUxs.js';
|
|
33
|
-
import '@babel/runtime/helpers/objectWithoutProperties';
|
|
34
35
|
import './Breadcrumbs.js';
|
|
35
36
|
import '@bigbinary/neeto-commons-frontend/utils/general';
|
|
36
37
|
import 'react-router-dom';
|
|
@@ -53,6 +54,8 @@ import '@bigbinary/neetoui/Input';
|
|
|
53
54
|
|
|
54
55
|
var _AUDIT_ICON_MAP;
|
|
55
56
|
var AUDIT_LOGS_QUERY_KEY = "audit-logs";
|
|
57
|
+
var COUNTRIES_LIST_QUERY_KEY = "countries-list"; // Same key as that used in "neeto-team-members" for cache reuse.
|
|
58
|
+
|
|
56
59
|
var ACTIONS = {
|
|
57
60
|
INVITED_USERS: "invitedUsers",
|
|
58
61
|
USER_SIGNED_UP: "userSignedUp",
|
|
@@ -68,13 +71,22 @@ var ACTIONS = {
|
|
|
68
71
|
DISCONNECTED_STRIPE_ACCOUNT: "disconnectedStripeAccount",
|
|
69
72
|
CONNECTED_ZOOM_INTEGRATION: "connectedZoomIntegration",
|
|
70
73
|
DISCONNECTED_ZOOM_INTEGRATION: "disconnectedZoomIntegration",
|
|
71
|
-
CONNECTED_CUSTOM_DOMAIN: "connectedCustomDomain"
|
|
74
|
+
CONNECTED_CUSTOM_DOMAIN: "connectedCustomDomain",
|
|
75
|
+
CREATED_API_KEY: "createdApiKey",
|
|
76
|
+
DELETED_API_KEY: "deletedApiKey",
|
|
77
|
+
UPDATED_API_KEY: "updatedApiKey"
|
|
72
78
|
};
|
|
73
|
-
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));
|
|
79
|
+
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(_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), ACTIONS.CREATED_API_KEY, ApiKeys), ACTIONS.DELETED_API_KEY, ApiKeys), ACTIONS.UPDATED_API_KEY, ApiKeys));
|
|
74
80
|
var AUDIT_LOGS_PAGE_SIZE = 12;
|
|
81
|
+
var LANGUAGE_OPTIONS_MAP = indexBy(prop("value"), LANGUAGE_OPTIONS);
|
|
82
|
+
var DATE_FORMAT_OPTIONS_MAP = {
|
|
83
|
+
"%m/%d/%Y": "MM/DD/YYYY",
|
|
84
|
+
"%d/%m/%Y": "DD/MM/YYYY",
|
|
85
|
+
"%Y/%m/%d": "YYYY/MM/DD"
|
|
86
|
+
};
|
|
75
87
|
|
|
76
|
-
function ownKeys$
|
|
77
|
-
function _objectSpread$
|
|
88
|
+
function ownKeys$4(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; }
|
|
89
|
+
function _objectSpread$4(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$4(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$4(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
78
90
|
var Trans = function Trans(_ref) {
|
|
79
91
|
var i18nKey = _ref.i18nKey,
|
|
80
92
|
_ref$additionalValues = _ref.additionalValues,
|
|
@@ -83,7 +95,7 @@ var Trans = function Trans(_ref) {
|
|
|
83
95
|
additionalComponents = _ref$additionalCompon === void 0 ? {} : _ref$additionalCompon;
|
|
84
96
|
return /*#__PURE__*/jsx(Trans$1, {
|
|
85
97
|
i18nKey: i18nKey,
|
|
86
|
-
components: _objectSpread$
|
|
98
|
+
components: _objectSpread$4({
|
|
87
99
|
Code: /*#__PURE__*/jsx(Typography, {
|
|
88
100
|
className: "neeto-ui-rounded-md neeto-ui-bg-gray-100 p-1",
|
|
89
101
|
component: "code",
|
|
@@ -94,35 +106,75 @@ var Trans = function Trans(_ref) {
|
|
|
94
106
|
component: "p"
|
|
95
107
|
})
|
|
96
108
|
}, additionalComponents),
|
|
97
|
-
values: _objectSpread$
|
|
109
|
+
values: _objectSpread$4({
|
|
98
110
|
productSuffix: globalProps.appName
|
|
99
111
|
}, additionalValues)
|
|
100
112
|
});
|
|
101
113
|
};
|
|
102
114
|
|
|
103
|
-
var
|
|
115
|
+
var _excluded = ["countriesMap", "action", "performedBy", "emails", "firstName", "lastName", "organizationRole", "email", "changes", "status", "message", "errorMessage"];
|
|
116
|
+
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; }
|
|
117
|
+
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; }
|
|
118
|
+
var createFieldValueFormatter = function createFieldValueFormatter(_ref) {
|
|
119
|
+
var field = _ref.field,
|
|
120
|
+
countriesMap = _ref.countriesMap;
|
|
121
|
+
switch (field) {
|
|
122
|
+
case "language":
|
|
123
|
+
return function (value) {
|
|
124
|
+
var _LANGUAGE_OPTIONS_MAP;
|
|
125
|
+
return ((_LANGUAGE_OPTIONS_MAP = LANGUAGE_OPTIONS_MAP[value]) === null || _LANGUAGE_OPTIONS_MAP === void 0 ? void 0 : _LANGUAGE_OPTIONS_MAP.label) || value;
|
|
126
|
+
};
|
|
127
|
+
case "dateFormat":
|
|
128
|
+
return function (value) {
|
|
129
|
+
return DATE_FORMAT_OPTIONS_MAP[value] || value;
|
|
130
|
+
};
|
|
131
|
+
case "countryIdentifier":
|
|
132
|
+
return function (value) {
|
|
133
|
+
var _countriesMap$value;
|
|
134
|
+
return ((_countriesMap$value = countriesMap[value]) === null || _countriesMap$value === void 0 ? void 0 : _countriesMap$value.name) || value;
|
|
135
|
+
};
|
|
136
|
+
default:
|
|
137
|
+
return identity;
|
|
138
|
+
}
|
|
139
|
+
};
|
|
140
|
+
var formatChangedFields = function formatChangedFields(_ref2) {
|
|
141
|
+
var changes = _ref2.changes,
|
|
142
|
+
countriesMap = _ref2.countriesMap;
|
|
104
143
|
var fields = Object.keys(changes).map(function (field, index) {
|
|
105
144
|
var change = changes[field];
|
|
145
|
+
var valueFormatter = createFieldValueFormatter({
|
|
146
|
+
field: field,
|
|
147
|
+
countriesMap: countriesMap
|
|
148
|
+
});
|
|
106
149
|
var element;
|
|
107
|
-
if (
|
|
150
|
+
if (field === "profileImage") {
|
|
151
|
+
element = /*#__PURE__*/jsx("span", {
|
|
152
|
+
children: /*#__PURE__*/jsx(Trans, {
|
|
153
|
+
additionalValues: {
|
|
154
|
+
field: humanize(field)
|
|
155
|
+
},
|
|
156
|
+
i18nKey: "neetoMolecules.auditLogs.text.updatedFields"
|
|
157
|
+
})
|
|
158
|
+
}, field);
|
|
159
|
+
} else if (change && isPresent(change.from)) {
|
|
108
160
|
element = /*#__PURE__*/jsx("span", {
|
|
109
161
|
children: /*#__PURE__*/jsx(Trans, {
|
|
110
162
|
i18nKey: "neetoMolecules.auditLogs.text.updatedFieldsWithPreviousValue",
|
|
111
163
|
additionalValues: {
|
|
112
164
|
field: humanize(field),
|
|
113
|
-
from: change.from,
|
|
114
|
-
to: change.to
|
|
165
|
+
from: valueFormatter(change.from),
|
|
166
|
+
to: valueFormatter(change.to)
|
|
115
167
|
}
|
|
116
168
|
})
|
|
117
169
|
}, field);
|
|
118
170
|
} else {
|
|
119
171
|
element = /*#__PURE__*/jsx("span", {
|
|
120
172
|
children: /*#__PURE__*/jsx(Trans, {
|
|
173
|
+
i18nKey: "neetoMolecules.auditLogs.text.updatedFieldsWithNewValue",
|
|
121
174
|
additionalValues: {
|
|
122
175
|
field: humanize(field),
|
|
123
|
-
to: change.to
|
|
124
|
-
}
|
|
125
|
-
i18nKey: "neetoMolecules.auditLogs.text.updatedFieldsWithNewValue"
|
|
176
|
+
to: valueFormatter(change.to)
|
|
177
|
+
}
|
|
126
178
|
})
|
|
127
179
|
}, field);
|
|
128
180
|
}
|
|
@@ -135,21 +187,23 @@ var formatChangedFields = function formatChangedFields(changes) {
|
|
|
135
187
|
var transformAction = function transformAction(action) {
|
|
136
188
|
return snakeToCamelCase(action.replace("audit_logs.organization.", ""));
|
|
137
189
|
};
|
|
138
|
-
var constructAuditLogText = function constructAuditLogText(
|
|
139
|
-
var
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
190
|
+
var constructAuditLogText = function constructAuditLogText(_ref3) {
|
|
191
|
+
var _ref3$countriesMap = _ref3.countriesMap,
|
|
192
|
+
countriesMap = _ref3$countriesMap === void 0 ? {} : _ref3$countriesMap,
|
|
193
|
+
action = _ref3.action,
|
|
194
|
+
performedBy = _ref3.performedBy,
|
|
195
|
+
_ref3$emails = _ref3.emails,
|
|
196
|
+
emails = _ref3$emails === void 0 ? [] : _ref3$emails,
|
|
197
|
+
firstName = _ref3.firstName,
|
|
198
|
+
lastName = _ref3.lastName,
|
|
199
|
+
organizationRole = _ref3.organizationRole,
|
|
200
|
+
email = _ref3.email,
|
|
201
|
+
_ref3$changes = _ref3.changes,
|
|
202
|
+
changes = _ref3$changes === void 0 ? {} : _ref3$changes,
|
|
203
|
+
status = _ref3.status,
|
|
204
|
+
message = _ref3.message,
|
|
205
|
+
errorMessage = _ref3.errorMessage,
|
|
206
|
+
rest = _objectWithoutProperties(_ref3, _excluded);
|
|
153
207
|
switch (action) {
|
|
154
208
|
case ACTIONS.INVITED_USERS:
|
|
155
209
|
{
|
|
@@ -184,7 +238,10 @@ var constructAuditLogText = function constructAuditLogText(_ref) {
|
|
|
184
238
|
}
|
|
185
239
|
case ACTIONS.UPDATED_USER:
|
|
186
240
|
{
|
|
187
|
-
var changedFields = formatChangedFields(
|
|
241
|
+
var changedFields = formatChangedFields({
|
|
242
|
+
changes: changes,
|
|
243
|
+
countriesMap: countriesMap
|
|
244
|
+
});
|
|
188
245
|
var affectedUser = email || "user";
|
|
189
246
|
return /*#__PURE__*/jsx(Trans, {
|
|
190
247
|
additionalComponents: {
|
|
@@ -223,7 +280,10 @@ var constructAuditLogText = function constructAuditLogText(_ref) {
|
|
|
223
280
|
}
|
|
224
281
|
case ACTIONS.UPDATED_USER_PROFILE:
|
|
225
282
|
{
|
|
226
|
-
var _changedFields = formatChangedFields(
|
|
283
|
+
var _changedFields = formatChangedFields({
|
|
284
|
+
changes: changes,
|
|
285
|
+
countriesMap: countriesMap
|
|
286
|
+
});
|
|
227
287
|
return /*#__PURE__*/jsx(Trans, {
|
|
228
288
|
additionalComponents: {
|
|
229
289
|
ChangedFields: /*#__PURE__*/jsx(Fragment, {
|
|
@@ -249,25 +309,38 @@ var constructAuditLogText = function constructAuditLogText(_ref) {
|
|
|
249
309
|
}
|
|
250
310
|
case ACTIONS.UPDATED_ROLE:
|
|
251
311
|
{
|
|
252
|
-
var
|
|
253
|
-
|
|
254
|
-
|
|
312
|
+
var _rest$addedPermission = rest.addedPermissions,
|
|
313
|
+
addedPermissions = _rest$addedPermission === void 0 ? [] : _rest$addedPermission,
|
|
314
|
+
_rest$removedPermissi = rest.removedPermissions,
|
|
315
|
+
removedPermissions = _rest$removedPermissi === void 0 ? [] : _rest$removedPermissi,
|
|
316
|
+
_name = rest.name;
|
|
317
|
+
var permissionsToText = function permissionsToText(permissions) {
|
|
318
|
+
return permissions.map(function (permission) {
|
|
319
|
+
return humanize(permission.split(".")[1]);
|
|
320
|
+
}).join(", ");
|
|
321
|
+
};
|
|
322
|
+
var i18nKey = "neetoMolecules.auditLogs.text.updatedRole";
|
|
323
|
+
if (_name) {
|
|
324
|
+
i18nKey = "neetoMolecules.auditLogs.text.updatedRoleName";
|
|
325
|
+
} else if (isPresent(addedPermissions) && isPresent(removedPermissions)) {
|
|
326
|
+
i18nKey = "neetoMolecules.auditLogs.text.modifiedRolePermission";
|
|
327
|
+
} else if (isPresent(addedPermissions)) {
|
|
328
|
+
i18nKey = "neetoMolecules.auditLogs.text.addedRolePermission";
|
|
329
|
+
} else if (isPresent(removedPermissions)) {
|
|
330
|
+
i18nKey = "neetoMolecules.auditLogs.text.removedRolePermission";
|
|
331
|
+
}
|
|
332
|
+
return /*#__PURE__*/jsx(Trans, {
|
|
333
|
+
i18nKey: i18nKey,
|
|
334
|
+
additionalValues: {
|
|
335
|
+
performedBy: performedBy,
|
|
336
|
+
roleName: organizationRole || "role",
|
|
337
|
+
name: _name,
|
|
338
|
+
addedPermissionsText: permissionsToText(addedPermissions),
|
|
339
|
+
removedPermissionsText: permissionsToText(removedPermissions),
|
|
340
|
+
addedPermissionsCount: addedPermissions.length,
|
|
341
|
+
removedPermissionsCount: removedPermissions.length
|
|
342
|
+
}
|
|
255
343
|
});
|
|
256
|
-
var addedPermissionsText = permissionsArray.join(", ");
|
|
257
|
-
return (
|
|
258
|
-
/*#__PURE__*/
|
|
259
|
-
// Disabling as we're using the same key for both singular and plural cases
|
|
260
|
-
// eslint-disable-next-line @bigbinary/neeto/no-missing-localization
|
|
261
|
-
jsx(Trans, {
|
|
262
|
-
i18nKey: "neetoMolecules.auditLogs.text.updatedRole",
|
|
263
|
-
additionalValues: {
|
|
264
|
-
performedBy: performedBy,
|
|
265
|
-
roleName: _roleName,
|
|
266
|
-
addedPermissionsText: addedPermissionsText,
|
|
267
|
-
count: permissionsArray.length
|
|
268
|
-
}
|
|
269
|
-
})
|
|
270
|
-
);
|
|
271
344
|
}
|
|
272
345
|
case ACTIONS.CONNECTED_GOOGLE_CALENDER:
|
|
273
346
|
{
|
|
@@ -338,15 +411,42 @@ var constructAuditLogText = function constructAuditLogText(_ref) {
|
|
|
338
411
|
}
|
|
339
412
|
case ACTIONS.DELETED_ROLE:
|
|
340
413
|
{
|
|
341
|
-
var
|
|
414
|
+
var _roleName = organizationRole || "role";
|
|
342
415
|
return /*#__PURE__*/jsx(Trans, {
|
|
343
416
|
additionalValues: {
|
|
344
417
|
performedBy: performedBy,
|
|
345
|
-
roleName:
|
|
418
|
+
roleName: _roleName
|
|
346
419
|
},
|
|
347
420
|
i18nKey: "neetoMolecules.auditLogs.text.deletedRole"
|
|
348
421
|
});
|
|
349
422
|
}
|
|
423
|
+
case ACTIONS.CREATED_API_KEY:
|
|
424
|
+
{
|
|
425
|
+
return /*#__PURE__*/jsx(Trans, {
|
|
426
|
+
additionalValues: _objectSpread$3({
|
|
427
|
+
performedBy: performedBy
|
|
428
|
+
}, rest),
|
|
429
|
+
i18nKey: "neetoMolecules.auditLogs.text.createdApiKey"
|
|
430
|
+
});
|
|
431
|
+
}
|
|
432
|
+
case ACTIONS.DELETED_API_KEY:
|
|
433
|
+
{
|
|
434
|
+
return /*#__PURE__*/jsx(Trans, {
|
|
435
|
+
additionalValues: _objectSpread$3({
|
|
436
|
+
performedBy: performedBy
|
|
437
|
+
}, rest),
|
|
438
|
+
i18nKey: "neetoMolecules.auditLogs.text.deletedApiKey"
|
|
439
|
+
});
|
|
440
|
+
}
|
|
441
|
+
case ACTIONS.UPDATED_API_KEY:
|
|
442
|
+
{
|
|
443
|
+
return /*#__PURE__*/jsx(Trans, {
|
|
444
|
+
additionalValues: _objectSpread$3({
|
|
445
|
+
performedBy: performedBy
|
|
446
|
+
}, rest),
|
|
447
|
+
i18nKey: "neetoMolecules.auditLogs.text.updatedApiKey"
|
|
448
|
+
});
|
|
449
|
+
}
|
|
350
450
|
default:
|
|
351
451
|
{
|
|
352
452
|
return /*#__PURE__*/jsx(Trans, {
|
|
@@ -358,11 +458,13 @@ var constructAuditLogText = function constructAuditLogText(_ref) {
|
|
|
358
458
|
}
|
|
359
459
|
}
|
|
360
460
|
};
|
|
461
|
+
var indexById = indexBy(prop("id"));
|
|
361
462
|
|
|
362
463
|
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; }
|
|
363
464
|
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; }
|
|
364
465
|
var Card = function Card(_ref) {
|
|
365
466
|
var auditLog = _ref.auditLog,
|
|
467
|
+
countriesMap = _ref.countriesMap,
|
|
366
468
|
index = _ref.index,
|
|
367
469
|
totalCount = _ref.totalCount;
|
|
368
470
|
var key = auditLog.key,
|
|
@@ -373,11 +475,13 @@ var Card = function Card(_ref) {
|
|
|
373
475
|
var performedBy = (performer === null || performer === void 0 ? void 0 : performer.name) || "";
|
|
374
476
|
var performedAt = dateFormat.dateTime(updatedAt);
|
|
375
477
|
var auditText = constructAuditLogText(_objectSpread$2({
|
|
478
|
+
countriesMap: countriesMap,
|
|
376
479
|
action: action,
|
|
377
480
|
performedBy: performedBy
|
|
378
481
|
}, metadata));
|
|
379
482
|
var Icon = AUDIT_ICON_MAP[action];
|
|
380
483
|
return /*#__PURE__*/jsxs("div", {
|
|
484
|
+
"data-testid": "audit-log-card",
|
|
381
485
|
className: classnames("align-items-center neeto-ui-border-gray-200 flex w-full gap-x-4 border-b border-l border-r p-3", {
|
|
382
486
|
"rounded-t-md border-t": index === 0,
|
|
383
487
|
"rounded-b-md": index === totalCount - 1
|
|
@@ -390,13 +494,16 @@ var Card = function Card(_ref) {
|
|
|
390
494
|
})
|
|
391
495
|
}), /*#__PURE__*/jsxs("div", {
|
|
392
496
|
className: "flex flex-col gap-y-2",
|
|
497
|
+
"data-testid": "audit-log-content",
|
|
393
498
|
children: [/*#__PURE__*/jsx(Typography, {
|
|
394
499
|
component: "span",
|
|
500
|
+
"data-testid": "audit-log-text",
|
|
395
501
|
lineHeight: "normal",
|
|
396
502
|
style: "body2",
|
|
397
503
|
children: auditText
|
|
398
504
|
}), /*#__PURE__*/jsx(Typography, {
|
|
399
505
|
className: "neeto-ui-text-gray-500 m-0",
|
|
506
|
+
"data-testid": "audit-log-timestamp",
|
|
400
507
|
style: "body3",
|
|
401
508
|
children: performedAt
|
|
402
509
|
})]
|
|
@@ -409,8 +516,12 @@ var fetchAuditLogs = function fetchAuditLogs(params) {
|
|
|
409
516
|
params: params
|
|
410
517
|
});
|
|
411
518
|
};
|
|
519
|
+
var fetchCountries = function fetchCountries() {
|
|
520
|
+
return axios.get("neeto_team_members/profile/countries");
|
|
521
|
+
};
|
|
412
522
|
var auditLogsApi = {
|
|
413
|
-
fetchAuditLogs: fetchAuditLogs
|
|
523
|
+
fetchAuditLogs: fetchAuditLogs,
|
|
524
|
+
fetchCountries: fetchCountries
|
|
414
525
|
};
|
|
415
526
|
|
|
416
527
|
function ownKeys$1(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
@@ -427,6 +538,14 @@ var useFetchAuditLogs = function useFetchAuditLogs(_ref) {
|
|
|
427
538
|
}, options));
|
|
428
539
|
};
|
|
429
540
|
|
|
541
|
+
var useFetchCountries = function useFetchCountries() {
|
|
542
|
+
return useQuery({
|
|
543
|
+
queryKey: [COUNTRIES_LIST_QUERY_KEY],
|
|
544
|
+
queryFn: auditLogsApi.fetchCountries,
|
|
545
|
+
staleTime: DEFAULT_STALE_TIME
|
|
546
|
+
});
|
|
547
|
+
};
|
|
548
|
+
|
|
430
549
|
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; }
|
|
431
550
|
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; }
|
|
432
551
|
var AuditLogs = function AuditLogs(_ref) {
|
|
@@ -452,6 +571,12 @@ var AuditLogs = function AuditLogs(_ref) {
|
|
|
452
571
|
totalCount = _useFetchAuditLogs$da4 === void 0 ? 0 : _useFetchAuditLogs$da4,
|
|
453
572
|
isLoading = _useFetchAuditLogs.isLoading,
|
|
454
573
|
isFetching = _useFetchAuditLogs.isFetching;
|
|
574
|
+
var _useFetchCountries = useFetchCountries(),
|
|
575
|
+
countriesData = _useFetchCountries.data;
|
|
576
|
+
var countriesList = countriesData === null || countriesData === void 0 ? void 0 : countriesData.countries;
|
|
577
|
+
var countriesMap = useMemo(function () {
|
|
578
|
+
return countriesList ? indexById(countriesList) : {};
|
|
579
|
+
}, [countriesList]);
|
|
455
580
|
if (isLoading || isFetching) {
|
|
456
581
|
return /*#__PURE__*/jsx("div", {
|
|
457
582
|
className: "flex h-full w-full items-center justify-center",
|
|
@@ -459,14 +584,17 @@ var AuditLogs = function AuditLogs(_ref) {
|
|
|
459
584
|
});
|
|
460
585
|
}
|
|
461
586
|
return /*#__PURE__*/jsxs(Container, {
|
|
462
|
-
|
|
587
|
+
isHeaderFixed: true,
|
|
588
|
+
className: "overflow-hidden",
|
|
463
589
|
children: [/*#__PURE__*/jsx(Header, _objectSpread({
|
|
590
|
+
className: "px-5 md:px-10",
|
|
464
591
|
title: t("neetoMolecules.auditLogs.title")
|
|
465
592
|
}, headerProps)), isPresent(auditLogs) ? /*#__PURE__*/jsx("div", {
|
|
466
|
-
className: "w-full",
|
|
593
|
+
className: "w-full grow overflow-y-auto px-5 md:px-10",
|
|
467
594
|
children: auditLogs.map(function (auditLog, index) {
|
|
468
595
|
return /*#__PURE__*/createElement(Card, {
|
|
469
596
|
auditLog: auditLog,
|
|
597
|
+
countriesMap: countriesMap,
|
|
470
598
|
index: index,
|
|
471
599
|
key: auditLog.id,
|
|
472
600
|
totalCount: auditLogs.length
|
|
@@ -478,11 +606,13 @@ var AuditLogs = function AuditLogs(_ref) {
|
|
|
478
606
|
helpText: noDataHelpText,
|
|
479
607
|
title: noDataTitle || t("neetoMolecules.auditLogs.noData")
|
|
480
608
|
})
|
|
481
|
-
}), /*#__PURE__*/jsx(
|
|
482
|
-
className: "
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
609
|
+
}), totalCount > 0 && /*#__PURE__*/jsx("div", {
|
|
610
|
+
className: "flex w-full justify-end px-5 py-4 md:px-10",
|
|
611
|
+
children: /*#__PURE__*/jsx(Pagination, {
|
|
612
|
+
count: totalCount,
|
|
613
|
+
pageNo: parseInt(page),
|
|
614
|
+
pageSize: AUDIT_LOGS_PAGE_SIZE
|
|
615
|
+
})
|
|
486
616
|
})]
|
|
487
617
|
});
|
|
488
618
|
};
|
package/dist/AuditLogs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AuditLogs.js","sources":["../src/components/AuditLogs/constants.js","../src/components/AuditLogs/Trans.jsx","../src/components/AuditLogs/utils.jsx","../src/components/AuditLogs/Card.jsx","../src/components/AuditLogs/api.js","../src/components/AuditLogs/useAuditLogsApi.js","../src/components/AuditLogs/index.jsx"],"sourcesContent":["import {\n User,\n UserAdd,\n UserCircle,\n UserRemove,\n UserSettings,\n CustomDomain,\n} from \"neetoicons\";\nimport { GoogleCalendar, Zoom, Stripe, StripeTypeface } from \"neetoicons/misc\";\n\nexport const AUDIT_LOGS_QUERY_KEY = \"audit-logs\";\n\nexport const ACTIONS = {\n INVITED_USERS: \"invitedUsers\",\n USER_SIGNED_UP: \"userSignedUp\",\n UPDATED_USER: \"updatedUser\",\n BULK_UPDATE_USERS: \"bulkUpdateUsers\",\n UPDATED_USER_PROFILE: \"updatedUserProfile\",\n CREATED_ROLE: \"createdRole\",\n UPDATED_ROLE: \"updatedRole\",\n DELETED_ROLE: \"deletedRole\",\n CONNECTED_GOOGLE_CALENDER: \"connectedGoogleCalendar\",\n DISCONNECTED_GOOGLE_CALENDER: \"disconnectedGoogleCalendar\",\n CONNECTED_STRIPE_ACCOUNT: \"connectedStripeAccount\",\n DISCONNECTED_STRIPE_ACCOUNT: \"disconnectedStripeAccount\",\n CONNECTED_ZOOM_INTEGRATION: \"connectedZoomIntegration\",\n DISCONNECTED_ZOOM_INTEGRATION: \"disconnectedZoomIntegration\",\n CONNECTED_CUSTOM_DOMAIN: \"connectedCustomDomain\",\n};\n\nexport const ADDITIONAL_DETAILS_KEYS = {\n ACTION: \"action\",\n PERFORMED_BY: \"performedBy\",\n PERFORMED_AT: \"performedAt\",\n PRODUCT: \"product\",\n};\n\nexport const AUDIT_ICON_MAP = {\n [ACTIONS.INVITED_USERS]: UserCircle,\n [ACTIONS.USER_SIGNED_UP]: UserAdd,\n [ACTIONS.UPDATED_USER]: User,\n [ACTIONS.BULK_UPDATE_USERS]: User,\n [ACTIONS.UPDATED_USER_PROFILE]: UserSettings,\n [ACTIONS.CREATED_ROLE]: UserAdd,\n [ACTIONS.UPDATED_ROLE]: UserSettings,\n [ACTIONS.DELETED_ROLE]: UserRemove,\n [ACTIONS.CONNECTED_GOOGLE_CALENDER]: GoogleCalendar,\n [ACTIONS.DISCONNECTED_GOOGLE_CALENDER]: GoogleCalendar,\n [ACTIONS.CONNECTED_STRIPE_ACCOUNT]: StripeTypeface,\n [ACTIONS.DISCONNECTED_STRIPE_ACCOUNT]: Stripe,\n [ACTIONS.CONNECTED_ZOOM_INTEGRATION]: Zoom,\n [ACTIONS.DISCONNECTED_ZOOM_INTEGRATION]: Zoom,\n [ACTIONS.CONNECTED_CUSTOM_DOMAIN]: CustomDomain,\n};\n\nexport const AUDIT_LOGS_PAGE_SIZE = 12;\n","import { globalProps } from \"neetocommons/initializers\";\nimport { Typography } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { Trans as ReactTrans } from \"react-i18next\";\n\nconst Trans = ({\n i18nKey,\n additionalValues = {},\n additionalComponents = {},\n}) => (\n <ReactTrans\n {...{ i18nKey }}\n components={{\n Code: (\n <Typography\n className=\"neeto-ui-rounded-md neeto-ui-bg-gray-100 p-1\"\n component=\"code\"\n style=\"body3\"\n />\n ),\n Semibold: (\n <Typography\n className=\"n inline-block text-sm font-medium\"\n component=\"p\"\n />\n ),\n ...additionalComponents,\n }}\n values={{\n productSuffix: globalProps.appName,\n ...additionalValues,\n }}\n />\n);\n\nTrans.propTypes = {\n i18nKey: PropTypes.string.isRequired,\n additionalValues: PropTypes.object,\n additionalComponents: PropTypes.objectOf(PropTypes.element),\n};\n\nexport default Trans;\n","import { snakeToCamelCase, isNotEmpty, isPresent, humanize } from \"neetocist\";\nimport { values } from \"ramda\";\n\nimport { ACTIONS } from \"./constants\";\nimport Trans from \"./Trans\";\n\nconst formatChangedFields = changes => {\n const fields = Object.keys(changes).map((field, index) => {\n const change = changes[field];\n let element;\n\n if (change && isPresent(change.from)) {\n element = (\n <span key={field}>\n <Trans\n i18nKey=\"neetoMolecules.auditLogs.text.updatedFieldsWithPreviousValue\"\n additionalValues={{\n field: humanize(field),\n from: change.from,\n to: change.to,\n }}\n />\n </span>\n );\n } else {\n element = (\n <span key={field}>\n <Trans\n additionalValues={{ field: humanize(field), to: change.to }}\n i18nKey=\"neetoMolecules.auditLogs.text.updatedFieldsWithNewValue\"\n />\n </span>\n );\n }\n\n return index > 0\n ? [<span key={`sep-${field}`}>, </span>, element]\n : element;\n });\n\n return fields.flat();\n};\n\nexport const transformAction = action =>\n snakeToCamelCase(action.replace(\"audit_logs.organization.\", \"\"));\n\nexport const constructAuditLogText = ({\n action,\n performedBy,\n emails = [],\n firstName,\n lastName,\n organizationRole,\n email,\n changes = {},\n status,\n message,\n errorMessage,\n addedPermissions,\n}) => {\n switch (action) {\n case ACTIONS.INVITED_USERS: {\n if (status === \"success\" && isNotEmpty(emails)) {\n const emailList = emails.join(\", \");\n\n return (\n <Trans\n additionalValues={{ performedBy, emailList }}\n i18nKey=\"neetoMolecules.auditLogs.text.invitedUsers\"\n />\n );\n }\n\n return (\n <Trans\n additionalValues={{ performedBy, errorMessage }}\n i18nKey=\"neetoMolecules.auditLogs.text.invitedUsersFailed\"\n />\n );\n }\n\n case ACTIONS.USER_SIGNED_UP: {\n const name = [firstName, lastName].filter(Boolean).join(\" \");\n const userIdentifier = name || organizationRole || email || \"User\";\n\n return (\n <Trans\n additionalValues={{ userIdentifier }}\n i18nKey=\"neetoMolecules.auditLogs.text.userSignedUp\"\n />\n );\n }\n\n case ACTIONS.UPDATED_USER: {\n const changedFields = formatChangedFields(changes);\n const affectedUser = email || \"user\";\n\n return (\n <Trans\n additionalComponents={{ ChangedFields: <>{changedFields}</> }}\n additionalValues={{ performedBy, affectedUser, changedFields }}\n i18nKey=\"neetoMolecules.auditLogs.text.updatedUser\"\n />\n );\n }\n\n case ACTIONS.BULK_UPDATE_USERS: {\n if (status === \"success\" && isNotEmpty(emails)) {\n const emailList = emails.join(\", \");\n\n return (\n <Trans\n additionalValues={{ performedBy, emailList, message }}\n i18nKey=\"neetoMolecules.auditLogs.text.bulkUpdateUsers\"\n />\n );\n }\n\n return (\n <Trans\n additionalValues={{ performedBy, errorMessage }}\n i18nKey=\"neetoMolecules.auditLogs.text.bulkUpdateUsersFailed\"\n />\n );\n }\n\n case ACTIONS.UPDATED_USER_PROFILE: {\n const changedFields = formatChangedFields(changes);\n\n return (\n <Trans\n additionalComponents={{ ChangedFields: <>{changedFields}</> }}\n additionalValues={{ performedBy }}\n i18nKey=\"neetoMolecules.auditLogs.text.updatedUserProfile\"\n />\n );\n }\n\n case ACTIONS.CREATED_ROLE: {\n const roleName = organizationRole || \"role\";\n\n return (\n <Trans\n additionalValues={{ performedBy, roleName }}\n i18nKey=\"neetoMolecules.auditLogs.text.createdRole\"\n />\n );\n }\n\n case ACTIONS.UPDATED_ROLE: {\n const roleName = organizationRole || \"role\";\n const permissionsArray = values(addedPermissions).map(permission =>\n humanize(permission.split(\".\")[1])\n );\n const addedPermissionsText = permissionsArray.join(\", \");\n\n return (\n // Disabling as we're using the same key for both singular and plural cases\n // eslint-disable-next-line @bigbinary/neeto/no-missing-localization\n <Trans\n i18nKey=\"neetoMolecules.auditLogs.text.updatedRole\"\n additionalValues={{\n performedBy,\n roleName,\n addedPermissionsText,\n count: permissionsArray.length,\n }}\n />\n );\n }\n\n case ACTIONS.CONNECTED_GOOGLE_CALENDER: {\n return (\n <Trans\n i18nKey=\"neetoMolecules.auditLogs.text.connectedGoogleCalender\"\n additionalValues={{\n performedBy,\n emailAddress: changes.emailAddress,\n }}\n />\n );\n }\n\n case ACTIONS.DISCONNECTED_GOOGLE_CALENDER: {\n return (\n <Trans\n additionalValues={{ performedBy }}\n i18nKey=\"neetoMolecules.auditLogs.text.disconnectedGoogleCalender\"\n />\n );\n }\n\n case ACTIONS.CONNECTED_STRIPE_ACCOUNT: {\n return (\n <Trans\n i18nKey=\"neetoMolecules.auditLogs.text.connectedStripeAccount\"\n additionalValues={{\n performedBy,\n stripeAccountId: changes.stripeAccountId,\n }}\n />\n );\n }\n\n case ACTIONS.DISCONNECTED_STRIPE_ACCOUNT: {\n return (\n <Trans\n additionalValues={{ performedBy }}\n i18nKey=\"neetoMolecules.auditLogs.text.disconnectedStripeAccount\"\n />\n );\n }\n\n case ACTIONS.CONNECTED_ZOOM_INTEGRATION: {\n return (\n <Trans\n i18nKey=\"neetoMolecules.auditLogs.text.connectedZoomAccount\"\n additionalValues={{\n performedBy,\n zoomAccountId: changes.zoomAccountId,\n }}\n />\n );\n }\n\n case ACTIONS.DISCONNECTED_ZOOM_INTEGRATION: {\n return (\n <Trans\n additionalValues={{ performedBy }}\n i18nKey=\"neetoMolecules.auditLogs.text.disconnectedZoomAccount\"\n />\n );\n }\n\n case ACTIONS.CONNECTED_CUSTOM_DOMAIN: {\n return (\n <Trans\n additionalValues={{ performedBy, hostname: changes.hostname }}\n i18nKey=\"neetoMolecules.auditLogs.text.connectedCustomDomain\"\n />\n );\n }\n\n case ACTIONS.DELETED_ROLE: {\n const roleName = organizationRole || \"role\";\n\n return (\n <Trans\n additionalValues={{ performedBy, roleName }}\n i18nKey=\"neetoMolecules.auditLogs.text.deletedRole\"\n />\n );\n }\n\n default: {\n return (\n <Trans\n additionalValues={{ performedBy }}\n i18nKey=\"neetoMolecules.auditLogs.text.performedAction\"\n />\n );\n }\n }\n};\n","import classnames from \"classnames\";\nimport { dateFormat } from \"neetocommons/utils\";\nimport { Typography } from \"neetoui\";\n\nimport { AUDIT_ICON_MAP } from \"./constants\";\nimport { constructAuditLogText, transformAction } from \"./utils\";\n\nconst Card = ({ auditLog, index, totalCount }) => {\n const { key, metadata, performer, updatedAt } = auditLog;\n\n const action = transformAction(key);\n const performedBy = performer?.name || \"\";\n const performedAt = dateFormat.dateTime(updatedAt);\n\n const auditText = constructAuditLogText({\n action,\n performedBy,\n ...metadata,\n });\n\n const Icon = AUDIT_ICON_MAP[action];\n\n return (\n <div\n className={classnames(\n \"align-items-center neeto-ui-border-gray-200 flex w-full gap-x-4 border-b border-l border-r p-3\",\n {\n \"rounded-t-md border-t\": index === 0,\n \"rounded-b-md\": index === totalCount - 1,\n }\n )}\n >\n <div className=\"neeto-ui-rounded-full neeto-ui-bg-gray-100 flex size-10 flex-shrink-0 items-center justify-center\">\n <Icon className=\"neeto-ui-text-gray-600 flex-shrink-0\" size={22} />\n </div>\n <div className=\"flex flex-col gap-y-2\">\n <Typography component=\"span\" lineHeight=\"normal\" style=\"body2\">\n {auditText}\n </Typography>\n <Typography className=\"neeto-ui-text-gray-500 m-0\" style=\"body3\">\n {performedAt}\n </Typography>\n </div>\n </div>\n );\n};\n\nexport default Card;\n","import axios from \"axios\";\n\nconst fetchAuditLogs = params => axios.get(\"api/v1/audit_logs\", { params });\n\nconst auditLogsApi = { fetchAuditLogs };\n\nexport default auditLogsApi;\n","import { useQuery } from \"@tanstack/react-query\";\n\nimport auditLogsApi from \"./api\";\nimport { AUDIT_LOGS_QUERY_KEY } from \"./constants\";\n\nexport const useFetchAuditLogs = ({ params, options = {} }) =>\n useQuery({\n queryKey: [AUDIT_LOGS_QUERY_KEY, params],\n queryFn: () => auditLogsApi.fetchAuditLogs(params),\n ...options,\n });\n","import { isPresent } from \"neetocist\";\nimport { DEFAULT_PAGE_INDEX } from \"neetocommons/constants\";\nimport { useQueryParams } from \"neetocommons/react-utils\";\nimport { NoData, Spinner, Pagination } from \"neetoui\";\nimport propTypes from \"prop-types\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Container from \"components/Container\";\nimport Header from \"components/Header\";\n\nimport Card from \"./Card\";\nimport { AUDIT_LOGS_PAGE_SIZE } from \"./constants\";\nimport { useFetchAuditLogs } from \"./useAuditLogsApi\";\n\nconst AuditLogs = ({ headerProps, noDataHelpText, noDataTitle }) => {\n const { t } = useTranslation();\n\n const { page = DEFAULT_PAGE_INDEX } = useQueryParams();\n\n const {\n data: { auditLogs = [], totalCount = 0 } = {},\n isLoading,\n isFetching,\n } = useFetchAuditLogs({ params: { page, pageSize: AUDIT_LOGS_PAGE_SIZE } });\n\n if (isLoading || isFetching) {\n return (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n );\n }\n\n return (\n <Container className=\"relative\">\n <Header title={t(\"neetoMolecules.auditLogs.title\")} {...headerProps} />\n {isPresent(auditLogs) ? (\n <div className=\"w-full\">\n {auditLogs.map((auditLog, index) => (\n <Card\n {...{ auditLog, index }}\n key={auditLog.id}\n totalCount={auditLogs.length}\n />\n ))}\n </div>\n ) : (\n <div className=\"flex h-full w-full items-center justify-center\">\n <NoData\n helpText={noDataHelpText}\n title={noDataTitle || t(\"neetoMolecules.auditLogs.noData\")}\n />\n </div>\n )}\n <Pagination\n className=\"neeto-ui-bg-white fixed bottom-5 right-6\"\n count={totalCount}\n pageNo={parseInt(page)}\n pageSize={AUDIT_LOGS_PAGE_SIZE}\n />\n </Container>\n );\n};\n\nAuditLogs.propTypes = {\n /**\n * Props to be passed to the `Header` component.\n */\n headerProps: propTypes.object,\n /**\n * Help text to be displayed to the `NoData` component when there are no audit logs.\n */\n noDataHelpText: propTypes.string,\n /**\n * Title to be passed to the `NoData` component when there are no audit logs.\n */\n noDataTitle: propTypes.string,\n};\n\nexport default AuditLogs;\n"],"names":["AUDIT_LOGS_QUERY_KEY","ACTIONS","INVITED_USERS","USER_SIGNED_UP","UPDATED_USER","BULK_UPDATE_USERS","UPDATED_USER_PROFILE","CREATED_ROLE","UPDATED_ROLE","DELETED_ROLE","CONNECTED_GOOGLE_CALENDER","DISCONNECTED_GOOGLE_CALENDER","CONNECTED_STRIPE_ACCOUNT","DISCONNECTED_STRIPE_ACCOUNT","CONNECTED_ZOOM_INTEGRATION","DISCONNECTED_ZOOM_INTEGRATION","CONNECTED_CUSTOM_DOMAIN","AUDIT_ICON_MAP","_AUDIT_ICON_MAP","_defineProperty","UserCircle","UserAdd","User","UserSettings","UserRemove","GoogleCalendar","StripeTypeface","Stripe","Zoom","CustomDomain","AUDIT_LOGS_PAGE_SIZE","Trans","_ref","i18nKey","_ref$additionalValues","additionalValues","_ref$additionalCompon","additionalComponents","_jsx","ReactTrans","components","_objectSpread","Code","Typography","className","component","style","Semibold","values","productSuffix","globalProps","appName","formatChangedFields","changes","fields","Object","keys","map","field","index","change","element","isPresent","from","children","humanize","to","concat","flat","transformAction","action","snakeToCamelCase","replace","constructAuditLogText","performedBy","_ref$emails","emails","firstName","lastName","organizationRole","email","_ref$changes","status","message","errorMessage","addedPermissions","isNotEmpty","emailList","join","name","filter","Boolean","userIdentifier","changedFields","affectedUser","ChangedFields","_Fragment","roleName","permissionsArray","permission","split","addedPermissionsText","count","length","emailAddress","stripeAccountId","zoomAccountId","hostname","Card","auditLog","totalCount","key","metadata","performer","updatedAt","performedAt","dateFormat","dateTime","auditText","Icon","_jsxs","classnames","size","lineHeight","fetchAuditLogs","params","axios","get","auditLogsApi","useFetchAuditLogs","_ref$options","options","useQuery","queryKey","queryFn","AuditLogs","headerProps","noDataHelpText","noDataTitle","_useTranslation","useTranslation","t","_useQueryParams","useQueryParams","_useQueryParams$page","page","DEFAULT_PAGE_INDEX","_useFetchAuditLogs","pageSize","_useFetchAuditLogs$da","data","_useFetchAuditLogs$da2","_useFetchAuditLogs$da3","auditLogs","_useFetchAuditLogs$da4","isLoading","isFetching","Spinner","Container","Header","title","_createElement","id","NoData","helpText","Pagination","pageNo","parseInt"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AuditLogs.js","sources":["../src/components/AuditLogs/constants.js","../src/components/AuditLogs/Trans.jsx","../src/components/AuditLogs/utils.jsx","../src/components/AuditLogs/Card.jsx","../src/components/AuditLogs/api.js","../src/components/AuditLogs/useAuditLogsApi.js","../src/components/AuditLogs/useCountriesApi.js","../src/components/AuditLogs/index.jsx"],"sourcesContent":["import { LANGUAGE_OPTIONS } from \"neetocommons/constants\";\nimport {\n User,\n UserAdd,\n UserCircle,\n UserRemove,\n UserSettings,\n CustomDomain,\n ApiKeys,\n} from \"neetoicons\";\nimport { GoogleCalendar, Zoom, Stripe, StripeTypeface } from \"neetoicons/misc\";\nimport { indexBy, prop } from \"ramda\";\n\nexport const AUDIT_LOGS_QUERY_KEY = \"audit-logs\";\nexport const COUNTRIES_LIST_QUERY_KEY = \"countries-list\"; // Same key as that used in \"neeto-team-members\" for cache reuse.\n\nexport const ACTIONS = {\n INVITED_USERS: \"invitedUsers\",\n USER_SIGNED_UP: \"userSignedUp\",\n UPDATED_USER: \"updatedUser\",\n BULK_UPDATE_USERS: \"bulkUpdateUsers\",\n UPDATED_USER_PROFILE: \"updatedUserProfile\",\n CREATED_ROLE: \"createdRole\",\n UPDATED_ROLE: \"updatedRole\",\n DELETED_ROLE: \"deletedRole\",\n CONNECTED_GOOGLE_CALENDER: \"connectedGoogleCalendar\",\n DISCONNECTED_GOOGLE_CALENDER: \"disconnectedGoogleCalendar\",\n CONNECTED_STRIPE_ACCOUNT: \"connectedStripeAccount\",\n DISCONNECTED_STRIPE_ACCOUNT: \"disconnectedStripeAccount\",\n CONNECTED_ZOOM_INTEGRATION: \"connectedZoomIntegration\",\n DISCONNECTED_ZOOM_INTEGRATION: \"disconnectedZoomIntegration\",\n CONNECTED_CUSTOM_DOMAIN: \"connectedCustomDomain\",\n CREATED_API_KEY: \"createdApiKey\",\n DELETED_API_KEY: \"deletedApiKey\",\n UPDATED_API_KEY: \"updatedApiKey\",\n};\n\nexport const ADDITIONAL_DETAILS_KEYS = {\n ACTION: \"action\",\n PERFORMED_BY: \"performedBy\",\n PERFORMED_AT: \"performedAt\",\n PRODUCT: \"product\",\n};\n\nexport const AUDIT_ICON_MAP = {\n [ACTIONS.INVITED_USERS]: UserCircle,\n [ACTIONS.USER_SIGNED_UP]: UserAdd,\n [ACTIONS.UPDATED_USER]: User,\n [ACTIONS.BULK_UPDATE_USERS]: User,\n [ACTIONS.UPDATED_USER_PROFILE]: UserSettings,\n [ACTIONS.CREATED_ROLE]: UserAdd,\n [ACTIONS.UPDATED_ROLE]: UserSettings,\n [ACTIONS.DELETED_ROLE]: UserRemove,\n [ACTIONS.CONNECTED_GOOGLE_CALENDER]: GoogleCalendar,\n [ACTIONS.DISCONNECTED_GOOGLE_CALENDER]: GoogleCalendar,\n [ACTIONS.CONNECTED_STRIPE_ACCOUNT]: StripeTypeface,\n [ACTIONS.DISCONNECTED_STRIPE_ACCOUNT]: Stripe,\n [ACTIONS.CONNECTED_ZOOM_INTEGRATION]: Zoom,\n [ACTIONS.DISCONNECTED_ZOOM_INTEGRATION]: Zoom,\n [ACTIONS.CONNECTED_CUSTOM_DOMAIN]: CustomDomain,\n [ACTIONS.CREATED_API_KEY]: ApiKeys,\n [ACTIONS.DELETED_API_KEY]: ApiKeys,\n [ACTIONS.UPDATED_API_KEY]: ApiKeys,\n};\n\nexport const AUDIT_LOGS_PAGE_SIZE = 12;\n\nexport const LANGUAGE_OPTIONS_MAP = indexBy(prop(\"value\"), LANGUAGE_OPTIONS);\n\nexport const DATE_FORMAT_OPTIONS_MAP = {\n \"%m/%d/%Y\": \"MM/DD/YYYY\",\n \"%d/%m/%Y\": \"DD/MM/YYYY\",\n \"%Y/%m/%d\": \"YYYY/MM/DD\",\n};\n","import { globalProps } from \"neetocommons/initializers\";\nimport { Typography } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { Trans as ReactTrans } from \"react-i18next\";\n\nconst Trans = ({\n i18nKey,\n additionalValues = {},\n additionalComponents = {},\n}) => (\n <ReactTrans\n {...{ i18nKey }}\n components={{\n Code: (\n <Typography\n className=\"neeto-ui-rounded-md neeto-ui-bg-gray-100 p-1\"\n component=\"code\"\n style=\"body3\"\n />\n ),\n Semibold: (\n <Typography\n className=\"n inline-block text-sm font-medium\"\n component=\"p\"\n />\n ),\n ...additionalComponents,\n }}\n values={{\n productSuffix: globalProps.appName,\n ...additionalValues,\n }}\n />\n);\n\nTrans.propTypes = {\n i18nKey: PropTypes.string.isRequired,\n additionalValues: PropTypes.object,\n additionalComponents: PropTypes.objectOf(PropTypes.element),\n};\n\nexport default Trans;\n","import { snakeToCamelCase, isNotEmpty, isPresent, humanize } from \"neetocist\";\nimport { identity, indexBy, prop } from \"ramda\";\n\nimport {\n ACTIONS,\n DATE_FORMAT_OPTIONS_MAP,\n LANGUAGE_OPTIONS_MAP,\n} from \"./constants\";\nimport Trans from \"./Trans\";\n\nconst createFieldValueFormatter = ({ field, countriesMap }) => {\n switch (field) {\n case \"language\":\n return value => LANGUAGE_OPTIONS_MAP[value]?.label || value;\n case \"dateFormat\":\n return value => DATE_FORMAT_OPTIONS_MAP[value] || value;\n case \"countryIdentifier\":\n return value => countriesMap[value]?.name || value;\n default:\n return identity;\n }\n};\n\nconst formatChangedFields = ({ changes, countriesMap }) => {\n const fields = Object.keys(changes).map((field, index) => {\n const change = changes[field];\n const valueFormatter = createFieldValueFormatter({ field, countriesMap });\n let element;\n\n if (field === \"profileImage\") {\n element = (\n <span key={field}>\n <Trans\n additionalValues={{ field: humanize(field) }}\n i18nKey=\"neetoMolecules.auditLogs.text.updatedFields\"\n />\n </span>\n );\n } else if (change && isPresent(change.from)) {\n element = (\n <span key={field}>\n <Trans\n i18nKey=\"neetoMolecules.auditLogs.text.updatedFieldsWithPreviousValue\"\n additionalValues={{\n field: humanize(field),\n from: valueFormatter(change.from),\n to: valueFormatter(change.to),\n }}\n />\n </span>\n );\n } else {\n element = (\n <span key={field}>\n <Trans\n i18nKey=\"neetoMolecules.auditLogs.text.updatedFieldsWithNewValue\"\n additionalValues={{\n field: humanize(field),\n to: valueFormatter(change.to),\n }}\n />\n </span>\n );\n }\n\n return index > 0\n ? [<span key={`sep-${field}`}>, </span>, element]\n : element;\n });\n\n return fields.flat();\n};\n\nexport const transformAction = action =>\n snakeToCamelCase(action.replace(\"audit_logs.organization.\", \"\"));\n\nexport const constructAuditLogText = ({\n countriesMap = {},\n action,\n performedBy,\n emails = [],\n firstName,\n lastName,\n organizationRole,\n email,\n changes = {},\n status,\n message,\n errorMessage,\n ...rest\n}) => {\n switch (action) {\n case ACTIONS.INVITED_USERS: {\n if (status === \"success\" && isNotEmpty(emails)) {\n const emailList = emails.join(\", \");\n\n return (\n <Trans\n additionalValues={{ performedBy, emailList }}\n i18nKey=\"neetoMolecules.auditLogs.text.invitedUsers\"\n />\n );\n }\n\n return (\n <Trans\n additionalValues={{ performedBy, errorMessage }}\n i18nKey=\"neetoMolecules.auditLogs.text.invitedUsersFailed\"\n />\n );\n }\n\n case ACTIONS.USER_SIGNED_UP: {\n const name = [firstName, lastName].filter(Boolean).join(\" \");\n const userIdentifier = name || organizationRole || email || \"User\";\n\n return (\n <Trans\n additionalValues={{ userIdentifier }}\n i18nKey=\"neetoMolecules.auditLogs.text.userSignedUp\"\n />\n );\n }\n\n case ACTIONS.UPDATED_USER: {\n const changedFields = formatChangedFields({ changes, countriesMap });\n const affectedUser = email || \"user\";\n\n return (\n <Trans\n additionalComponents={{ ChangedFields: <>{changedFields}</> }}\n additionalValues={{ performedBy, affectedUser, changedFields }}\n i18nKey=\"neetoMolecules.auditLogs.text.updatedUser\"\n />\n );\n }\n\n case ACTIONS.BULK_UPDATE_USERS: {\n if (status === \"success\" && isNotEmpty(emails)) {\n const emailList = emails.join(\", \");\n\n return (\n <Trans\n additionalValues={{ performedBy, emailList, message }}\n i18nKey=\"neetoMolecules.auditLogs.text.bulkUpdateUsers\"\n />\n );\n }\n\n return (\n <Trans\n additionalValues={{ performedBy, errorMessage }}\n i18nKey=\"neetoMolecules.auditLogs.text.bulkUpdateUsersFailed\"\n />\n );\n }\n\n case ACTIONS.UPDATED_USER_PROFILE: {\n const changedFields = formatChangedFields({ changes, countriesMap });\n\n return (\n <Trans\n additionalComponents={{ ChangedFields: <>{changedFields}</> }}\n additionalValues={{ performedBy }}\n i18nKey=\"neetoMolecules.auditLogs.text.updatedUserProfile\"\n />\n );\n }\n\n case ACTIONS.CREATED_ROLE: {\n const roleName = organizationRole || \"role\";\n\n return (\n <Trans\n additionalValues={{ performedBy, roleName }}\n i18nKey=\"neetoMolecules.auditLogs.text.createdRole\"\n />\n );\n }\n\n case ACTIONS.UPDATED_ROLE: {\n const { addedPermissions = [], removedPermissions = [], name } = rest;\n\n const permissionsToText = permissions =>\n permissions\n .map(permission => humanize(permission.split(\".\")[1]))\n .join(\", \");\n\n let i18nKey = \"neetoMolecules.auditLogs.text.updatedRole\";\n\n if (name) {\n i18nKey = \"neetoMolecules.auditLogs.text.updatedRoleName\";\n } else if (isPresent(addedPermissions) && isPresent(removedPermissions)) {\n i18nKey = \"neetoMolecules.auditLogs.text.modifiedRolePermission\";\n } else if (isPresent(addedPermissions)) {\n i18nKey = \"neetoMolecules.auditLogs.text.addedRolePermission\";\n } else if (isPresent(removedPermissions)) {\n i18nKey = \"neetoMolecules.auditLogs.text.removedRolePermission\";\n }\n\n return (\n <Trans\n {...{ i18nKey }}\n additionalValues={{\n performedBy,\n roleName: organizationRole || \"role\",\n name,\n addedPermissionsText: permissionsToText(addedPermissions),\n removedPermissionsText: permissionsToText(removedPermissions),\n addedPermissionsCount: addedPermissions.length,\n removedPermissionsCount: removedPermissions.length,\n }}\n />\n );\n }\n\n case ACTIONS.CONNECTED_GOOGLE_CALENDER: {\n return (\n <Trans\n i18nKey=\"neetoMolecules.auditLogs.text.connectedGoogleCalender\"\n additionalValues={{\n performedBy,\n emailAddress: changes.emailAddress,\n }}\n />\n );\n }\n\n case ACTIONS.DISCONNECTED_GOOGLE_CALENDER: {\n return (\n <Trans\n additionalValues={{ performedBy }}\n i18nKey=\"neetoMolecules.auditLogs.text.disconnectedGoogleCalender\"\n />\n );\n }\n\n case ACTIONS.CONNECTED_STRIPE_ACCOUNT: {\n return (\n <Trans\n i18nKey=\"neetoMolecules.auditLogs.text.connectedStripeAccount\"\n additionalValues={{\n performedBy,\n stripeAccountId: changes.stripeAccountId,\n }}\n />\n );\n }\n\n case ACTIONS.DISCONNECTED_STRIPE_ACCOUNT: {\n return (\n <Trans\n additionalValues={{ performedBy }}\n i18nKey=\"neetoMolecules.auditLogs.text.disconnectedStripeAccount\"\n />\n );\n }\n\n case ACTIONS.CONNECTED_ZOOM_INTEGRATION: {\n return (\n <Trans\n i18nKey=\"neetoMolecules.auditLogs.text.connectedZoomAccount\"\n additionalValues={{\n performedBy,\n zoomAccountId: changes.zoomAccountId,\n }}\n />\n );\n }\n\n case ACTIONS.DISCONNECTED_ZOOM_INTEGRATION: {\n return (\n <Trans\n additionalValues={{ performedBy }}\n i18nKey=\"neetoMolecules.auditLogs.text.disconnectedZoomAccount\"\n />\n );\n }\n\n case ACTIONS.CONNECTED_CUSTOM_DOMAIN: {\n return (\n <Trans\n additionalValues={{ performedBy, hostname: changes.hostname }}\n i18nKey=\"neetoMolecules.auditLogs.text.connectedCustomDomain\"\n />\n );\n }\n\n case ACTIONS.DELETED_ROLE: {\n const roleName = organizationRole || \"role\";\n\n return (\n <Trans\n additionalValues={{ performedBy, roleName }}\n i18nKey=\"neetoMolecules.auditLogs.text.deletedRole\"\n />\n );\n }\n\n case ACTIONS.CREATED_API_KEY: {\n return (\n <Trans\n additionalValues={{ performedBy, ...rest }}\n i18nKey=\"neetoMolecules.auditLogs.text.createdApiKey\"\n />\n );\n }\n\n case ACTIONS.DELETED_API_KEY: {\n return (\n <Trans\n additionalValues={{ performedBy, ...rest }}\n i18nKey=\"neetoMolecules.auditLogs.text.deletedApiKey\"\n />\n );\n }\n\n case ACTIONS.UPDATED_API_KEY: {\n return (\n <Trans\n additionalValues={{ performedBy, ...rest }}\n i18nKey=\"neetoMolecules.auditLogs.text.updatedApiKey\"\n />\n );\n }\n\n default: {\n return (\n <Trans\n additionalValues={{ performedBy }}\n i18nKey=\"neetoMolecules.auditLogs.text.performedAction\"\n />\n );\n }\n }\n};\n\nexport const indexById = indexBy(prop(\"id\"));\n","import classnames from \"classnames\";\nimport { dateFormat } from \"neetocommons/utils\";\nimport { Typography } from \"neetoui\";\n\nimport { AUDIT_ICON_MAP } from \"./constants\";\nimport { constructAuditLogText, transformAction } from \"./utils\";\n\nconst Card = ({ auditLog, countriesMap, index, totalCount }) => {\n const { key, metadata, performer, updatedAt } = auditLog;\n\n const action = transformAction(key);\n const performedBy = performer?.name || \"\";\n const performedAt = dateFormat.dateTime(updatedAt);\n\n const auditText = constructAuditLogText({\n countriesMap,\n action,\n performedBy,\n ...metadata,\n });\n\n const Icon = AUDIT_ICON_MAP[action];\n\n return (\n <div\n data-testid=\"audit-log-card\"\n className={classnames(\n \"align-items-center neeto-ui-border-gray-200 flex w-full gap-x-4 border-b border-l border-r p-3\",\n {\n \"rounded-t-md border-t\": index === 0,\n \"rounded-b-md\": index === totalCount - 1,\n }\n )}\n >\n <div className=\"neeto-ui-rounded-full neeto-ui-bg-gray-100 flex size-10 flex-shrink-0 items-center justify-center\">\n <Icon className=\"neeto-ui-text-gray-600 flex-shrink-0\" size={22} />\n </div>\n <div className=\"flex flex-col gap-y-2\" data-testid=\"audit-log-content\">\n <Typography\n component=\"span\"\n data-testid=\"audit-log-text\"\n lineHeight=\"normal\"\n style=\"body2\"\n >\n {auditText}\n </Typography>\n <Typography\n className=\"neeto-ui-text-gray-500 m-0\"\n data-testid=\"audit-log-timestamp\"\n style=\"body3\"\n >\n {performedAt}\n </Typography>\n </div>\n </div>\n );\n};\n\nexport default Card;\n","import axios from \"axios\";\n\nconst fetchAuditLogs = params => axios.get(\"api/v1/audit_logs\", { params });\nconst fetchCountries = () => axios.get(\"neeto_team_members/profile/countries\");\n\nconst auditLogsApi = { fetchAuditLogs, fetchCountries };\n\nexport default auditLogsApi;\n","import { useQuery } from \"@tanstack/react-query\";\n\nimport auditLogsApi from \"./api\";\nimport { AUDIT_LOGS_QUERY_KEY } from \"./constants\";\n\nexport const useFetchAuditLogs = ({ params, options = {} }) =>\n useQuery({\n queryKey: [AUDIT_LOGS_QUERY_KEY, params],\n queryFn: () => auditLogsApi.fetchAuditLogs(params),\n ...options,\n });\n","import { useQuery } from \"@tanstack/react-query\";\nimport { DEFAULT_STALE_TIME } from \"neetocommons/constants\";\n\nimport auditLogsApi from \"./api\";\nimport { COUNTRIES_LIST_QUERY_KEY } from \"./constants\";\n\nexport const useFetchCountries = () =>\n useQuery({\n queryKey: [COUNTRIES_LIST_QUERY_KEY],\n queryFn: auditLogsApi.fetchCountries,\n staleTime: DEFAULT_STALE_TIME,\n });\n","import { useMemo } from \"react\";\n\nimport { isPresent } from \"neetocist\";\nimport { DEFAULT_PAGE_INDEX } from \"neetocommons/constants\";\nimport { useQueryParams } from \"neetocommons/react-utils\";\nimport { NoData, Spinner, Pagination } from \"neetoui\";\nimport propTypes from \"prop-types\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Container from \"components/Container\";\nimport Header from \"components/Header\";\n\nimport Card from \"./Card\";\nimport { AUDIT_LOGS_PAGE_SIZE } from \"./constants\";\nimport { useFetchAuditLogs } from \"./useAuditLogsApi\";\nimport { useFetchCountries } from \"./useCountriesApi\";\nimport { indexById } from \"./utils\";\n\nconst AuditLogs = ({ headerProps, noDataHelpText, noDataTitle }) => {\n const { t } = useTranslation();\n\n const { page = DEFAULT_PAGE_INDEX } = useQueryParams();\n\n const {\n data: { auditLogs = [], totalCount = 0 } = {},\n isLoading,\n isFetching,\n } = useFetchAuditLogs({ params: { page, pageSize: AUDIT_LOGS_PAGE_SIZE } });\n\n const { data: countriesData } = useFetchCountries();\n const countriesList = countriesData?.countries;\n const countriesMap = useMemo(\n () => (countriesList ? indexById(countriesList) : {}),\n [countriesList]\n );\n\n if (isLoading || isFetching) {\n return (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n );\n }\n\n return (\n <Container isHeaderFixed className=\"overflow-hidden\">\n <Header\n className=\"px-5 md:px-10\"\n title={t(\"neetoMolecules.auditLogs.title\")}\n {...headerProps}\n />\n {isPresent(auditLogs) ? (\n <div className=\"w-full grow overflow-y-auto px-5 md:px-10\">\n {auditLogs.map((auditLog, index) => (\n <Card\n {...{ auditLog, countriesMap, index }}\n key={auditLog.id}\n totalCount={auditLogs.length}\n />\n ))}\n </div>\n ) : (\n <div className=\"flex h-full w-full items-center justify-center\">\n <NoData\n helpText={noDataHelpText}\n title={noDataTitle || t(\"neetoMolecules.auditLogs.noData\")}\n />\n </div>\n )}\n {totalCount > 0 && (\n <div className=\"flex w-full justify-end px-5 py-4 md:px-10\">\n <Pagination\n count={totalCount}\n pageNo={parseInt(page)}\n pageSize={AUDIT_LOGS_PAGE_SIZE}\n />\n </div>\n )}\n </Container>\n );\n};\n\nAuditLogs.propTypes = {\n /**\n * Props to be passed to the `Header` component.\n */\n headerProps: propTypes.object,\n /**\n * Help text to be displayed to the `NoData` component when there are no audit logs.\n */\n noDataHelpText: propTypes.string,\n /**\n * Title to be passed to the `NoData` component when there are no audit logs.\n */\n noDataTitle: propTypes.string,\n};\n\nexport default AuditLogs;\n"],"names":["AUDIT_LOGS_QUERY_KEY","COUNTRIES_LIST_QUERY_KEY","ACTIONS","INVITED_USERS","USER_SIGNED_UP","UPDATED_USER","BULK_UPDATE_USERS","UPDATED_USER_PROFILE","CREATED_ROLE","UPDATED_ROLE","DELETED_ROLE","CONNECTED_GOOGLE_CALENDER","DISCONNECTED_GOOGLE_CALENDER","CONNECTED_STRIPE_ACCOUNT","DISCONNECTED_STRIPE_ACCOUNT","CONNECTED_ZOOM_INTEGRATION","DISCONNECTED_ZOOM_INTEGRATION","CONNECTED_CUSTOM_DOMAIN","CREATED_API_KEY","DELETED_API_KEY","UPDATED_API_KEY","AUDIT_ICON_MAP","_AUDIT_ICON_MAP","_defineProperty","UserCircle","UserAdd","User","UserSettings","UserRemove","GoogleCalendar","StripeTypeface","Stripe","Zoom","CustomDomain","ApiKeys","AUDIT_LOGS_PAGE_SIZE","LANGUAGE_OPTIONS_MAP","indexBy","prop","LANGUAGE_OPTIONS","DATE_FORMAT_OPTIONS_MAP","Trans","_ref","i18nKey","_ref$additionalValues","additionalValues","_ref$additionalCompon","additionalComponents","_jsx","ReactTrans","components","_objectSpread","Code","Typography","className","component","style","Semibold","values","productSuffix","globalProps","appName","createFieldValueFormatter","field","countriesMap","value","_LANGUAGE_OPTIONS_MAP","label","_countriesMap$value","name","identity","formatChangedFields","_ref2","changes","fields","Object","keys","map","index","change","valueFormatter","element","children","humanize","isPresent","from","to","concat","flat","transformAction","action","snakeToCamelCase","replace","constructAuditLogText","_ref3","_ref3$countriesMap","performedBy","_ref3$emails","emails","firstName","lastName","organizationRole","email","_ref3$changes","status","message","errorMessage","rest","_objectWithoutProperties","_excluded","isNotEmpty","emailList","join","filter","Boolean","userIdentifier","changedFields","affectedUser","ChangedFields","_Fragment","roleName","_rest$addedPermission","addedPermissions","_rest$removedPermissi","removedPermissions","permissionsToText","permissions","permission","split","addedPermissionsText","removedPermissionsText","addedPermissionsCount","length","removedPermissionsCount","emailAddress","stripeAccountId","zoomAccountId","hostname","indexById","Card","auditLog","totalCount","key","metadata","performer","updatedAt","performedAt","dateFormat","dateTime","auditText","Icon","_jsxs","classnames","size","lineHeight","fetchAuditLogs","params","axios","get","fetchCountries","auditLogsApi","useFetchAuditLogs","_ref$options","options","useQuery","queryKey","queryFn","useFetchCountries","staleTime","DEFAULT_STALE_TIME","AuditLogs","headerProps","noDataHelpText","noDataTitle","_useTranslation","useTranslation","t","_useQueryParams","useQueryParams","_useQueryParams$page","page","DEFAULT_PAGE_INDEX","_useFetchAuditLogs","pageSize","_useFetchAuditLogs$da","data","_useFetchAuditLogs$da2","_useFetchAuditLogs$da3","auditLogs","_useFetchAuditLogs$da4","isLoading","isFetching","_useFetchCountries","countriesData","countriesList","countries","useMemo","Spinner","Container","isHeaderFixed","Header","title","_createElement","id","NoData","helpText","Pagination","count","pageNo","parseInt"],"mappings":"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"}
|