@bigbinary/neeto-molecules 3.15.43 → 3.15.44
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 +539 -0
- package/dist/AuditLogs.js.map +1 -0
- package/dist/BoardView.js +394 -0
- package/dist/BoardView.js.map +1 -0
- package/dist/Breadcrumbs.js +46 -0
- package/dist/Breadcrumbs.js.map +1 -0
- package/dist/BrowserPreview.js +50 -0
- package/dist/BrowserPreview.js.map +1 -0
- package/dist/BrowserSupport.js +348 -0
- package/dist/BrowserSupport.js.map +1 -0
- package/dist/Builder.js +786 -0
- package/dist/Builder.js.map +1 -0
- package/dist/ButtonGroup.js +36 -0
- package/dist/ButtonGroup.js.map +1 -0
- package/dist/CalendarView.js +353 -0
- package/dist/CalendarView.js.map +1 -0
- package/dist/CardLayout.js +49 -0
- package/dist/CardLayout.js.map +1 -0
- package/dist/Chevron-6dLkaXtR.js +246 -0
- package/dist/Chevron-6dLkaXtR.js.map +1 -0
- package/dist/Codeblock.js +58 -0
- package/dist/Codeblock.js.map +1 -0
- package/dist/Columns.js +21 -0
- package/dist/Columns.js.map +1 -0
- package/dist/ConfigurePageSidebar.js +97 -0
- package/dist/ConfigurePageSidebar.js.map +1 -0
- package/dist/ConfirmationModal.js +110 -0
- package/dist/ConfirmationModal.js.map +1 -0
- package/dist/Container.js +38 -0
- package/dist/Container.js.map +1 -0
- package/dist/CopyToClipboardButton.js +82 -0
- package/dist/CopyToClipboardButton.js.map +1 -0
- package/dist/Currency.js +917 -0
- package/dist/Currency.js.map +1 -0
- package/dist/DateFormat.js +45 -0
- package/dist/DateFormat.js.map +1 -0
- package/dist/DateRangeFilter.js +178 -0
- package/dist/DateRangeFilter.js.map +1 -0
- package/dist/DeleteArchiveModal.js +98 -0
- package/dist/DeleteArchiveModal.js.map +1 -0
- package/dist/DeviceIncompatibilityMessage.js +95 -0
- package/dist/DeviceIncompatibilityMessage.js.map +1 -0
- package/dist/DocumentEditor.js +183 -0
- package/dist/DocumentEditor.js.map +1 -0
- package/dist/DownloadMobileAppCallout.js +40 -0
- package/dist/DownloadMobileAppCallout.js.map +1 -0
- package/dist/DynamicVariables.js +115 -0
- package/dist/DynamicVariables.js.map +1 -0
- package/dist/EmailForm.js +567 -0
- package/dist/EmailForm.js.map +1 -0
- package/dist/EmailPreview.js +140 -0
- package/dist/EmailPreview.js.map +1 -0
- package/dist/EmojiPicker.js +112 -0
- package/dist/EmojiPicker.js.map +1 -0
- package/dist/EmojiReactions.js +82 -0
- package/dist/EmojiReactions.js.map +1 -0
- package/dist/Engagements.js +292 -0
- package/dist/Engagements.js.map +1 -0
- package/dist/ErrorPage.js +1811 -0
- package/dist/ErrorPage.js.map +1 -0
- package/dist/FileUpload.js +595 -0
- package/dist/FileUpload.js.map +1 -0
- package/dist/FinderModal.js +280 -0
- package/dist/FinderModal.js.map +1 -0
- package/dist/FloatingActionMenu.js +854 -0
- package/dist/FloatingActionMenu.js.map +1 -0
- package/dist/GoogleFontPicker.js +581 -0
- package/dist/GoogleFontPicker.js.map +1 -0
- package/dist/Header.js +126 -0
- package/dist/Header.js.map +1 -0
- package/dist/HelpPopover.js +83 -0
- package/dist/HelpPopover.js.map +1 -0
- package/dist/IconPicker.js +1159 -0
- package/dist/IconPicker.js.map +1 -0
- package/dist/ImageWithFallback.js +49 -0
- package/dist/ImageWithFallback.js.map +1 -0
- package/dist/InlineInput.js +230 -0
- package/dist/InlineInput.js.map +1 -0
- package/dist/Insights.js +358 -0
- package/dist/Insights.js.map +1 -0
- package/dist/IntegrationCard.js +227 -0
- package/dist/IntegrationCard.js.map +1 -0
- package/dist/IpRestriction.js +3617 -0
- package/dist/IpRestriction.js.map +1 -0
- package/dist/KeyboardShortcuts.js +284 -0
- package/dist/KeyboardShortcuts.js.map +1 -0
- package/dist/LoginPage.js +184 -0
- package/dist/LoginPage.js.map +1 -0
- package/dist/MadeWith.js +41 -0
- package/dist/MadeWith.js.map +1 -0
- package/dist/MenuBar.js +1326 -0
- package/dist/MenuBar.js.map +1 -0
- package/dist/Metadata.js +218 -0
- package/dist/Metadata.js.map +1 -0
- package/dist/MobilePreviewHeader.js +25 -0
- package/dist/MobilePreviewHeader.js.map +1 -0
- package/dist/MoreDropdown.js +163 -0
- package/dist/MoreDropdown.js.map +1 -0
- package/dist/NavigationHeader.js +264 -0
- package/dist/NavigationHeader.js.map +1 -0
- package/dist/NeetoWidget.js +2867 -0
- package/dist/NeetoWidget.js.map +1 -0
- package/dist/Onboarding.js +246 -0
- package/dist/Onboarding.js.map +1 -0
- package/dist/OptionFields.js +717 -0
- package/dist/OptionFields.js.map +1 -0
- package/dist/PageLoader.js +40 -0
- package/dist/PageLoader.js.map +1 -0
- package/dist/PhoneNumber.js +75 -0
- package/dist/PhoneNumber.js.map +1 -0
- package/dist/ProductEmbed.js +884 -0
- package/dist/ProductEmbed.js.map +1 -0
- package/dist/PublishBlock.js +447 -0
- package/dist/PublishBlock.js.map +1 -0
- package/dist/PublishYourItem.js +58 -0
- package/dist/PublishYourItem.js.map +1 -0
- package/dist/Rename.js +366 -0
- package/dist/Rename.js.map +1 -0
- package/dist/ResponsiveDevicePicker.js +63 -0
- package/dist/ResponsiveDevicePicker.js.map +1 -0
- package/dist/Schedule.js +926 -0
- package/dist/Schedule.js.map +1 -0
- package/dist/Scrollable.js +42 -0
- package/dist/Scrollable.js.map +1 -0
- package/dist/Search.js +110 -0
- package/dist/Search.js.map +1 -0
- package/dist/SendToFields.js +2221 -0
- package/dist/SendToFields.js.map +1 -0
- package/dist/SessionEnvironment.js +431 -0
- package/dist/SessionEnvironment.js.map +1 -0
- package/dist/Settings.js +250 -0
- package/dist/Settings.js.map +1 -0
- package/dist/ShareRecordingPane.js +216 -0
- package/dist/ShareRecordingPane.js.map +1 -0
- package/dist/ShareViaEmail.js +416 -0
- package/dist/ShareViaEmail.js.map +1 -0
- package/dist/ShareViaLink.js +1556 -0
- package/dist/ShareViaLink.js.map +1 -0
- package/dist/Sidebar.js +294 -0
- package/dist/Sidebar.js.map +1 -0
- package/dist/StatusDropdown.js +109 -0
- package/dist/StatusDropdown.js.map +1 -0
- package/dist/StickyRibbonsContainer.js +131 -0
- package/dist/StickyRibbonsContainer.js.map +1 -0
- package/dist/SubHeader.js +209 -0
- package/dist/SubHeader.js.map +1 -0
- package/dist/SubscriptionNotificationsContainer.js +77 -0
- package/dist/SubscriptionNotificationsContainer.js.map +1 -0
- package/dist/SuffixedInput.js +111 -0
- package/dist/SuffixedInput.js.map +1 -0
- package/dist/TableWrapper.js +27 -0
- package/dist/TableWrapper.js.map +1 -0
- package/dist/Taxonomy.js +496 -0
- package/dist/Taxonomy.js.map +1 -0
- package/dist/TimeFormat.js +14 -0
- package/dist/TimeFormat.js.map +1 -0
- package/dist/TimezoneMismatchModal.js +138 -0
- package/dist/TimezoneMismatchModal.js.map +1 -0
- package/dist/ToggleFeatureCard.js +211 -0
- package/dist/ToggleFeatureCard.js.map +1 -0
- package/dist/_commonjsHelpers-BFTU3MAI.js +8 -0
- package/dist/_commonjsHelpers-BFTU3MAI.js.map +1 -0
- package/dist/cjs/AuditLogs.js +541 -0
- package/dist/cjs/AuditLogs.js.map +1 -0
- package/dist/cjs/BoardView.js +396 -0
- package/dist/cjs/BoardView.js.map +1 -0
- package/dist/cjs/Breadcrumbs.js +48 -0
- package/dist/cjs/Breadcrumbs.js.map +1 -0
- package/dist/cjs/BrowserPreview.js +52 -0
- package/dist/cjs/BrowserPreview.js.map +1 -0
- package/dist/cjs/BrowserSupport.js +350 -0
- package/dist/cjs/BrowserSupport.js.map +1 -0
- package/dist/cjs/Builder.js +794 -0
- package/dist/cjs/Builder.js.map +1 -0
- package/dist/cjs/ButtonGroup.js +38 -0
- package/dist/cjs/ButtonGroup.js.map +1 -0
- package/dist/cjs/CalendarView.js +355 -0
- package/dist/cjs/CalendarView.js.map +1 -0
- package/dist/cjs/CardLayout.js +51 -0
- package/dist/cjs/CardLayout.js.map +1 -0
- package/dist/cjs/Chevron-wfVdaB4-.js +256 -0
- package/dist/cjs/Chevron-wfVdaB4-.js.map +1 -0
- package/dist/cjs/Codeblock.js +60 -0
- package/dist/cjs/Codeblock.js.map +1 -0
- package/dist/cjs/Columns.js +35 -0
- package/dist/cjs/Columns.js.map +1 -0
- package/dist/cjs/ConfigurePageSidebar.js +99 -0
- package/dist/cjs/ConfigurePageSidebar.js.map +1 -0
- package/dist/cjs/ConfirmationModal.js +131 -0
- package/dist/cjs/ConfirmationModal.js.map +1 -0
- package/dist/cjs/Container.js +40 -0
- package/dist/cjs/Container.js.map +1 -0
- package/dist/cjs/CopyToClipboardButton.js +84 -0
- package/dist/cjs/CopyToClipboardButton.js.map +1 -0
- package/dist/cjs/Currency.js +920 -0
- package/dist/cjs/Currency.js.map +1 -0
- package/dist/cjs/DateFormat.js +47 -0
- package/dist/cjs/DateFormat.js.map +1 -0
- package/dist/cjs/DateRangeFilter.js +180 -0
- package/dist/cjs/DateRangeFilter.js.map +1 -0
- package/dist/cjs/DeleteArchiveModal.js +100 -0
- package/dist/cjs/DeleteArchiveModal.js.map +1 -0
- package/dist/cjs/DeviceIncompatibilityMessage.js +115 -0
- package/dist/cjs/DeviceIncompatibilityMessage.js.map +1 -0
- package/dist/cjs/DocumentEditor.js +185 -0
- package/dist/cjs/DocumentEditor.js.map +1 -0
- package/dist/cjs/DownloadMobileAppCallout.js +42 -0
- package/dist/cjs/DownloadMobileAppCallout.js.map +1 -0
- package/dist/cjs/DynamicVariables.js +117 -0
- package/dist/cjs/DynamicVariables.js.map +1 -0
- package/dist/cjs/EmailForm.js +593 -0
- package/dist/cjs/EmailForm.js.map +1 -0
- package/dist/cjs/EmailPreview.js +142 -0
- package/dist/cjs/EmailPreview.js.map +1 -0
- package/dist/cjs/EmojiPicker.js +114 -0
- package/dist/cjs/EmojiPicker.js.map +1 -0
- package/dist/cjs/EmojiReactions.js +84 -0
- package/dist/cjs/EmojiReactions.js.map +1 -0
- package/dist/cjs/Engagements.js +294 -0
- package/dist/cjs/Engagements.js.map +1 -0
- package/dist/cjs/ErrorPage.js +1831 -0
- package/dist/cjs/ErrorPage.js.map +1 -0
- package/dist/cjs/FileUpload.js +598 -0
- package/dist/cjs/FileUpload.js.map +1 -0
- package/dist/cjs/FinderModal.js +282 -0
- package/dist/cjs/FinderModal.js.map +1 -0
- package/dist/cjs/FloatingActionMenu.js +875 -0
- package/dist/cjs/FloatingActionMenu.js.map +1 -0
- package/dist/cjs/GoogleFontPicker.js +583 -0
- package/dist/cjs/GoogleFontPicker.js.map +1 -0
- package/dist/cjs/Header.js +128 -0
- package/dist/cjs/Header.js.map +1 -0
- package/dist/cjs/HelpPopover.js +85 -0
- package/dist/cjs/HelpPopover.js.map +1 -0
- package/dist/cjs/IconPicker.js +1161 -0
- package/dist/cjs/IconPicker.js.map +1 -0
- package/dist/cjs/ImageWithFallback.js +51 -0
- package/dist/cjs/ImageWithFallback.js.map +1 -0
- package/dist/cjs/InlineInput.js +233 -0
- package/dist/cjs/InlineInput.js.map +1 -0
- package/dist/cjs/Insights.js +360 -0
- package/dist/cjs/Insights.js.map +1 -0
- package/dist/cjs/IntegrationCard.js +229 -0
- package/dist/cjs/IntegrationCard.js.map +1 -0
- package/dist/cjs/IpRestriction.js +3638 -0
- package/dist/cjs/IpRestriction.js.map +1 -0
- package/dist/cjs/KeyboardShortcuts.js +286 -0
- package/dist/cjs/KeyboardShortcuts.js.map +1 -0
- package/dist/cjs/LoginPage.js +205 -0
- package/dist/cjs/LoginPage.js.map +1 -0
- package/dist/cjs/MadeWith.js +43 -0
- package/dist/cjs/MadeWith.js.map +1 -0
- package/dist/cjs/MenuBar.js +1328 -0
- package/dist/cjs/MenuBar.js.map +1 -0
- package/dist/cjs/Metadata.js +220 -0
- package/dist/cjs/Metadata.js.map +1 -0
- package/dist/cjs/MobilePreviewHeader.js +27 -0
- package/dist/cjs/MobilePreviewHeader.js.map +1 -0
- package/dist/cjs/MoreDropdown.js +165 -0
- package/dist/cjs/MoreDropdown.js.map +1 -0
- package/dist/cjs/NavigationHeader.js +266 -0
- package/dist/cjs/NavigationHeader.js.map +1 -0
- package/dist/cjs/NeetoWidget.js +2888 -0
- package/dist/cjs/NeetoWidget.js.map +1 -0
- package/dist/cjs/Onboarding.js +248 -0
- package/dist/cjs/Onboarding.js.map +1 -0
- package/dist/cjs/OptionFields.js +719 -0
- package/dist/cjs/OptionFields.js.map +1 -0
- package/dist/cjs/PageLoader.js +42 -0
- package/dist/cjs/PageLoader.js.map +1 -0
- package/dist/cjs/PhoneNumber.js +80 -0
- package/dist/cjs/PhoneNumber.js.map +1 -0
- package/dist/cjs/ProductEmbed.js +886 -0
- package/dist/cjs/ProductEmbed.js.map +1 -0
- package/dist/cjs/PublishBlock.js +449 -0
- package/dist/cjs/PublishBlock.js.map +1 -0
- package/dist/cjs/PublishYourItem.js +60 -0
- package/dist/cjs/PublishYourItem.js.map +1 -0
- package/dist/cjs/Rename.js +368 -0
- package/dist/cjs/Rename.js.map +1 -0
- package/dist/cjs/ResponsiveDevicePicker.js +65 -0
- package/dist/cjs/ResponsiveDevicePicker.js.map +1 -0
- package/dist/cjs/Schedule.js +947 -0
- package/dist/cjs/Schedule.js.map +1 -0
- package/dist/cjs/Scrollable.js +44 -0
- package/dist/cjs/Scrollable.js.map +1 -0
- package/dist/cjs/Search.js +112 -0
- package/dist/cjs/Search.js.map +1 -0
- package/dist/cjs/SendToFields.js +2223 -0
- package/dist/cjs/SendToFields.js.map +1 -0
- package/dist/cjs/SessionEnvironment.js +433 -0
- package/dist/cjs/SessionEnvironment.js.map +1 -0
- package/dist/cjs/Settings.js +252 -0
- package/dist/cjs/Settings.js.map +1 -0
- package/dist/cjs/ShareRecordingPane.js +218 -0
- package/dist/cjs/ShareRecordingPane.js.map +1 -0
- package/dist/cjs/ShareViaEmail.js +437 -0
- package/dist/cjs/ShareViaEmail.js.map +1 -0
- package/dist/cjs/ShareViaLink.js +1577 -0
- package/dist/cjs/ShareViaLink.js.map +1 -0
- package/dist/cjs/Sidebar.js +315 -0
- package/dist/cjs/Sidebar.js.map +1 -0
- package/dist/cjs/StatusDropdown.js +111 -0
- package/dist/cjs/StatusDropdown.js.map +1 -0
- package/dist/cjs/StickyRibbonsContainer.js +133 -0
- package/dist/cjs/StickyRibbonsContainer.js.map +1 -0
- package/dist/cjs/SubHeader.js +211 -0
- package/dist/cjs/SubHeader.js.map +1 -0
- package/dist/cjs/SubscriptionNotificationsContainer.js +79 -0
- package/dist/cjs/SubscriptionNotificationsContainer.js.map +1 -0
- package/dist/cjs/SuffixedInput.js +113 -0
- package/dist/cjs/SuffixedInput.js.map +1 -0
- package/dist/cjs/TableWrapper.js +29 -0
- package/dist/cjs/TableWrapper.js.map +1 -0
- package/dist/cjs/Taxonomy.js +517 -0
- package/dist/cjs/Taxonomy.js.map +1 -0
- package/dist/cjs/TimeFormat.js +16 -0
- package/dist/cjs/TimeFormat.js.map +1 -0
- package/dist/cjs/TimezoneMismatchModal.js +140 -0
- package/dist/cjs/TimezoneMismatchModal.js.map +1 -0
- package/dist/cjs/ToggleFeatureCard.js +213 -0
- package/dist/cjs/ToggleFeatureCard.js.map +1 -0
- package/dist/cjs/_commonjsHelpers-BJu3ubxk.js +11 -0
- package/dist/cjs/_commonjsHelpers-BJu3ubxk.js.map +1 -0
- package/dist/cjs/index-JY2zVpnv.js +1189 -0
- package/dist/cjs/index-JY2zVpnv.js.map +1 -0
- package/dist/cjs/inject-css-vQvjPR2x.js +6 -0
- package/dist/cjs/inject-css-vQvjPR2x.js.map +1 -0
- package/dist/cjs/phone-number-BN-c0rfv.js +320 -0
- package/dist/cjs/phone-number-BN-c0rfv.js.map +1 -0
- package/dist/cjs/platform-BUcCb8Jx.js +1254 -0
- package/dist/cjs/platform-BUcCb8Jx.js.map +1 -0
- package/dist/cjs/useColumns-BP8c4PV-.js +282 -0
- package/dist/cjs/useColumns-BP8c4PV-.js.map +1 -0
- package/dist/index-DAYCJu79.js +1187 -0
- package/dist/index-DAYCJu79.js.map +1 -0
- package/dist/inject-css-DmrvuTKK.js +4 -0
- package/dist/inject-css-DmrvuTKK.js.map +1 -0
- package/dist/phone-number-CXCBroLh.js +295 -0
- package/dist/phone-number-CXCBroLh.js.map +1 -0
- package/dist/platform-F44zJ4Xh.js +1252 -0
- package/dist/platform-F44zJ4Xh.js.map +1 -0
- package/dist/styles/page-loader.css +1 -0
- package/dist/styles/page-loader.js +3 -0
- package/dist/useColumns-Db5uic1-.js +274 -0
- package/dist/useColumns-Db5uic1-.js.map +1 -0
- package/package.json +1 -1
- package/types/AuditLogs.d.ts +22 -0
- package/types/BoardView.d.ts +149 -0
- package/types/Breadcrumbs.d.ts +30 -0
- package/types/BrowserPreview.d.ts +30 -0
- package/types/BrowserSupport.d.ts +110 -0
- package/types/Builder.d.ts +99 -0
- package/types/ButtonGroup.d.ts +45 -0
- package/types/CalendarView.d.ts +98 -0
- package/types/CardLayout.d.ts +34 -0
- package/types/Codeblock.d.ts +37 -0
- package/types/Columns.d.ts +168 -0
- package/types/ConfigurePageSidebar.d.ts +45 -0
- package/types/ConfirmationModal.d.ts +65 -0
- package/types/Container.d.ts +38 -0
- package/types/CopyToClipboardButton.d.ts +28 -0
- package/types/Currency.d.ts +50 -0
- package/types/DateFormat.d.ts +15 -0
- package/types/DateRangeFilter.d.ts +56 -0
- package/types/DeleteArchiveModal.d.ts +65 -0
- package/types/DeviceIncompatibilityMessage.d.ts +19 -0
- package/types/DocumentEditor.d.ts +61 -0
- package/types/DownloadMobileAppCallout.d.ts +35 -0
- package/types/DynamicVariables.d.ts +48 -0
- package/types/EmailForm.d.ts +165 -0
- package/types/EmailFormProvider.d.ts +48 -0
- package/types/EmailPreview.d.ts +43 -0
- package/types/EmojiPicker.d.ts +35 -0
- package/types/EmojiReactions.d.ts +62 -0
- package/types/Engagements.d.ts +131 -0
- package/types/ErrorPage.d.ts +22 -0
- package/types/FileUpload.d.ts +89 -0
- package/types/FinderModal.d.ts +66 -0
- package/types/FloatingActionMenu.d.ts +59 -0
- package/types/GoogleFontPicker.d.ts +68 -0
- package/types/Header.d.ts +37 -0
- package/types/HelpPopover.d.ts +45 -0
- package/types/IconPicker.d.ts +45 -0
- package/types/ImageWithFallback.d.ts +24 -0
- package/types/InlineInput.d.ts +87 -0
- package/types/Insights.d.ts +112 -0
- package/types/IntegrationCard.d.ts +60 -0
- package/types/IpRestriction.d.ts +25 -0
- package/types/KeyboardShortcuts.d.ts +149 -0
- package/types/LoginPage.d.ts +45 -0
- package/types/MadeWith.d.ts +18 -0
- package/types/MenuBar.d.ts +127 -0
- package/types/Metadata.d.ts +109 -0
- package/types/MobilePreviewHeader.d.ts +19 -0
- package/types/MoreDropdown.d.ts +52 -0
- package/types/NavigationHeader.d.ts +180 -0
- package/types/NeetoWidget.d.ts +43 -0
- package/types/Onboarding.d.ts +70 -0
- package/types/OptionFields.d.ts +70 -0
- package/types/PageLoader.d.ts +40 -0
- package/types/PhoneNumber.d.ts +112 -0
- package/types/ProductEmbed.d.ts +93 -0
- package/types/PublishBlock.d.ts +148 -0
- package/types/Rename.d.ts +73 -0
- package/types/ResponsiveDevicePicker.d.ts +32 -0
- package/types/Schedule.d.ts +146 -0
- package/types/Scrollable.d.ts +30 -0
- package/types/Search.d.ts +22 -0
- package/types/SendToFields.d.ts +67 -0
- package/types/SessionEnvironment.d.ts +170 -0
- package/types/Settings.d.ts +108 -0
- package/types/ShareRecordingPane.d.ts +85 -0
- package/types/ShareViaEmail.d.ts +99 -0
- package/types/ShareViaLink.d.ts +183 -0
- package/types/Sidebar.d.ts +51 -0
- package/types/StatusDropdown.d.ts +74 -0
- package/types/StickyRibbonsContainer.d.ts +28 -0
- package/types/SubHeader.d.ts +105 -0
- package/types/SubscriptionNotificationsContainer.d.ts +26 -0
- package/types/SuffixedInput.d.ts +45 -0
- package/types/TableWrapper.d.ts +40 -0
- package/types/Taxonomy.d.ts +59 -0
- package/types/TimeFormat.d.ts +13 -0
- package/types/TimezoneMismatchModal.d.ts +41 -0
- package/types/ToggleFeatureCard.d.ts +38 -0
|
@@ -0,0 +1,539 @@
|
|
|
1
|
+
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
2
|
+
import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
|
|
3
|
+
import { useState } from 'react';
|
|
4
|
+
import { _humanize, isNotEmpty, capitalize, snakeToCamelCase, _capitalize, isPresent } from '@bigbinary/neeto-cist';
|
|
5
|
+
import { SINGULAR, DEFAULT_PAGE_SIZE, DEFAULT_PAGE_INDEX } from '@bigbinary/neeto-commons-frontend/constants';
|
|
6
|
+
import { useQueryParams } from '@bigbinary/neeto-commons-frontend/react-utils';
|
|
7
|
+
import NoData from '@bigbinary/neetoui/NoData';
|
|
8
|
+
import Table from '@bigbinary/neetoui/Table';
|
|
9
|
+
import Typography from '@bigbinary/neetoui/Typography';
|
|
10
|
+
import { Trans, useTranslation } from 'react-i18next';
|
|
11
|
+
import Container from './Container.js';
|
|
12
|
+
import Header from './Header.js';
|
|
13
|
+
import PageLoader from './PageLoader.js';
|
|
14
|
+
import SubHeader from './SubHeader.js';
|
|
15
|
+
import TableWrapper from './TableWrapper.js';
|
|
16
|
+
import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
|
|
17
|
+
import Pane from '@bigbinary/neetoui/Pane';
|
|
18
|
+
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
19
|
+
import { t } from 'i18next';
|
|
20
|
+
import { dateFormat } from '@bigbinary/neeto-commons-frontend/utils';
|
|
21
|
+
import Button from '@bigbinary/neetoui/Button';
|
|
22
|
+
import { useQuery } from '@tanstack/react-query';
|
|
23
|
+
import axios from 'axios';
|
|
24
|
+
import 'classnames';
|
|
25
|
+
import './index-DAYCJu79.js';
|
|
26
|
+
import './_commonjsHelpers-BFTU3MAI.js';
|
|
27
|
+
import './inject-css-DmrvuTKK.js';
|
|
28
|
+
import './Breadcrumbs.js';
|
|
29
|
+
import '@bigbinary/neeto-commons-frontend/utils/general';
|
|
30
|
+
import 'react-router-dom';
|
|
31
|
+
import './HelpPopover.js';
|
|
32
|
+
import '@bigbinary/neeto-icons/Help';
|
|
33
|
+
import '@bigbinary/neetoui/Popover';
|
|
34
|
+
import './MoreDropdown.js';
|
|
35
|
+
import '@bigbinary/neeto-icons/MenuHorizontal';
|
|
36
|
+
import '@bigbinary/neeto-icons/MenuVertical';
|
|
37
|
+
import '@bigbinary/neetoui/Dropdown';
|
|
38
|
+
import '@bigbinary/neetoui/Tooltip';
|
|
39
|
+
import 'ramda';
|
|
40
|
+
import './Search.js';
|
|
41
|
+
import '@bigbinary/neeto-commons-frontend/react-utils/useFuncDebounce';
|
|
42
|
+
import '@bigbinary/neeto-commons-frontend/react-utils/useQueryParams';
|
|
43
|
+
import '@bigbinary/neeto-commons-frontend/react-utils/useUpdateEffect';
|
|
44
|
+
import '@bigbinary/neeto-icons/Search';
|
|
45
|
+
import '@bigbinary/neetoui/Input';
|
|
46
|
+
import '@bigbinary/neeto-icons/Column';
|
|
47
|
+
import './useColumns-Db5uic1-.js';
|
|
48
|
+
import '@bigbinary/neetoui/Checkbox';
|
|
49
|
+
import '@bigbinary/neetoui/Label';
|
|
50
|
+
import 'zustand';
|
|
51
|
+
import 'zustand/middleware';
|
|
52
|
+
import '@bigbinary/neeto-icons/Download';
|
|
53
|
+
import '@bigbinary/neeto-filters-frontend/Filters';
|
|
54
|
+
import '@bigbinary/neeto-icons/Filter';
|
|
55
|
+
|
|
56
|
+
var LabelledDetail = function LabelledDetail(_ref) {
|
|
57
|
+
var label = _ref.label,
|
|
58
|
+
value = _ref.value;
|
|
59
|
+
return /*#__PURE__*/jsx(Typography, {
|
|
60
|
+
className: "mb-4",
|
|
61
|
+
style: "body2",
|
|
62
|
+
children: /*#__PURE__*/jsx(Trans, {
|
|
63
|
+
components: {
|
|
64
|
+
strong: /*#__PURE__*/jsx("strong", {})
|
|
65
|
+
},
|
|
66
|
+
i18nKey: "neetoMolecules.auditLogs.additionalDetails.".concat(label),
|
|
67
|
+
values: {
|
|
68
|
+
value: value
|
|
69
|
+
}
|
|
70
|
+
})
|
|
71
|
+
});
|
|
72
|
+
};
|
|
73
|
+
|
|
74
|
+
var DATE_FORMATS = {
|
|
75
|
+
"%d/%m/%Y": "DD/MM/YYYY",
|
|
76
|
+
"%m/%d/%Y": "MM/DD/YYYY",
|
|
77
|
+
"%Y/%m/%d": "YYYY/MM/DD"
|
|
78
|
+
};
|
|
79
|
+
var DETAILS_KEYS = {
|
|
80
|
+
AFFECTED_EMAIL: "affectedEmail",
|
|
81
|
+
ERROR_MESSAGE: "errorMessage",
|
|
82
|
+
NAME: "name",
|
|
83
|
+
ORGANIZATION_ROLE: "organizationRole",
|
|
84
|
+
GENERIC_DETAILS: "details",
|
|
85
|
+
ADDED_PERMISSIONS: "addedPermissions",
|
|
86
|
+
REMOVED_PERMISSIONS: "removedPermissions"
|
|
87
|
+
};
|
|
88
|
+
var EMAILS_TABLE_COLUMN_DATA = [{
|
|
89
|
+
title: t("neetoMolecules.auditLogs.details.emails.title"),
|
|
90
|
+
key: "email",
|
|
91
|
+
dataIndex: "email"
|
|
92
|
+
}];
|
|
93
|
+
var CHANGELOG_COLUMN_DATA = [{
|
|
94
|
+
title: t("neetoMolecules.auditLogs.details.changelog.field"),
|
|
95
|
+
key: "field",
|
|
96
|
+
dataIndex: "field",
|
|
97
|
+
ellipsis: false
|
|
98
|
+
}, {
|
|
99
|
+
title: t("neetoMolecules.auditLogs.details.changelog.from"),
|
|
100
|
+
key: "from",
|
|
101
|
+
dataIndex: "from",
|
|
102
|
+
width: "38%",
|
|
103
|
+
ellipsis: false
|
|
104
|
+
}, {
|
|
105
|
+
title: t("neetoMolecules.auditLogs.details.changelog.to"),
|
|
106
|
+
key: "to",
|
|
107
|
+
dataIndex: "to",
|
|
108
|
+
width: "38%",
|
|
109
|
+
ellipsis: false
|
|
110
|
+
}];
|
|
111
|
+
|
|
112
|
+
var formatToFromValue = function formatToFromValue(value) {
|
|
113
|
+
if (value === true) {
|
|
114
|
+
return t("neetoMolecules.auditLogs.details.changelog.true");
|
|
115
|
+
}
|
|
116
|
+
if (value === false) {
|
|
117
|
+
return t("neetoMolecules.auditLogs.details.changelog.false");
|
|
118
|
+
}
|
|
119
|
+
if (value === null) return "-";
|
|
120
|
+
return value;
|
|
121
|
+
};
|
|
122
|
+
var transformDateFormat = function transformDateFormat(rawDateFormat) {
|
|
123
|
+
return DATE_FORMATS[rawDateFormat];
|
|
124
|
+
};
|
|
125
|
+
var getFormattedValue = function getFormattedValue(field, value) {
|
|
126
|
+
return field === "dateFormat" ? transformDateFormat(value) : formatToFromValue(value);
|
|
127
|
+
};
|
|
128
|
+
var formatEmails = function formatEmails(emails) {
|
|
129
|
+
return emails.map(function (email) {
|
|
130
|
+
return {
|
|
131
|
+
email: email
|
|
132
|
+
};
|
|
133
|
+
});
|
|
134
|
+
};
|
|
135
|
+
var formatChangeLog = function formatChangeLog(changes) {
|
|
136
|
+
return Object.entries(changes).map(function (_ref) {
|
|
137
|
+
var _ref2 = _slicedToArray(_ref, 2),
|
|
138
|
+
field = _ref2[0],
|
|
139
|
+
_ref2$ = _ref2[1],
|
|
140
|
+
from = _ref2$.from,
|
|
141
|
+
to = _ref2$.to;
|
|
142
|
+
var formattedField = _humanize(field);
|
|
143
|
+
return {
|
|
144
|
+
field: formattedField,
|
|
145
|
+
from: getFormattedValue(field, from),
|
|
146
|
+
to: getFormattedValue(field, to)
|
|
147
|
+
};
|
|
148
|
+
});
|
|
149
|
+
};
|
|
150
|
+
var getFullName = function getFullName(firstName) {
|
|
151
|
+
var lastName = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "";
|
|
152
|
+
return "".concat(firstName, " ").concat(lastName).trim();
|
|
153
|
+
};
|
|
154
|
+
var getLabel = function getLabel(_ref3) {
|
|
155
|
+
var firstName = _ref3.firstName,
|
|
156
|
+
lastName = _ref3.lastName,
|
|
157
|
+
organizationRole = _ref3.organizationRole;
|
|
158
|
+
if (firstName || lastName) {
|
|
159
|
+
return DETAILS_KEYS.NAME;
|
|
160
|
+
}
|
|
161
|
+
if (organizationRole) {
|
|
162
|
+
return DETAILS_KEYS.ORGANIZATION_ROLE;
|
|
163
|
+
}
|
|
164
|
+
return DETAILS_KEYS.GENERIC_DETAILS;
|
|
165
|
+
};
|
|
166
|
+
var formatPermissionsChangeLog = function formatPermissionsChangeLog(_ref4) {
|
|
167
|
+
var from = _ref4.from,
|
|
168
|
+
to = _ref4.to;
|
|
169
|
+
return [{
|
|
170
|
+
field: t("neetoMolecules.auditLogs.details.permissions.description"),
|
|
171
|
+
from: getFormattedValue("description", from),
|
|
172
|
+
to: getFormattedValue("description", to)
|
|
173
|
+
}];
|
|
174
|
+
};
|
|
175
|
+
var transformPermissions = function transformPermissions(permissions) {
|
|
176
|
+
return permissions.map(function (permission) {
|
|
177
|
+
var humanizedParts = permission.split(".").map(_humanize);
|
|
178
|
+
return humanizedParts.join(" - ");
|
|
179
|
+
}).join(", ");
|
|
180
|
+
};
|
|
181
|
+
|
|
182
|
+
var GenericChangelog = function GenericChangelog(_ref) {
|
|
183
|
+
var details = _ref.details;
|
|
184
|
+
var _useTranslation = useTranslation(),
|
|
185
|
+
t = _useTranslation.t;
|
|
186
|
+
var _details$email = details.email,
|
|
187
|
+
email = _details$email === void 0 ? "" : _details$email,
|
|
188
|
+
_details$changes = details.changes,
|
|
189
|
+
changes = _details$changes === void 0 ? {} : _details$changes,
|
|
190
|
+
_details$errorMessage = details.errorMessage,
|
|
191
|
+
errorMessage = _details$errorMessage === void 0 ? "" : _details$errorMessage,
|
|
192
|
+
status = details.status;
|
|
193
|
+
return /*#__PURE__*/jsxs("div", {
|
|
194
|
+
children: [/*#__PURE__*/jsx(LabelledDetail, {
|
|
195
|
+
label: DETAILS_KEYS.AFFECTED_EMAIL,
|
|
196
|
+
value: email
|
|
197
|
+
}), isNotEmpty(changes) && status === "success" ? /*#__PURE__*/jsx("div", {
|
|
198
|
+
className: "w-full min-w-0 max-w-full",
|
|
199
|
+
children: /*#__PURE__*/jsx(Table, {
|
|
200
|
+
columnData: CHANGELOG_COLUMN_DATA,
|
|
201
|
+
enableColumnFreeze: false,
|
|
202
|
+
enableColumnResize: false,
|
|
203
|
+
rowData: formatChangeLog(changes),
|
|
204
|
+
scroll: {
|
|
205
|
+
x: "100%"
|
|
206
|
+
}
|
|
207
|
+
})
|
|
208
|
+
}) : /*#__PURE__*/jsx(LabelledDetail, {
|
|
209
|
+
label: DETAILS_KEYS.ERROR_MESSAGE,
|
|
210
|
+
value: errorMessage || t("neetoMolecules.auditLogs.noError")
|
|
211
|
+
})]
|
|
212
|
+
});
|
|
213
|
+
};
|
|
214
|
+
|
|
215
|
+
var PermissionsChangelog = function PermissionsChangelog(_ref) {
|
|
216
|
+
var details = _ref.details;
|
|
217
|
+
var _details$description = details.description,
|
|
218
|
+
description = _details$description === void 0 ? {} : _details$description,
|
|
219
|
+
_details$organization = details.organizationRole,
|
|
220
|
+
organizationRole = _details$organization === void 0 ? "" : _details$organization,
|
|
221
|
+
_details$addedPermiss = details.addedPermissions,
|
|
222
|
+
addedPermissions = _details$addedPermiss === void 0 ? [] : _details$addedPermiss,
|
|
223
|
+
_details$removedPermi = details.removedPermissions,
|
|
224
|
+
removedPermissions = _details$removedPermi === void 0 ? [] : _details$removedPermi;
|
|
225
|
+
return /*#__PURE__*/jsxs("div", {
|
|
226
|
+
children: [/*#__PURE__*/jsx(LabelledDetail, {
|
|
227
|
+
label: DETAILS_KEYS.ORGANIZATION_ROLE,
|
|
228
|
+
value: organizationRole
|
|
229
|
+
}), isNotEmpty(addedPermissions) && /*#__PURE__*/jsx(LabelledDetail, {
|
|
230
|
+
label: DETAILS_KEYS.ADDED_PERMISSIONS,
|
|
231
|
+
value: transformPermissions(addedPermissions)
|
|
232
|
+
}), isNotEmpty(removedPermissions) && /*#__PURE__*/jsx(LabelledDetail, {
|
|
233
|
+
label: DETAILS_KEYS.REMOVED_PERMISSIONS,
|
|
234
|
+
value: transformPermissions(removedPermissions)
|
|
235
|
+
}), isNotEmpty(description) && /*#__PURE__*/jsx("div", {
|
|
236
|
+
className: "w-full min-w-0 max-w-full",
|
|
237
|
+
children: /*#__PURE__*/jsx(Table, {
|
|
238
|
+
columnData: CHANGELOG_COLUMN_DATA,
|
|
239
|
+
enableColumnFreeze: false,
|
|
240
|
+
enableColumnResize: false,
|
|
241
|
+
rowData: formatPermissionsChangeLog(description),
|
|
242
|
+
scroll: {
|
|
243
|
+
x: "100%"
|
|
244
|
+
}
|
|
245
|
+
})
|
|
246
|
+
})]
|
|
247
|
+
});
|
|
248
|
+
};
|
|
249
|
+
|
|
250
|
+
var Emails = function Emails(_ref) {
|
|
251
|
+
var details = _ref.details;
|
|
252
|
+
var _useTranslation = useTranslation(),
|
|
253
|
+
t = _useTranslation.t;
|
|
254
|
+
var _details$emails = details.emails,
|
|
255
|
+
emails = _details$emails === void 0 ? [] : _details$emails,
|
|
256
|
+
status = details.status,
|
|
257
|
+
_details$errorMessage = details.errorMessage,
|
|
258
|
+
errorMessage = _details$errorMessage === void 0 ? "" : _details$errorMessage;
|
|
259
|
+
return /*#__PURE__*/jsx(Fragment, {
|
|
260
|
+
children: isNotEmpty(emails) && status === "success" ? /*#__PURE__*/jsx("div", {
|
|
261
|
+
className: "w-full min-w-0 max-w-full",
|
|
262
|
+
children: /*#__PURE__*/jsx(Table, {
|
|
263
|
+
columns: EMAILS_TABLE_COLUMN_DATA,
|
|
264
|
+
enableColumnFreeze: false,
|
|
265
|
+
enableColumnResize: false,
|
|
266
|
+
loading: false,
|
|
267
|
+
rowData: formatEmails(emails),
|
|
268
|
+
scroll: {
|
|
269
|
+
x: "100%"
|
|
270
|
+
}
|
|
271
|
+
})
|
|
272
|
+
}) : /*#__PURE__*/jsx(LabelledDetail, {
|
|
273
|
+
label: DETAILS_KEYS.ERROR_MESSAGE,
|
|
274
|
+
value: errorMessage || t("neetoMolecules.auditLogs.noError")
|
|
275
|
+
})
|
|
276
|
+
});
|
|
277
|
+
};
|
|
278
|
+
|
|
279
|
+
var GenericDetails = function GenericDetails(_ref) {
|
|
280
|
+
var details = _ref.details;
|
|
281
|
+
var _details$firstName = details.firstName,
|
|
282
|
+
firstName = _details$firstName === void 0 ? "" : _details$firstName,
|
|
283
|
+
_details$lastName = details.lastName,
|
|
284
|
+
lastName = _details$lastName === void 0 ? "" : _details$lastName,
|
|
285
|
+
_details$organization = details.organizationRole,
|
|
286
|
+
organizationRole = _details$organization === void 0 ? "" : _details$organization;
|
|
287
|
+
var name = getFullName(firstName, lastName);
|
|
288
|
+
var label = getLabel({
|
|
289
|
+
firstName: firstName,
|
|
290
|
+
lastName: lastName,
|
|
291
|
+
organizationRole: organizationRole
|
|
292
|
+
});
|
|
293
|
+
var value = name || organizationRole || JSON.stringify(details);
|
|
294
|
+
return /*#__PURE__*/jsx(LabelledDetail, {
|
|
295
|
+
label: label,
|
|
296
|
+
value: value
|
|
297
|
+
});
|
|
298
|
+
};
|
|
299
|
+
|
|
300
|
+
var AUDIT_LOGS_QUERY_KEY = "audit-logs";
|
|
301
|
+
var ACTIONS = {
|
|
302
|
+
INVITED_USERS: "invitedUsers",
|
|
303
|
+
USER_SIGNED_UP: "userSignedUp",
|
|
304
|
+
UPDATED_USER: "updatedUser",
|
|
305
|
+
BULK_UPDATE_USERS: "bulkUpdateUsers",
|
|
306
|
+
UPDATED_USER_PROFILE: "updatedUserProfile",
|
|
307
|
+
CREATED_ROLE: "createdRole",
|
|
308
|
+
UPDATED_ROLE: "updatedRole",
|
|
309
|
+
DELETED_ROLE: "deletedRole"
|
|
310
|
+
};
|
|
311
|
+
var ADDITIONAL_DETAILS_KEYS = {
|
|
312
|
+
ACTION: "action",
|
|
313
|
+
PERFORMED_BY: "performedBy",
|
|
314
|
+
PERFORMED_AT: "performedAt",
|
|
315
|
+
PRODUCT: "product"
|
|
316
|
+
};
|
|
317
|
+
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);
|
|
318
|
+
|
|
319
|
+
var _excluded$1 = ["status"];
|
|
320
|
+
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; }
|
|
321
|
+
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), !0).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; }
|
|
322
|
+
var transformAction = function transformAction(action) {
|
|
323
|
+
return snakeToCamelCase(action.replace("audit_logs.organization.", ""));
|
|
324
|
+
};
|
|
325
|
+
var transformLogsForTable = function transformLogsForTable(logs) {
|
|
326
|
+
return logs.map(function (_ref) {
|
|
327
|
+
var id = _ref.id,
|
|
328
|
+
action = _ref.key,
|
|
329
|
+
_ref$metadata = _ref.metadata,
|
|
330
|
+
status = _ref$metadata.status,
|
|
331
|
+
restOfMetadata = _objectWithoutProperties(_ref$metadata, _excluded$1),
|
|
332
|
+
_ref$performer$name = _ref.performer.name,
|
|
333
|
+
performedBy = _ref$performer$name === void 0 ? "" : _ref$performer$name,
|
|
334
|
+
performedAt = _ref.updatedAt;
|
|
335
|
+
var transformedAction = transformAction(action);
|
|
336
|
+
var formattedPerformedAt = dateFormat.dateTime(performedAt);
|
|
337
|
+
return {
|
|
338
|
+
id: id,
|
|
339
|
+
action: transformedAction,
|
|
340
|
+
status: capitalize(status),
|
|
341
|
+
performedAt: formattedPerformedAt,
|
|
342
|
+
performedBy: performedBy,
|
|
343
|
+
additionalDetails: _objectSpread$2(_objectSpread$2({}, restOfMetadata), {}, {
|
|
344
|
+
action: transformedAction,
|
|
345
|
+
performedAt: formattedPerformedAt,
|
|
346
|
+
performedBy: performedBy,
|
|
347
|
+
status: status
|
|
348
|
+
})
|
|
349
|
+
};
|
|
350
|
+
});
|
|
351
|
+
};
|
|
352
|
+
var getColumnData = function getColumnData(handleClick) {
|
|
353
|
+
return [{
|
|
354
|
+
title: t("neetoMolecules.auditLogs.table.headers.action", SINGULAR),
|
|
355
|
+
key: "action",
|
|
356
|
+
dataIndex: "action",
|
|
357
|
+
render: function render(action, _ref2) {
|
|
358
|
+
var additionalDetails = _ref2.additionalDetails;
|
|
359
|
+
return /*#__PURE__*/jsx(Button, {
|
|
360
|
+
"data-testid": "action-link-button",
|
|
361
|
+
label: t("neetoMolecules.auditLogs.actions.".concat(action)),
|
|
362
|
+
style: "link",
|
|
363
|
+
onClick: function onClick() {
|
|
364
|
+
return handleClick(additionalDetails);
|
|
365
|
+
}
|
|
366
|
+
});
|
|
367
|
+
}
|
|
368
|
+
}, {
|
|
369
|
+
title: t("neetoMolecules.auditLogs.table.headers.status"),
|
|
370
|
+
key: "status",
|
|
371
|
+
dataIndex: "status"
|
|
372
|
+
}, {
|
|
373
|
+
title: t("neetoMolecules.auditLogs.table.headers.performedBy"),
|
|
374
|
+
key: "performedBy",
|
|
375
|
+
dataIndex: "performedBy"
|
|
376
|
+
}, {
|
|
377
|
+
title: t("neetoMolecules.auditLogs.table.headers.performedAt"),
|
|
378
|
+
key: "performedAt",
|
|
379
|
+
dataIndex: "performedAt"
|
|
380
|
+
}];
|
|
381
|
+
};
|
|
382
|
+
var getComponentForDetail = function getComponentForDetail(action) {
|
|
383
|
+
return DETAILS_COMPONENT_MAP[action] || GenericDetails;
|
|
384
|
+
};
|
|
385
|
+
|
|
386
|
+
var _excluded = ["message", "action", "performedBy", "performedAt", "via"];
|
|
387
|
+
var AdditionalDetails = function AdditionalDetails(_ref) {
|
|
388
|
+
var additionalDetails = _ref.additionalDetails,
|
|
389
|
+
isOpen = _ref.isOpen,
|
|
390
|
+
onClose = _ref.onClose;
|
|
391
|
+
var _useTranslation = useTranslation(),
|
|
392
|
+
t = _useTranslation.t;
|
|
393
|
+
var message = additionalDetails.message,
|
|
394
|
+
defaultAction = additionalDetails.action,
|
|
395
|
+
performedBy = additionalDetails.performedBy,
|
|
396
|
+
performedAt = additionalDetails.performedAt,
|
|
397
|
+
product = additionalDetails.via,
|
|
398
|
+
details = _objectWithoutProperties(additionalDetails, _excluded);
|
|
399
|
+
var action = message || t("neetoMolecules.auditLogs.actions.".concat(defaultAction));
|
|
400
|
+
var DetailComponent = getComponentForDetail(defaultAction);
|
|
401
|
+
return /*#__PURE__*/jsxs(Pane, {
|
|
402
|
+
isOpen: isOpen,
|
|
403
|
+
onClose: onClose,
|
|
404
|
+
"data-testid": "additional-details-pane",
|
|
405
|
+
size: "large",
|
|
406
|
+
children: [/*#__PURE__*/jsx(Pane.Header, {
|
|
407
|
+
children: /*#__PURE__*/jsx(Typography, {
|
|
408
|
+
style: "h2",
|
|
409
|
+
children: t("neetoMolecules.auditLogs.additionalDetails.title")
|
|
410
|
+
})
|
|
411
|
+
}), /*#__PURE__*/jsx(Pane.Body, {
|
|
412
|
+
hasFooter: false,
|
|
413
|
+
children: /*#__PURE__*/jsxs(Fragment, {
|
|
414
|
+
children: [/*#__PURE__*/jsx(LabelledDetail, {
|
|
415
|
+
label: ADDITIONAL_DETAILS_KEYS.ACTION,
|
|
416
|
+
value: action
|
|
417
|
+
}), /*#__PURE__*/jsx(LabelledDetail, {
|
|
418
|
+
label: ADDITIONAL_DETAILS_KEYS.PERFORMED_BY,
|
|
419
|
+
value: performedBy
|
|
420
|
+
}), /*#__PURE__*/jsx(LabelledDetail, {
|
|
421
|
+
label: ADDITIONAL_DETAILS_KEYS.PERFORMED_AT,
|
|
422
|
+
value: performedAt
|
|
423
|
+
}), /*#__PURE__*/jsx(LabelledDetail, {
|
|
424
|
+
label: ADDITIONAL_DETAILS_KEYS.PRODUCT,
|
|
425
|
+
value: _capitalize(product)
|
|
426
|
+
}), /*#__PURE__*/jsx(DetailComponent, {
|
|
427
|
+
details: details
|
|
428
|
+
})]
|
|
429
|
+
})
|
|
430
|
+
})]
|
|
431
|
+
});
|
|
432
|
+
};
|
|
433
|
+
|
|
434
|
+
var fetchAuditLogs = function fetchAuditLogs(params) {
|
|
435
|
+
return axios.get("api/v1/audit_logs", {
|
|
436
|
+
params: params
|
|
437
|
+
});
|
|
438
|
+
};
|
|
439
|
+
var auditLogsApi = {
|
|
440
|
+
fetchAuditLogs: fetchAuditLogs
|
|
441
|
+
};
|
|
442
|
+
|
|
443
|
+
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; }
|
|
444
|
+
function _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$1(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
445
|
+
var useFetchAuditLogs = function useFetchAuditLogs(_ref) {
|
|
446
|
+
var params = _ref.params,
|
|
447
|
+
_ref$options = _ref.options,
|
|
448
|
+
options = _ref$options === void 0 ? {} : _ref$options;
|
|
449
|
+
return useQuery(_objectSpread$1({
|
|
450
|
+
queryKey: [AUDIT_LOGS_QUERY_KEY, params],
|
|
451
|
+
queryFn: function queryFn() {
|
|
452
|
+
return auditLogsApi.fetchAuditLogs(params);
|
|
453
|
+
}
|
|
454
|
+
}, options));
|
|
455
|
+
};
|
|
456
|
+
|
|
457
|
+
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; }
|
|
458
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).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; }
|
|
459
|
+
var AuditLogs = function AuditLogs(_ref) {
|
|
460
|
+
var headerProps = _ref.headerProps;
|
|
461
|
+
var _useState = useState(false),
|
|
462
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
463
|
+
isAdditionalDetailsPaneOpen = _useState2[0],
|
|
464
|
+
setIsAdditionalDetailsPaneOpen = _useState2[1];
|
|
465
|
+
var _useState3 = useState({}),
|
|
466
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
467
|
+
additionalDetails = _useState4[0],
|
|
468
|
+
setAdditionalDetails = _useState4[1];
|
|
469
|
+
var _useTranslation = useTranslation(),
|
|
470
|
+
t = _useTranslation.t;
|
|
471
|
+
var _useQueryParams = useQueryParams(),
|
|
472
|
+
_useQueryParams$page = _useQueryParams.page,
|
|
473
|
+
page = _useQueryParams$page === void 0 ? DEFAULT_PAGE_INDEX : _useQueryParams$page;
|
|
474
|
+
var _useFetchAuditLogs = useFetchAuditLogs({
|
|
475
|
+
params: {
|
|
476
|
+
page: page
|
|
477
|
+
}
|
|
478
|
+
}),
|
|
479
|
+
_useFetchAuditLogs$da = _useFetchAuditLogs.data,
|
|
480
|
+
_useFetchAuditLogs$da2 = _useFetchAuditLogs$da === void 0 ? {} : _useFetchAuditLogs$da,
|
|
481
|
+
_useFetchAuditLogs$da3 = _useFetchAuditLogs$da2.auditLogs,
|
|
482
|
+
auditLogs = _useFetchAuditLogs$da3 === void 0 ? [] : _useFetchAuditLogs$da3,
|
|
483
|
+
_useFetchAuditLogs$da4 = _useFetchAuditLogs$da2.totalCount,
|
|
484
|
+
totalCount = _useFetchAuditLogs$da4 === void 0 ? 0 : _useFetchAuditLogs$da4,
|
|
485
|
+
isLoading = _useFetchAuditLogs.isLoading,
|
|
486
|
+
isFetching = _useFetchAuditLogs.isFetching;
|
|
487
|
+
var handleClick = function handleClick(additionalDetails) {
|
|
488
|
+
setIsAdditionalDetailsPaneOpen(true);
|
|
489
|
+
setAdditionalDetails(additionalDetails);
|
|
490
|
+
};
|
|
491
|
+
var handleClose = function handleClose() {
|
|
492
|
+
setIsAdditionalDetailsPaneOpen(false);
|
|
493
|
+
setAdditionalDetails({});
|
|
494
|
+
};
|
|
495
|
+
if (isLoading) {
|
|
496
|
+
return /*#__PURE__*/jsx("div", {
|
|
497
|
+
className: "flex h-full w-full items-center justify-center",
|
|
498
|
+
children: /*#__PURE__*/jsx(PageLoader, {})
|
|
499
|
+
});
|
|
500
|
+
}
|
|
501
|
+
return /*#__PURE__*/jsxs(Container, {
|
|
502
|
+
children: [/*#__PURE__*/jsx(Header, _objectSpread({
|
|
503
|
+
title: t("neetoMolecules.auditLogs.title")
|
|
504
|
+
}, headerProps)), /*#__PURE__*/jsx(SubHeader, {
|
|
505
|
+
leftActionBlock: isPresent(auditLogs) && /*#__PURE__*/jsx(Typography, {
|
|
506
|
+
weight: "semibold",
|
|
507
|
+
children: t("neetoMolecules.auditLogs.logsCount", {
|
|
508
|
+
count: totalCount
|
|
509
|
+
})
|
|
510
|
+
})
|
|
511
|
+
}), /*#__PURE__*/jsx(TableWrapper, {
|
|
512
|
+
className: "mt-5",
|
|
513
|
+
hasPagination: totalCount > DEFAULT_PAGE_SIZE,
|
|
514
|
+
children: isPresent(auditLogs) ? /*#__PURE__*/jsx(Table, {
|
|
515
|
+
totalCount: totalCount,
|
|
516
|
+
fixedHeight: true,
|
|
517
|
+
columnData: getColumnData(handleClick),
|
|
518
|
+
currentPageNumber: parseInt(page),
|
|
519
|
+
"data-testid": "audit-logs-table",
|
|
520
|
+
defaultPageSize: DEFAULT_PAGE_SIZE,
|
|
521
|
+
enableColumnFreeze: false,
|
|
522
|
+
loading: isFetching,
|
|
523
|
+
rowData: transformLogsForTable(auditLogs)
|
|
524
|
+
}) : /*#__PURE__*/jsx("div", {
|
|
525
|
+
className: "flex h-full w-full items-center justify-center",
|
|
526
|
+
children: /*#__PURE__*/jsx(NoData, {
|
|
527
|
+
title: t("neetoMolecules.auditLogs.noData")
|
|
528
|
+
})
|
|
529
|
+
})
|
|
530
|
+
}), /*#__PURE__*/jsx(AdditionalDetails, {
|
|
531
|
+
additionalDetails: additionalDetails,
|
|
532
|
+
isOpen: isAdditionalDetailsPaneOpen,
|
|
533
|
+
onClose: handleClose
|
|
534
|
+
})]
|
|
535
|
+
});
|
|
536
|
+
};
|
|
537
|
+
|
|
538
|
+
export { AuditLogs as default };
|
|
539
|
+
//# sourceMappingURL=AuditLogs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AuditLogs.js","sources":["../src/components/AuditLogs/LabelledDetail.jsx","../src/components/AuditLogs/Details/constants.js","../src/components/AuditLogs/Details/utils.js","../src/components/AuditLogs/Details/Changelog/Generic.jsx","../src/components/AuditLogs/Details/Changelog/Permissions.jsx","../src/components/AuditLogs/Details/Emails.jsx","../src/components/AuditLogs/Details/Generic.jsx","../src/components/AuditLogs/constants.js","../src/components/AuditLogs/utils.jsx","../src/components/AuditLogs/AddtionalDetails.jsx","../src/components/AuditLogs/api.js","../src/components/AuditLogs/useAuditLogsApi.js","../src/components/AuditLogs/index.jsx"],"sourcesContent":["import { Typography } from \"neetoui\";\nimport { Trans } from \"react-i18next\";\n\nconst LabelledDetail = ({ label, value }) => (\n <Typography className=\"mb-4\" style=\"body2\">\n <Trans\n components={{ strong: <strong /> }}\n i18nKey={`neetoMolecules.auditLogs.additionalDetails.${label}`}\n values={{ value }}\n />\n </Typography>\n);\n\nexport default LabelledDetail;\n","import { t } from \"i18next\";\n\nexport const DATE_FORMATS = {\n \"%d/%m/%Y\": \"DD/MM/YYYY\",\n \"%m/%d/%Y\": \"MM/DD/YYYY\",\n \"%Y/%m/%d\": \"YYYY/MM/DD\",\n};\n\nexport const DETAILS_KEYS = {\n AFFECTED_EMAIL: \"affectedEmail\",\n ERROR_MESSAGE: \"errorMessage\",\n NAME: \"name\",\n ORGANIZATION_ROLE: \"organizationRole\",\n GENERIC_DETAILS: \"details\",\n ADDED_PERMISSIONS: \"addedPermissions\",\n REMOVED_PERMISSIONS: \"removedPermissions\",\n};\n\nexport const EMAILS_TABLE_COLUMN_DATA = [\n {\n title: t(\"neetoMolecules.auditLogs.details.emails.title\"),\n key: \"email\",\n dataIndex: \"email\",\n },\n];\n\nexport const CHANGELOG_COLUMN_DATA = [\n {\n title: t(\"neetoMolecules.auditLogs.details.changelog.field\"),\n key: \"field\",\n dataIndex: \"field\",\n ellipsis: false,\n },\n {\n title: t(\"neetoMolecules.auditLogs.details.changelog.from\"),\n key: \"from\",\n dataIndex: \"from\",\n width: \"38%\",\n ellipsis: false,\n },\n {\n title: t(\"neetoMolecules.auditLogs.details.changelog.to\"),\n key: \"to\",\n dataIndex: \"to\",\n width: \"38%\",\n ellipsis: false,\n },\n];\n","import { t } from \"i18next\";\nimport { _humanize } from \"neetocist\";\n\nimport { DATE_FORMATS, DETAILS_KEYS } from \"./constants\";\n\nconst formatToFromValue = value => {\n if (value === true) {\n return t(\"neetoMolecules.auditLogs.details.changelog.true\");\n }\n\n if (value === false) {\n return t(\"neetoMolecules.auditLogs.details.changelog.false\");\n }\n\n if (value === null) return \"-\";\n\n return value;\n};\n\nconst transformDateFormat = rawDateFormat => DATE_FORMATS[rawDateFormat];\n\nconst getFormattedValue = (field, value) =>\n field === \"dateFormat\"\n ? transformDateFormat(value)\n : formatToFromValue(value);\n\nexport const formatEmails = emails => emails.map(email => ({ email }));\n\nexport const formatChangeLog = changes =>\n Object.entries(changes).map(([field, { from, to }]) => {\n const formattedField = _humanize(field);\n\n return {\n field: formattedField,\n from: getFormattedValue(field, from),\n to: getFormattedValue(field, to),\n };\n });\n\nexport const getFullName = (firstName, lastName = \"\") =>\n `${firstName} ${lastName}`.trim();\n\nexport const getLabel = ({ firstName, lastName, organizationRole }) => {\n if (firstName || lastName) {\n return DETAILS_KEYS.NAME;\n }\n\n if (organizationRole) {\n return DETAILS_KEYS.ORGANIZATION_ROLE;\n }\n\n return DETAILS_KEYS.GENERIC_DETAILS;\n};\n\nexport const formatPermissionsChangeLog = ({ from, to }) => [\n {\n field: t(\"neetoMolecules.auditLogs.details.permissions.description\"),\n from: getFormattedValue(\"description\", from),\n to: getFormattedValue(\"description\", to),\n },\n];\n\nexport const transformPermissions = permissions =>\n permissions\n .map(permission => {\n const humanizedParts = permission.split(\".\").map(_humanize);\n\n return humanizedParts.join(\" - \");\n })\n .join(\", \");\n","import { isNotEmpty } from \"neetocist\";\nimport { Table } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport LabelledDetail from \"components/AuditLogs/LabelledDetail\";\n\nimport { CHANGELOG_COLUMN_DATA, DETAILS_KEYS } from \"../constants\";\nimport { formatChangeLog } from \"../utils\";\n\nconst GenericChangelog = ({ details }) => {\n const { t } = useTranslation();\n\n const { email = \"\", changes = {}, errorMessage = \"\", status } = details;\n\n return (\n <div>\n <LabelledDetail label={DETAILS_KEYS.AFFECTED_EMAIL} value={email} />\n {isNotEmpty(changes) && status === \"success\" ? (\n <div className=\"w-full min-w-0 max-w-full\">\n <Table\n columnData={CHANGELOG_COLUMN_DATA}\n enableColumnFreeze={false}\n enableColumnResize={false}\n rowData={formatChangeLog(changes)}\n scroll={{ x: \"100%\" }}\n />\n </div>\n ) : (\n <LabelledDetail\n label={DETAILS_KEYS.ERROR_MESSAGE}\n value={errorMessage || t(\"neetoMolecules.auditLogs.noError\")}\n />\n )}\n </div>\n );\n};\n\nexport default GenericChangelog;\n","import { isNotEmpty } from \"neetocist\";\nimport { Table } from \"neetoui\";\n\nimport LabelledDetail from \"components/AuditLogs/LabelledDetail\";\n\nimport { DETAILS_KEYS, CHANGELOG_COLUMN_DATA } from \"../constants\";\nimport { formatPermissionsChangeLog, transformPermissions } from \"../utils\";\n\nconst PermissionsChangelog = ({ details }) => {\n const {\n description = {},\n organizationRole = \"\",\n addedPermissions = [],\n removedPermissions = [],\n } = details;\n\n return (\n <div>\n <LabelledDetail\n label={DETAILS_KEYS.ORGANIZATION_ROLE}\n value={organizationRole}\n />\n {isNotEmpty(addedPermissions) && (\n <LabelledDetail\n label={DETAILS_KEYS.ADDED_PERMISSIONS}\n value={transformPermissions(addedPermissions)}\n />\n )}\n {isNotEmpty(removedPermissions) && (\n <LabelledDetail\n label={DETAILS_KEYS.REMOVED_PERMISSIONS}\n value={transformPermissions(removedPermissions)}\n />\n )}\n {isNotEmpty(description) && (\n <div className=\"w-full min-w-0 max-w-full\">\n <Table\n columnData={CHANGELOG_COLUMN_DATA}\n enableColumnFreeze={false}\n enableColumnResize={false}\n rowData={formatPermissionsChangeLog(description)}\n scroll={{ x: \"100%\" }}\n />\n </div>\n )}\n </div>\n );\n};\n\nexport default PermissionsChangelog;\n","import { isNotEmpty } from \"neetocist\";\nimport { Table } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { DETAILS_KEYS, EMAILS_TABLE_COLUMN_DATA } from \"./constants\";\nimport { formatEmails } from \"./utils\";\n\nimport LabelledDetail from \"../LabelledDetail\";\n\nconst Emails = ({ details }) => {\n const { t } = useTranslation();\n\n const { emails = [], status, errorMessage = \"\" } = details;\n\n return (\n <>\n {isNotEmpty(emails) && status === \"success\" ? (\n <div className=\"w-full min-w-0 max-w-full\">\n <Table\n columns={EMAILS_TABLE_COLUMN_DATA}\n enableColumnFreeze={false}\n enableColumnResize={false}\n loading={false}\n rowData={formatEmails(emails)}\n scroll={{ x: \"100%\" }}\n />\n </div>\n ) : (\n <LabelledDetail\n label={DETAILS_KEYS.ERROR_MESSAGE}\n value={errorMessage || t(\"neetoMolecules.auditLogs.noError\")}\n />\n )}\n </>\n );\n};\n\nexport default Emails;\n","import { getLabel, getFullName } from \"./utils\";\n\nimport LabelledDetail from \"../LabelledDetail\";\n\nconst GenericDetails = ({ details }) => {\n const { firstName = \"\", lastName = \"\", organizationRole = \"\" } = details;\n\n const name = getFullName(firstName, lastName);\n const label = getLabel({ firstName, lastName, organizationRole });\n const value = name || organizationRole || JSON.stringify(details);\n\n return <LabelledDetail {...{ label, value }} />;\n};\n\nexport default GenericDetails;\n","import GenericChangelog from \"./Details/Changelog/Generic\";\nimport PermissionsChangelog from \"./Details/Changelog/Permissions\";\nimport Emails from \"./Details/Emails\";\nimport GenericDetails from \"./Details/Generic\";\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};\n\nexport const ADDITIONAL_DETAILS_KEYS = {\n ACTION: \"action\",\n PERFORMED_BY: \"performedBy\",\n PERFORMED_AT: \"performedAt\",\n PRODUCT: \"product\",\n};\n\nexport const DETAILS_COMPONENT_MAP = {\n [ACTIONS.INVITED_USERS]: Emails,\n [ACTIONS.BULK_UPDATE_USERS]: Emails,\n [ACTIONS.USER_SIGNED_UP]: GenericDetails,\n [ACTIONS.UPDATED_USER]: GenericChangelog,\n [ACTIONS.UPDATED_USER_PROFILE]: GenericChangelog,\n [ACTIONS.CREATED_ROLE]: GenericDetails,\n [ACTIONS.UPDATED_ROLE]: PermissionsChangelog,\n [ACTIONS.DELETED_ROLE]: GenericDetails,\n};\n","import { t } from \"i18next\";\nimport { capitalize, snakeToCamelCase } from \"neetocist\";\nimport { SINGULAR } from \"neetocommons/constants\";\nimport { dateFormat } from \"neetocommons/utils\";\nimport { Button } from \"neetoui\";\n\nimport { DETAILS_COMPONENT_MAP } from \"./constants\";\nimport GenericDetails from \"./Details/Generic\";\n\nconst transformAction = action =>\n snakeToCamelCase(action.replace(\"audit_logs.organization.\", \"\"));\n\nexport const transformLogsForTable = logs =>\n logs.map(\n ({\n id,\n key: action,\n metadata: { status, ...restOfMetadata },\n performer: { name: performedBy = \"\" },\n updatedAt: performedAt,\n }) => {\n const transformedAction = transformAction(action);\n const formattedPerformedAt = dateFormat.dateTime(performedAt);\n\n return {\n id,\n action: transformedAction,\n status: capitalize(status),\n performedAt: formattedPerformedAt,\n performedBy,\n additionalDetails: {\n ...restOfMetadata,\n action: transformedAction,\n performedAt: formattedPerformedAt,\n performedBy,\n status,\n },\n };\n }\n );\n\nexport const getColumnData = handleClick => [\n {\n title: t(\"neetoMolecules.auditLogs.table.headers.action\", SINGULAR),\n key: \"action\",\n dataIndex: \"action\",\n render: (action, { additionalDetails }) => (\n <Button\n data-testid=\"action-link-button\"\n label={t(`neetoMolecules.auditLogs.actions.${action}`)}\n style=\"link\"\n onClick={() => handleClick(additionalDetails)}\n />\n ),\n },\n {\n title: t(\"neetoMolecules.auditLogs.table.headers.status\"),\n key: \"status\",\n dataIndex: \"status\",\n },\n {\n title: t(\"neetoMolecules.auditLogs.table.headers.performedBy\"),\n key: \"performedBy\",\n dataIndex: \"performedBy\",\n },\n {\n title: t(\"neetoMolecules.auditLogs.table.headers.performedAt\"),\n key: \"performedAt\",\n dataIndex: \"performedAt\",\n },\n];\n\nexport const getComponentForDetail = action =>\n DETAILS_COMPONENT_MAP[action] || GenericDetails;\n","import { _capitalize } from \"neetocist\";\nimport { Typography, Pane } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { ADDITIONAL_DETAILS_KEYS } from \"./constants\";\nimport LabelledDetail from \"./LabelledDetail\";\nimport { getComponentForDetail } from \"./utils\";\n\nconst AdditionalDetails = ({ additionalDetails, isOpen, onClose }) => {\n const { t } = useTranslation();\n\n const {\n message,\n action: defaultAction,\n performedBy,\n performedAt,\n via: product,\n ...details\n } = additionalDetails;\n\n const action =\n message || t(`neetoMolecules.auditLogs.actions.${defaultAction}`);\n\n const DetailComponent = getComponentForDetail(defaultAction);\n\n return (\n <Pane\n {...{ isOpen, onClose }}\n data-testid=\"additional-details-pane\"\n size=\"large\"\n >\n <Pane.Header>\n <Typography style=\"h2\">\n {t(\"neetoMolecules.auditLogs.additionalDetails.title\")}\n </Typography>\n </Pane.Header>\n <Pane.Body hasFooter={false}>\n <>\n <LabelledDetail\n label={ADDITIONAL_DETAILS_KEYS.ACTION}\n value={action}\n />\n <LabelledDetail\n label={ADDITIONAL_DETAILS_KEYS.PERFORMED_BY}\n value={performedBy}\n />\n <LabelledDetail\n label={ADDITIONAL_DETAILS_KEYS.PERFORMED_AT}\n value={performedAt}\n />\n <LabelledDetail\n label={ADDITIONAL_DETAILS_KEYS.PRODUCT}\n value={_capitalize(product)}\n />\n <DetailComponent {...{ details }} />\n </>\n </Pane.Body>\n </Pane>\n );\n};\n\nexport default AdditionalDetails;\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 { useState } from \"react\";\n\nimport { isPresent } from \"neetocist\";\nimport { DEFAULT_PAGE_INDEX, DEFAULT_PAGE_SIZE } from \"neetocommons/constants\";\nimport { useQueryParams } from \"neetocommons/react-utils\";\nimport { NoData, Table, Typography } from \"neetoui\";\nimport propTypes from \"prop-types\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Container from \"components/Container\";\nimport Header from \"components/Header\";\nimport PageLoader from \"components/PageLoader\";\nimport SubHeader from \"components/SubHeader\";\nimport TableWrapper from \"components/TableWrapper\";\n\nimport AdditionalDetails from \"./AddtionalDetails\";\nimport { useFetchAuditLogs } from \"./useAuditLogsApi\";\nimport { transformLogsForTable, getColumnData } from \"./utils\";\n\nconst AuditLogs = ({ headerProps }) => {\n const [isAdditionalDetailsPaneOpen, setIsAdditionalDetailsPaneOpen] =\n useState(false);\n const [additionalDetails, setAdditionalDetails] = useState({});\n\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 } });\n\n const handleClick = additionalDetails => {\n setIsAdditionalDetailsPaneOpen(true);\n setAdditionalDetails(additionalDetails);\n };\n\n const handleClose = () => {\n setIsAdditionalDetailsPaneOpen(false);\n setAdditionalDetails({});\n };\n\n if (isLoading) {\n return (\n <div className=\"flex h-full w-full items-center justify-center\">\n <PageLoader />\n </div>\n );\n }\n\n return (\n <Container>\n <Header title={t(\"neetoMolecules.auditLogs.title\")} {...headerProps} />\n <SubHeader\n leftActionBlock={\n isPresent(auditLogs) && (\n <Typography weight=\"semibold\">\n {t(\"neetoMolecules.auditLogs.logsCount\", { count: totalCount })}\n </Typography>\n )\n }\n />\n <TableWrapper\n className=\"mt-5\"\n hasPagination={totalCount > DEFAULT_PAGE_SIZE}\n >\n {isPresent(auditLogs) ? (\n <Table\n {...{ totalCount }}\n fixedHeight\n columnData={getColumnData(handleClick)}\n currentPageNumber={parseInt(page)}\n data-testid=\"audit-logs-table\"\n defaultPageSize={DEFAULT_PAGE_SIZE}\n enableColumnFreeze={false}\n loading={isFetching}\n rowData={transformLogsForTable(auditLogs)}\n />\n ) : (\n <div className=\"flex h-full w-full items-center justify-center\">\n <NoData title={t(\"neetoMolecules.auditLogs.noData\")} />\n </div>\n )}\n </TableWrapper>\n <AdditionalDetails\n {...{ additionalDetails }}\n isOpen={isAdditionalDetailsPaneOpen}\n onClose={handleClose}\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\nexport default AuditLogs;\n"],"names":["LabelledDetail","_ref","label","value","_jsx","Typography","className","style","children","Trans","components","strong","i18nKey","concat","values","DATE_FORMATS","DETAILS_KEYS","AFFECTED_EMAIL","ERROR_MESSAGE","NAME","ORGANIZATION_ROLE","GENERIC_DETAILS","ADDED_PERMISSIONS","REMOVED_PERMISSIONS","EMAILS_TABLE_COLUMN_DATA","title","t","key","dataIndex","CHANGELOG_COLUMN_DATA","ellipsis","width","formatToFromValue","transformDateFormat","rawDateFormat","getFormattedValue","field","formatEmails","emails","map","email","formatChangeLog","changes","Object","entries","_ref2","_slicedToArray","_ref2$","from","to","formattedField","_humanize","getFullName","firstName","lastName","arguments","length","undefined","trim","getLabel","_ref3","organizationRole","formatPermissionsChangeLog","_ref4","transformPermissions","permissions","permission","humanizedParts","split","join","GenericChangelog","details","_useTranslation","useTranslation","_details$email","_details$changes","_details$errorMessage","errorMessage","status","_jsxs","isNotEmpty","Table","columnData","enableColumnFreeze","enableColumnResize","rowData","scroll","x","PermissionsChangelog","_details$description","description","_details$organization","_details$addedPermiss","addedPermissions","_details$removedPermi","removedPermissions","Emails","_details$emails","_Fragment","columns","loading","GenericDetails","_details$firstName","_details$lastName","name","JSON","stringify","AUDIT_LOGS_QUERY_KEY","ACTIONS","INVITED_USERS","USER_SIGNED_UP","UPDATED_USER","BULK_UPDATE_USERS","UPDATED_USER_PROFILE","CREATED_ROLE","UPDATED_ROLE","DELETED_ROLE","ADDITIONAL_DETAILS_KEYS","ACTION","PERFORMED_BY","PERFORMED_AT","PRODUCT","DETAILS_COMPONENT_MAP","_defineProperty","transformAction","action","snakeToCamelCase","replace","transformLogsForTable","logs","id","_ref$metadata","metadata","restOfMetadata","_objectWithoutProperties","_excluded","_ref$performer$name","performer","performedBy","performedAt","updatedAt","transformedAction","formattedPerformedAt","dateFormat","dateTime","capitalize","additionalDetails","_objectSpread","getColumnData","handleClick","SINGULAR","render","Button","onClick","getComponentForDetail","AdditionalDetails","isOpen","onClose","message","defaultAction","product","via","DetailComponent","Pane","size","Header","Body","hasFooter","_capitalize","fetchAuditLogs","params","axios","get","auditLogsApi","useFetchAuditLogs","_ref$options","options","useQuery","queryKey","queryFn","AuditLogs","headerProps","_useState","useState","_useState2","isAdditionalDetailsPaneOpen","setIsAdditionalDetailsPaneOpen","_useState3","_useState4","setAdditionalDetails","_useQueryParams","useQueryParams","_useQueryParams$page","page","DEFAULT_PAGE_INDEX","_useFetchAuditLogs","_useFetchAuditLogs$da","data","_useFetchAuditLogs$da2","_useFetchAuditLogs$da3","auditLogs","_useFetchAuditLogs$da4","totalCount","isLoading","isFetching","handleClose","PageLoader","Container","SubHeader","leftActionBlock","isPresent","weight","count","TableWrapper","hasPagination","DEFAULT_PAGE_SIZE","fixedHeight","currentPageNumber","parseInt","defaultPageSize","NoData"],"mappings":"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"}
|