From b9cc35acd8b7a0e9581bd880f4ddc1fea395c42f Mon Sep 17 00:00:00 2001 From: Elyor Djalilov Date: Tue, 16 Jan 2024 13:39:37 +0500 Subject: [PATCH] added dialogs for row view --- .../SessionsTable/RowView/SessionsRow.js | 54 +++++++++++++++++-- 1 file changed, 49 insertions(+), 5 deletions(-) diff --git a/packages/client/src/pages/PortalSettings/categories/security/sessions/SessionsTable/RowView/SessionsRow.js b/packages/client/src/pages/PortalSettings/categories/security/sessions/SessionsTable/RowView/SessionsRow.js index e26eceae79..9f03766ffe 100644 --- a/packages/client/src/pages/PortalSettings/categories/security/sessions/SessionsTable/RowView/SessionsRow.js +++ b/packages/client/src/pages/PortalSettings/categories/security/sessions/SessionsTable/RowView/SessionsRow.js @@ -1,3 +1,4 @@ +import { inject, observer } from "mobx-react"; import { useCallback } from "react"; import { isMobile } from "react-device-detect"; import { Base } from "@docspace/shared/themes"; @@ -106,6 +107,11 @@ const SessionsRow = (props) => { onContentRowClick, element, isActive, + setLogoutDialogVisible, + setLogoutAllDialogVisible, + setDisableDialogVisible, + setSessionModalData, + isVisible, } = props; const isChecked = checkedProps.checked; @@ -118,18 +124,39 @@ const SessionsRow = (props) => { onContentRowClick && onContentRowClick(!isChecked, item, false); }, [isChecked, item, onContentRowClick]); + const onClickSessions = () => { + console.log("view sessions"); + }; + + const onClickLogout = () => { + if (isVisible) { + setLogoutAllDialogVisible(true); + } else { + setLogoutDialogVisible(true); + setSessionModalData({ + id: item.userId, + platform: item.platform, + browser: item.browser, + }); + } + }; + + const onClickDisable = () => { + setDisableDialogVisible(true); + }; + const contextOptions = [ { key: "ViewSessions", label: t("Settings:ViewSessions"), icon: HistoryFinalizedReactSvgUrl, - onClick: () => console.log("view session"), + onClick: () => onClickSessions, }, { key: "LogoutAllSessions", label: t("Settings:LogoutAllSessions"), icon: RemoveSvgUrl, - onClick: () => console.log("logout session"), + onClick: onClickLogout, }, { key: "Separator", @@ -139,7 +166,7 @@ const SessionsRow = (props) => { key: "Disable", label: t("Common:DisableUserButton"), icon: TrashReactSvgUrl, - onClick: () => console.log("disable"), + onClick: onClickDisable, }, ]; @@ -151,7 +178,7 @@ const SessionsRow = (props) => { >
{ ); }; -export default withContent(SessionsRow); +export default inject(({ setup, peopleStore }) => { + const { isVisible } = peopleStore.selectionStore; + + const { + setLogoutDialogVisible, + setLogoutAllDialogVisible, + setDisableDialogVisible, + setSessionModalData, + } = setup; + + return { + setLogoutDialogVisible, + setLogoutAllDialogVisible, + setDisableDialogVisible, + setSessionModalData, + isVisible, + }; +})(withContent(observer(SessionsRow)));